{ "cells": [ { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T15:17:03.082200Z", "start_time": "2019-08-27T15:17:03.071200Z" } }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Basics" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this example we study a typical circuit QED system consisting of a transmon qubit coupled to a resonator. The first step is to import the objects we will be needing from qucat." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T15:17:05.168200Z", "start_time": "2019-08-27T15:17:05.155200Z" } }, "outputs": [], "source": [ "from qucat import Network,GUI,L,J,C,R" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One should then create a circuit. These are named `Qcircuit`, short for \"Quantum circuit\". There are two ways of creating a `Qcircuit`: using the graphical user interface (GUI), or programmatically." ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2019-05-01T07:50:26.465400Z", "start_time": "2019-05-01T07:50:26.445400Z" } }, "source": [ "## Building the circuit programmatically\n", "\n", "This is done with circuit components created with the functions ``R``, ``L``, ``C``, ``J`` for resistors, inductors, capacitors and junctions respectively.\n", "All circuit components take as first two argument integers referring to the negative and positive node of the circuit components.\n", "The third argument is either a float giving the component a value, and/or a string which labels the component parameter to be specified later.\n", "Doing the latter avoids performing the computationally expensive initialization of the circuit multiple times when sweeping a parameter.\n", "\n", "For example, this code creates a resistor, with negative node 0, and positive node 1, with a resistance we label `R_1`, and a resistance value of 1 M$\\Omega$:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T13:14:28.413000Z", "start_time": "2019-08-27T13:14:28.410000Z" } }, "outputs": [], "source": [ "resistor = R(0,1,1e6,'R_1')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To create a `Qcircuit`, we should pass a list of such components to the `qucat` function `Network`.\n", "The following code" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T13:14:32.481000Z", "start_time": "2019-08-27T13:14:32.316000Z" } }, "outputs": [], "source": [ "cir_prog = Network([\n", "C(0,1,100e-15), # transmon\n", "J(0,1,'Lj'),\n", "C(0,2,100e-15), # resonator\n", "L(0,2,10e-9),\n", "C(1,2,1e-15), # coupling capacitor\n", "C(2,3,0.5e-15), # ext. coupl. cap.\n", "R(3,0,50)]) # 50 Ohm load" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "implements the circuit below, where we have indexed the nodes." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![alt text](graphics/basic_circuit.png \"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we have not specified a value for $L_j$, we have to specify it as a keyword in all subsequent functions. This is the most computationally efficient way to perform a parameter sweep.\n", "\n", "By default, **junctions are parametrized by their Josephson inductance** $L_j = \\phi_0^2/E_j$\n", "where $\\phi_0 = \\hbar/2e$ is the reduced flux quantum, $\\hbar$ Plancks reduced constant and $e$ the electron charge.\n", "and $E_j$ (in Joules) is the Josephson energy." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Building a circuit with the GUI" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, we can open the GUI to create the circuit through the following code:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T15:17:40.470200Z", "start_time": "2019-08-27T15:17:10.916200Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "C 1 2 C_c=1 fF\n", "C 0 1 100 fF\n", "J 0 1 Lj\n", "C 0 2 100 fF\n", "L 0 2 10 nH\n", "R 0 2 1 MOhm\n", "\n", "\n" ] } ], "source": [ "cir = GUI('circuits/basics.txt', # location of the circuit file\n", " edit=True, # open the GUI to edit the circuit\n", " plot=True, # plot the circuit after having edited it\n", " print_network=True # print the network\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All changes made to the circuit are saved automatically to the file ``circuits/basics.txt`` and when we shut down the editor, the variable ``cir`` became a ``Qcircuit`` object, from which further analysis is possible.\n", "\n", "**Note: by default the junction is parametrized by its josephson inductance**\n", "\n", "Since we have not specified a value for $L_j$, we have to specify it as a keyword in all subsequent functions. This is the most computationally efficient way to perform a parameter sweep." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Hamiltonian, and further analysis with QuTiP" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Generating a Hamiltonian" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Hamiltonian of the circuit, with the non-linearity of the Josephson junctions\n", "Taylor-expanded, is given by\n", "\n", "$\\hat{H} = \\sum_{m\\in\\text{modes}} \\hbar \\omega_m\\hat{a}_m^\\dagger\\hat{a}_m +\\sum_j\\sum_{2n\\le\\text{taylor}}E_j\\frac{(-1)^{n+1}}{(2n)!}\\left(\\frac{\\phi_{zpf,m,j}}{\\phi_0}(\\hat{a}_m^\\dagger+\\hat{a}_m)\\right)^{2n}$\n", "\n", "See our technical paper for more details: https://arxiv.org/pdf/1908.10342.pdf\n", "\n", "In its construction, we have the freedom to choose the set of ``modes`` to include, the order of the Taylor expansion of the junction potential ``taylor``, and the number of excitations of each mode to consider.\n", "\n", "The code below generates a Hamiltonian and calculates its eigenenergies" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.257000Z", "start_time": "2019-08-22T16:06:14.144000Z" } }, "outputs": [], "source": [ "# Compute hamiltonian (for h=1, so all energies are expressed in frequency units, not angular)\n", "H = cir.hamiltonian(\n", " modes = [0,1],# Include modes 0 and 1\n", " taylor = 4,# Taylor the Josephson potential to the power 4\n", " excitations = [8,10],# Consider 8 excitations in mode 0, 10 for mode 1\n", " Lj = 8e-9)# set any component values that were not fixed when building the circuit\n", "\n", "# QuTiP method which return the eigenergies of the system\n", "ee = H.eigenenergies()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first transition of the system is" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.286000Z", "start_time": "2019-08-22T16:06:18.269000Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5.006 GHz\n" ] } ], "source": [ "first_transition = ee[1]-ee[0] # in units of Hertz\n", "# print this frequency in GHz units\n", "print(\"%.3f GHz\"%((first_transition)/1e9))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Open-system dynamics" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2019-05-01T09:38:44.231400Z", "start_time": "2019-05-01T09:38:44.220400Z" } }, "source": [ "A more elaborate use of QuTiP would be to compute the dynamics (for example with qutip.mesolve). The Hamiltonian `H` and collapse operators `c_ops` that one should use are generated with the code below:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.386000Z", "start_time": "2019-08-22T16:06:18.311000Z" } }, "outputs": [], "source": [ "# H is the Hamiltonian\n", "H,a_m_list = cir.hamiltonian(modes = [0,1],taylor = 4,excitations = [5,5], Lj = 8e-9, \n", " return_ops = True) # with this, we return the annihilation operators of \n", " # the different modes in addition to the Hamiltonian\n", " \n", "# The Hamiltonian should be in angular frequencies for time-dependant simulations\n", "H = 2.*np.pi*H\n", "\n", "k = cir.loss_rates(Lj = 8e-9) # Calculate loss rates of the different modes\n", "\n", "# c_ops are the collapse operators \n", "# which should be in angular frequencies for time-dependant simulations\n", "c_ops = [np.sqrt(2*np.pi*k[0])*a_m_list[0],np.sqrt(2*np.pi*k[1])*a_m_list[1]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calculating eigenfrequencies, loss-rates, anharmonicities and cross-Kerr couplings" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2019-05-01T08:03:15.316400Z", "start_time": "2019-05-01T08:03:15.302400Z" } }, "source": [ "QuCAT can also return the parameters of the (already diagonal) Hamiltonian in first-order perturbation theory\n", "\n", "$\\hat{H} = \\sum_m\\sum_{n\\ne m} (\\hbar\\omega_m-A_m-\\frac{\\chi_{mn}}{2})\\hat{a}_m^\\dagger\\hat{a}_m \n", "-\\frac{A_m}{2}\\hat{a}_m^\\dagger\\hat{a}_m^\\dagger\\hat{a}_m\\hat{a}_m -\\chi_{mn}\\hat{a}_m^\\dagger\\hat{a}_m\\hat{a}_n^\\dagger\\hat{a}_n$\n", "\n", "valid for weak anharmonicity $\\chi_{mn},A_m\\ll \\omega_m$.\n", "\n", "Here \n", "\n", " * $\\omega_m$ are the frequencies of the normal modes of the circuit where all junctions have been replaced with inductors characterized by their Josephson inductance\n", " \n", " * $A_m$ is the anharmonicity of mode $m$, the difference in frequency of the first two transitions of the mode\n", " \n", " * $\\chi_{mn}$ is the shift in mode $m$ that incurs if an excitation is created in mode $n$ \n", "\n", "See our technical paper for more details: https://arxiv.org/pdf/1908.10342.pdf\n", "\n", "These parameters, together with the loss rate of the modes, are calculated with the functions ``eigenfrequencies``, ``loss_rates``, ``anharmonicities`` and ``kerr``, which return the specified quantities for each mode **in units of Hertz**, **ordered with increasing mode frequency**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Eigen-frequencies" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.429000Z", "start_time": "2019-08-22T16:06:18.402000Z" } }, "outputs": [ { "data": { "text/plain": [ "array([5.00696407e+09, 5.60042136e+09])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cir.eigenfrequencies(Lj=8e-9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This will return a list of the normal modes of the circuit, we can see they are seperated in frequency by 600 MHz, but we still do not which corresponds to the transmon, and which to the resonator.\n", "\n", "To distinquish the two, we can calculate the anharmonicities of each mode." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Anharmonicity" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.468000Z", "start_time": "2019-08-22T16:06:18.441000Z" } }, "outputs": [ { "data": { "text/plain": [ "array([5.82660683e+02, 1.91131054e+08])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cir.anharmonicities(Lj=8e-9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first (lowest frequency) mode, has a very small anharmonicity, whilst the second, has an anharmonicity of 191 MHz. The highest frequency mode thus corresponds to the transmon." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Cross-Kerr or dispersive shift" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this regime of far detuning in frequency, the two modes will interact through a cross-Kerr or dispersive shift, which quantifies the amount by which one mode will shift if frequency if the other is populated with an excitation.\n", "\n", "We can access this by calculating the Kerr parameters ``K``. In this two dimensional array, the components ``K[i,j]`` correspond to the cross-Kerr interaction of mode ``i`` with mode ``j``. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.502000Z", "start_time": "2019-08-22T16:06:18.476000Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "667.43 kHz\n" ] } ], "source": [ "K = cir.kerr(Lj=8e-9)\n", "print(\"%.2f kHz\"%(K[0,1]/1e3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the above, we have found that the cross-Kerr interaction between these two modes is of about 667 kHz.\n", "\n", "This should correspond to $2\\sqrt{A_0A_1}$ where $A_i$ is the anharmonicity of mode $i$. Let's check that:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.532000Z", "start_time": "2019-08-22T16:06:18.508000Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "667.43 kHz\n" ] } ], "source": [ "A = cir.anharmonicities(Lj=8e-9)\n", "print(\"%.2f kHz\"%(2*np.sqrt(A[0]*A[1])/1e3))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Loss rates" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the studied circuit, the only resistor is located in the resonator. We would thus expect the resonator to be more lossy than the transmon." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.571000Z", "start_time": "2019-08-22T16:06:18.538000Z" } }, "outputs": [ { "data": { "text/plain": [ "array([1572104.84520218, 3841.15992345])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cir.loss_rates(Lj=8e-9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All these quantities are always ordered with increasing mode frequency, so the second element of the array corresponds to the loss rate of the transmon mode." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### $T_1$ times" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When converting these rates to $T_1$ times, one should not forget the $2\\pi$ in the conversion" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:18.608000Z", "start_time": "2019-08-22T16:06:18.589000Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1.0123685e-07 4.1434084e-05]\n" ] } ], "source": [ "T_1 = 1/cir.loss_rates(Lj=8e-9)/2/np.pi\n", "print(T_1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "All these relevant parameters (frequency, dissipation, anharmonicity and Kerr parameters) can be returned in this order using a single function" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:54.254000Z", "start_time": "2019-08-22T16:06:54.214000Z" }, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "(array([5.00696407e+09, 5.60042136e+09]),\n", " array([1572104.84520218, 3841.15992345]),\n", " array([5.82660683e+02, 1.91131054e+08]),\n", " array([[5.82660683e+02, 6.67426551e+05],\n", " [6.67426551e+05, 1.91131054e+08]]))" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cir.f_k_A_chi(Lj = 8e-9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Using the option ``pretty_print = True`` a more readable summary can be printed" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:06:57.643000Z", "start_time": "2019-08-22T16:06:57.593000Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " mode | freq. | diss. | anha. |\n", " 0 | 5.01 GHz | 1.57 MHz | 583 Hz |\n", " 1 | 5.6 GHz | 3.84 kHz | 191 MHz |\n", "\n", "Kerr coefficients (diagonal = Kerr, off-diagonal = cross-Kerr)\n", " mode | 0 | 1 |\n", " 0 | 583 Hz | |\n", " 1 | 667 kHz | 191 MHz |\n", "\n" ] } ], "source": [ "f,k,A,chi = cir.f_k_A_chi(pretty_print=True,Lj = 8e-9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Sweeping a parameter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The most computationally expensive part of the \n", "analysis is performed upon initializing the circuit. To avoid doing this, \n", "we can enter a symbolic value for a component.\n", " \n", "In this example, we have provided a label ``Lj`` for the Josephson inductance. \n", "Its value has been passed\n", "as a keyword argument all function calls (``Lj=8e-9``)\n", "but we can also specify an array of values as done below." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:07:02.576000Z", "start_time": "2019-08-22T16:07:01.330000Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Anaconda3\\lib\\site-packages\\numpy\\core\\numeric.py:538: ComplexWarning: Casting complex values to real discards the imaginary part\n", " return array(a, dtype, copy=False, order=order)\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# array of values for the josephson inductance\n", "Lj_list = np.linspace(8e-9,12e-9,101)\n", "\n", "# Eigen-frequencies of the system:\n", "freqs = cir.eigenfrequencies(Lj=Lj_list)\n", "\n", "# plot first mode\n", "plt.plot(Lj_list*1e9,freqs[0]/1e9) \n", "\n", "# plot second mode\n", "plt.plot(Lj_list*1e9,freqs[1]/1e9)\n", "\n", "# Add labels\n", "plt.xlabel('L_J (nH)')\n", "plt.ylabel('Normal mode frequency (GHz)')\n", "\n", "# show the figure\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualizing a normal mode" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2019-08-22T15:39:37.981000Z", "start_time": "2019-08-22T15:39:37.952000Z" } }, "source": [ "A better physical understanding of the circuit can be obtained by visualizing the flow \n", "of current through the circuit components for a given normal mode.\n", "\n", "This is done through the `show_normal_mode` function as shown below." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:07:04.092000Z", "start_time": "2019-08-22T16:07:02.582000Z" } }, "outputs": [ { "data": { "image/png": "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REQKUAAtIiIiIlKAAmgRERERkQIUQIuIiIiIFKAAWkRERESkAAXQIiIiIiIFKIAWERERESlAAbSIiIiISAEKoEVEREREClAALSIiIiJSgAJoEREREZECFECLiIiIiBSgAFpEREREpAAF0CIiIiIiBViMsddlkHEghDDqLqQsy6zXZRCRiUffhyLjnwJoEREREZECVIVDRERERKQABdAiIiIiIgUogBYRERERKUABtIiIiIhIAQqgRUREREQKUAAtIiIiIlLAAr0ugEwMw9Uuqto2FZGxRt+HImOf2oEWERERESlAVThERERERApQAC0iIiIiUoACaBERERGRAhRAi4iIiIgUoABaRERERKQANWMnPddfk05qmklEJgp9H4qMDWrGTkRERESkAFXhEBEREREpQAG0iIiIiEgBCqBFRERERApQAC0iIiIiUoACaBERERGRAhRAiy1hThYAAAXuSURBVIiIiIgUoABaRERERKQABdAiIiIiIgUogBYRERERKUABtIiIiIhIAQqgRUREREQKUAAtIiIiIlKAAmgRERERkQIUQIuIiIiIFKAAWkRERESkAAXQIiIiIiIFKIAWERERESlAAbSIiIiISAEKoEVEREREClAALSIiIiJSgAJoEREREZECFECLiIiIiBSgAFpEREREpAAF0CIiIiIiBSiAFhEREREpQAG0iIiIiEgBCqBFRERERApQAC0iIiIiUoACaBERERGRAhRAi4iIiIgUoABaRERERKQABdAiIiIiIgUogBYRERERKUABtIiIiIhIAQqgRUREREQKUAAtIiIiIlKAAmgRERERkQIUQIuIiIiIFKAAWkRERESkAAXQIiIiIiIFKIAWERERESlg3AfQZjbVzKa2mRZHqAwLmdkdZvaW9P6XZnZwbvqWZnaPmT1vZieZ2UK55e4yszeNRDlFREREpH/jPoDOM7PpZrZVDzb9ZeCyGONjADHGvWKMR6QyvQE4C9gbWBZ4G/CdNN8s4CTg2z0os4iIiIi0MKEC6B7aE/hNm2kfB26NMV4QY3wRmArsYWaNc3Ma8LlGVlpEREREeksBdI6ZfcHM7jSzZ8zs72a2Uhr/XjN70sxCev8OM3vWzNZI76eb2YGpmsYzZnaymS2cpq0IrAxcndtOzcyq6e1GwL9zxbgWCHg2mhjjDOAZYONh3XkRERER6YoC6MTMPgwcBHwEeCNwOfB7gBjjFcCvgFPMbBKeTa7EGO/KreJTwAfxYHk1oJLGvx24P8b4aptNvwV4qPEmZaGfSuMb7gTeMZj9ExEREZGhoQC6z57AUTHGO1Ow+z1gvUYWGq9asThwDfAI8Ium5Y+NMWYxxqeBI4Hd0/glgBf62faPU0b7WTN7FliqafoLaT0iIiIi0mMKoPusBByTC2KfBgxYHiDGOBuoAesAP44xNrfgkeVePwgsl14/AyzWYbuPAt+JMS7RGIDn0viGxYBnB7RXIiIiIjKkFED3yYA984FsjHFSqr6BmS0PHAqcjGeMmx/qC7nXK+JZaoBbgLeZ2QJttns1sErjTWqy7nnmDqDXBG4e4H6JiIiIyBBSAP3/7d2xq81hHMfxz7NQFsVgsVnEwsLEwoAyWpRyY1N2dYQY+A8Y6BgIi0kigw2TlE3JJkbjWR7DObjh3jz3Hs7jnterbt16zu/+ntNd3j19z+/8cD3JuVLKziQppWwspRyb/F4yPn2+meRUxnF7+afrz5RStpZSNmU8S30/+f4hwHdJ9ixx3wdJjpZS9pRSNiS5muTWtxPuSbhvSvJyWm8UAICVE9ATtdaHSa4luVdK+ZLkbZLDk+WzSbYkOT8J24UkC6WUfYv+xN0kT5O8n/xcWbR2I8mJJe77JcnpJHeSfMp4bOTqopccT3J78kxoAABmrPw6yru2fPsWwlrrxd+s1VprmcI9PiQ5XWt9tsT6+iSvkxyotX783WuWue5Nkv211s+r3ScAAKu31FwuUzQ5Pd6xwuu2T39HAACs1DwE9PNl1i79q00AALA2rPkRDgAAmCYfIgQAgAYCGgAAGgjoDgyGo92D4WjVTwMBAODvE9B9uJXkxWA4OiSkAQD6JqD7sTfJ4whpAICuCej+CGkAgI7N9WPsBsPR5iS7kmyb8VZuLLP2KsnFJE+unFw3v/8sAIBOzHtAH0nyaNb7+ENCGgCgA0Y4/i/CGQBgxubhq7yX8yrJwfQ/wnEhyVMnzwAAszfXIxy9GAxHrzOexV5MOAMAdGjeT6B7JJwBADomoPshnAEA/gMCug8LSd4IZwCA/pmBBgCABh5jBwAADQQ0AAA0ENAAANBAQAMAQAMBDQAADQQ0AAA0ENAAANBAQAMAQAMBDQAADQQ0AAA0ENAAANBAQAMAQAMBDQAADQQ0AAA0ENAAANBAQAMAQAMBDQAADQQ0AAA0ENAAANBAQAMAQAMBDQAADQQ0AAA0ENAAANBAQAMAQAMBDQAADQQ0AAA0ENAAANBAQAMAQIOvSgoHU4eBERAAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "cir.show_normal_mode(mode=0,quantity='current', Lj = 10e-9)\n", "cir.show_normal_mode(mode=1,quantity='current', Lj = 10e-9)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The annotation corresponds to the complex amplitude, or phasor, of current across the component, if the mode was populated with a single photon amplitude coherent state.\n", "The absolute value of this annotation thus corresponds to the contribution of a mode to the zero-point fluctuations of the given quantity across the component.\n", "The direction of the arrows indicates what direction we take for 0 phase for that component." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see above that the symmetry on each side of the coupling capacitor is changing between the modes, the above is called the anti-symmetric mode, with a voltage build-up on either side of the coupling capacitor leading to a larger current going through it. Mode 1 is the anti-symmetric mode.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Through the keyword `quantity`, one can alternatively plot voltage, flux, or charge." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The values in these annotations can also be accessed programmatically:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T16:07:04.121000Z", "start_time": "2019-08-22T16:07:04.099000Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1.7816247236867328e-10-1.4226021802836471e-12j)\n" ] } ], "source": [ "print(cir.components['C_c'].zpf(mode = 0, quantity = 'current',Lj = 10e-9))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }