{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T13:50:02.314500Z", "start_time": "2019-08-27T13:49:58.790500Z" } }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from qucat import Network, L,J,C,R\n", "from numpy import pi" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Modelling a distributed multi-mode resonator" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this section we use QuCAT to study the convergence of parameters in the first order Hamiltonian \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", "of a transmon qubit coupled to a multi-mode resonator. \n", "As done experimentally in https://arxiv.org/pdf/1704.06208.pdf and theoretically in https://arxiv.org/pdf/1701.05095.pdf\n", "\n", "Using a length of coplanar waveguide terminated with engineered boundary conditions is a common way of building a microwave resonator.\n", "One implementation is a $\\lambda/4$ resonator terminated on one end by a large shunt capacitor, acting as a near-perfect short circuit for microwaves such that only a small amount of radiation may enter or leave the resonator.\n", "The shunt capacitor creates a voltage node, and at the open end the voltage is free to oscillate, and can couple, as shown below to a transmon qubit.\n", "\n", "![alt text](graphics/MMUSC_circuit.png \"\")\n", "\n", "*optical micrograph from https://arxiv.org/abs/1704.06208*\n", "\n", "This resonator hosts a number of normal modes, justifying its lumped element equivalent circuit shown in **(c)**, a series of LC oscillators with increasing resonance frequency.\n", "\n", "We will use QuCAT to track the evolution of different characteristics of the system as the number of considered resonator modes $N$ increases.\n", "\n", "We start by defining some constants" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T14:14:08.936200Z", "start_time": "2019-08-27T14:14:08.910200Z" } }, "outputs": [], "source": [ "# fundamental mode frequency of the resonator\n", "f0 = 4.603e9\n", "w0 = f0*2.*pi\n", "# characteristic impedance of the resonator\n", "Z0 = 50\n", "# Josephson energy (in Hertz)\n", "Ej = 18.15e9\n", "# Coupling capacitance\n", "Cc = 40.3e-15\n", "# Capacitance to ground\n", "Cj = 5.13e-15\n", "\n", "# Capacitance of all resonator modes\n", "C0 = pi/4/w0/Z0\n", "# Inductance of first resonator mode\n", "L0 = 4*Z0/pi/w0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "we can then generate a list of Qcircuits, each one corresponding to a different number of resonator modes $N$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T13:50:20.929000Z", "start_time": "2019-08-27T13:50:03.136500Z" } }, "outputs": [], "source": [ "# initialize list of Qcircuits for different number of resonator modes\n", "qcircuits = []\n", "\n", "# Maximum number of resonator modes we will be considering\n", "N_max = 6\n", "\n", "\n", "for N in range(1,N_max+1):\n", " # Initialize list of components for Transmon and coupling capacitor\n", " netlist = [\n", " J(N+2,1,Ej,use_E=True),\n", " C(N+2,1,Cj),\n", " C(1,2,Cc)]\n", "\n", " for m in range(N):\n", " # Nodes of m-th oscillator\n", " node_minus = 2+m\n", " node_plus = (2+m+1)\n", " # Inductance of m-th oscillator\n", " Lm = L0/(2*m+1)**2\n", " # Add oscillator to netlist\n", " netlist = netlist + [\n", " L(node_minus,node_plus,Lm),\n", " C(node_minus,node_plus,C0)]\n", "\n", " # Add Qcircuit to our list\n", " qcircuits.append(Network(netlist))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that $N+2$ is the index of the ground node.\n", "\n", "We can now access some parameters of the system.\n", "\n", "To get an initial idea of the mode distribution in the circuit, let us display the mode resonance frequencies and anharmonicities of the transmon coupled to 6 resonator modes" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-08-27T13:50:57.953000Z", "start_time": "2019-08-27T13:50:57.906000Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " mode | freq. | diss. | anha. |\n", " 0 | 4.38 GHz | 0Hz | 196 kHz |\n", " 1 | 8.05 GHz | 0Hz | 361 MHz |\n", " 2 | 14 GHz | 0Hz | 2.6 MHz |\n", " 3 | 23 GHz | 0Hz | 349 kHz |\n", " 4 | 32.2 GHz | 0Hz | 134 kHz |\n", " 5 | 41.3 GHz | 0Hz | 69.3 kHz |\n", " 6 | 50.5 GHz | 0Hz | 39.4 kHz |\n", "\n", "Kerr coefficients (diagonal = Kerr, off-diagonal = cross-Kerr)\n", " mode | 0 | 1 | 2 | 3 | 4 | 5 | 6 |\n", " 0 | 196 kHz | | | | | | |\n", " 1 | 16.8 MHz | 361 MHz | | | | | |\n", " 2 | 1.43 MHz | 61.3 MHz | 2.6 MHz | | | | |\n", " 3 | 523 kHz | 22.4 MHz | 1.9 MHz | 349 kHz | | | |\n", " 4 | 325 kHz | 13.9 MHz | 1.18 MHz | 433 kHz | 134 kHz | | |\n", " 5 | 233 kHz | 10 MHz | 849 kHz | 311 kHz | 193 kHz | 69.3 kHz | |\n", " 6 | 176 kHz | 7.54 MHz | 640 kHz | 234 kHz | 146 kHz | 105 kHz | 39.4 kHz |\n", "\n" ] } ], "source": [ "f,k,A,chi = qcircuits[-1].f_k_A_chi(pretty_print=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mode 1, is the only one with a significant anharmonicity and is thus the qubit-like mode.\n", "A list of this modes frequencies, for varying number of resonator modes is given by" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-08-23T16:20:53.546900Z", "start_time": "2019-08-23T16:20:53.524900Z" } }, "outputs": [], "source": [ "transmon_frequencies = [cir.eigenfrequencies()[1] for cir in qcircuits]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and the anharmonicity of the transmon, computed from first order perturbation theory is" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-08-23T16:20:54.521900Z", "start_time": "2019-08-23T16:20:53.548900Z" } }, "outputs": [], "source": [ "transmon_anharmonicities = [cir.anharmonicities()[1] for cir in qcircuits]" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2019-08-23T15:26:13.374000Z", "start_time": "2019-08-23T15:26:13.343000Z" } }, "source": [ "Finally the Lamb shift, or shift in the transmon frequency resulting from the zero-point fluctuations of the resonator modes, is given, following the equation shown at the top of the page, by the sum of half the cross-Kerr couplings between the transmon mode and the others" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2019-08-23T16:20:54.529900Z", "start_time": "2019-08-23T16:20:54.523900Z" } }, "outputs": [], "source": [ "lamb_shifts = []\n", "for cir in qcircuits:\n", " lamb_shift = 0\n", " K = cir.kerr()\n", " N_modes = len(K[0])\n", " for m in range(N_modes):\n", " if m!=1:\n", " lamb_shift = lamb_shift + K[1][m]/2\n", " lamb_shifts.append(lamb_shift)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, we can plot these parameters" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2019-08-23T16:20:54.828900Z", "start_time": "2019-08-23T16:20:54.531900Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "