The Machinery · Topic 31 of 41 · The Workbench: the circuits

Circuit QED: a qubit and a resonator

How is a qubit read out by a resonator that never touches its states, and what does it cost to put them side by side?

  1. 01
  2. 02
  3. 03
  4. 04
  5. 05
  6. 06
  7. 07
  8. 08
  9. 09
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
About this section: The Workbench: the circuits

These four topics are the physics the two programs encode: the Hamiltonians of the common superconducting circuits, the way a resonator reads one out, and what happens when two sit side by side. Each is worked by diagonalising a matrix, so each can be checked against the programs in the next group, and each ends in numbers a design review would ask for.

See it

they cannot cross qubit frequency 6.6 → 7.4 GHz, resonator fixed at 7.0 gap = 2g the resonator knows the qubit state probe frequency 6.95 → 7.05 GHz qubit |1⟩ qubit |0⟩
Two ways a qubit and a resonator meet. Tuned to each other they cannot cross: they swap an excitation and the levels repel by 2g. Far apart they swap nothing, but the resonator moves by a small amount that depends on the qubit’s state, and a probe tone placed between the two peaks reads the qubit out. Both pictures come from the same Hamiltonian.

Try it: tune a qubit past a resonator

Slide the qubit frequency past the resonator. Near the crossing the levels repel and the states are half qubit, half photon. Far away they separate cleanly, and the lower plot shows the resonator’s response with the qubit in |0⟩ and in |1⟩. Switch “two-level qubit” to “transmon” to give the qubit four levels and see how the readout contrast shrinks.

Honest limits: this uses the rotating-wave form of the coupling and a resonator of eight levels, which is exact enough here. A real readout adds a drive, a loss rate and a measurement chain; the response curves here are the textbook single-pole shape, not a model of any particular device.

The intuition

You cannot read a superconducting qubit by looking at it. Instead you couple it to a resonator, a small oscillator like the one of topic 26, which is itself wired to the outside world. The qubit and the resonator are two oscillators that can pass a quantum of energy to each other with a strength g. This arrangement is called circuit quantum electrodynamics, because it is a circuit version of an atom in a cavity (Blais, Grimsmo, Girvin & Wallraff, Rev. Mod. Phys. 93, 025005, 2021).

When they are tuned to each other, the qubit and the resonator cannot be told apart. The state of one excitation is half qubit and half photon, and the energy levels repel: instead of crossing as the qubit frequency is swept past the resonator, they bend away and never meet, staying 2g apart at the closest point. With g = 100 MHz the closest approach is 200 MHz.

When they are far apart (detuned by Δ, much larger than g), no energy is exchanged. But the qubit still tugs on the resonator: each state of the qubit pushes the resonator’s frequency by a small amount, one way for |0⟩ and the other way for |1⟩. This is the dispersive shift, χ. Send a weak microwave tone to the resonator at a frequency between the two possible positions and what comes back depends on the qubit: its phase, or how much of it gets through, is different for |0⟩ and |1⟩. Reading that signal measures the qubit without ever exchanging the qubit’s energy with anything, which is why this is the standard way to measure superconducting qubits.

A transmon is not a two-level atom. The formula χ = g²/Δ is for a perfect two-level qubit. A transmon has a third level, and the third level pulls the other way: it undoes most of the shift. With g = 100 MHz and the qubit 1 GHz below the resonator, the two-level answer is 9.8 MHz either side and the transmon’s (anharmonicity −300 MHz) is 2.2 MHz. A design that used the two-level number would find the readout four times weaker than it expected.

The mathematics

The Jaynes–Cummings model. A resonator (a, frequency ωr) and a two-level qubit (σ, frequency ωq) exchanging one quantum with strength g (Jaynes & Cummings, Proc. IEEE 51, 89, 1963):

H = ωr a†a + ωq σ+σ− + g (a†σ− + aσ+)

The coupling conserves the total number of excitations n + (qubit state), so the matrix breaks into blocks of size 2: the pair |n+1, g⟩ and |n, e⟩. In each block the energies are those of a two-level problem,

E± = ω̄ ± ½ √(Δ² + 4g²(n+1)), ω̄ = (ωq + ωr)/2 + nωr, Δ = ωq − ωr

(for n = 0 this is the block of the first excitation, and ω̄ is the mean of the two bare frequencies). At Δ = 0 the gap is 2g√(n+1): the first splitting is 2g, and the next is √2 larger, the signature that the resonator is a ladder.

The dispersive limit. For |Δ| ≫ g, second-order perturbation theory gives H ≈ (ωr + χσz) a†a + ½ω̃qσz, with χ = g²/Δ, where σz is +1 for the excited state here (the opposite of QuTiP’s σz, which is +1 on |0⟩). The resonator therefore sits at ωr − χ with the qubit in its ground state and at ωr + χ with it excited. For ωr = 7, ωq = 6 and g = 0.1 GHz, χ = −10 MHz; diagonalising the full matrix gives the resonator at 7.009902 with the qubit in |0⟩ and 6.990287 with it in |1⟩, a splitting of 19.6 MHz, so the exact half-splitting is 9.81 MHz against the 10 MHz of the formula. The remaining 2% is the next order in g/Δ.

The transmon correction. A transmon has a third level at 2ωq + α, and the 1–2 transition couples to the resonator with a √2 larger matrix element. Its shift is χ01 − χ12/2 with χ01 = g²/Δ and χ12 = 2g²/(Δ + α), that is

χ = g² α / ( Δ (Δ + α) )

(Koch et al., Phys. Rev. A 76, 042319, 2007). For Δ = −1 GHz and α = −0.3 GHz this is −2.31 MHz; exact diagonalisation with four transmon levels gives a half-splitting of 2.24 MHz, so the formula is within 3%. Together: 9.81 MHz for a two-level qubit and 2.24 MHz for a four-level transmon, at g = 100 MHz and a 1 GHz detuning, from exact diagonalisation.

The readout signal. A resonator with loss rate κ and a probe at frequency f transmits |S21|² = 1/(1 + (2(f − fr)/κ)²) near its peak at fr. If the two possible peaks are 2χ apart and each has a width κ, the two qubit states give distinguishable signals when χ is comparable to κ; a common rule of thumb for a fast, clean readout is χ ≈ κ/2, with the peaks about one width apart (the derivation is in the dispersive-readout section of Blais et al. 2021). The figure uses κ = 12 MHz, so that the two peaks of the example above (19.6 MHz apart) are visibly separate.

Try it in Python. Build the resonator and the qubit as separate spaces, join them with tensor as in topic 24, and diagonalise: eigenenergies gives the levels and eigenstates the states, which you can match to the bare ones by overlap. Run on QuTiP 5.2.0, 25 October 2026:

import numpy as np
import qutip as qt

wr, wq, g = 7.0, 6.0, 0.1                          # GHz: resonator, qubit, coupling
N = 12                                             # resonator levels kept
a = qt.tensor(qt.destroy(N), qt.qeye(2))
sm = qt.tensor(qt.qeye(N), qt.destroy(2))          # qubit lowering operator (|1> -> |0>)
H = wr * a.dag() * a + wq * sm.dag() * sm + g * (a.dag() * sm + a * sm.dag())

evals, estates = H.eigenstates()
def level(n, q):                                   # the dressed state that overlaps most with |n, q>
    bare = qt.tensor(qt.basis(N, n), qt.basis(2, q))
    return evals[int(np.argmax([abs(bare.overlap(s)) ** 2 for s in estates]))]

f_res_ground  = level(1, 0) - level(0, 0)          # resonator frequency with the qubit in |0>
f_res_excited = level(1, 1) - level(0, 1)          # and with the qubit in |1>
print(round(f_res_ground, 6), round(f_res_excited, 6))
print("half the splitting:", round((f_res_ground - f_res_excited) / 2, 6), " formula g^2/|Delta| =", g * g / abs(wq - wr))
7.009902 6.990287
half the splitting: 0.009808  formula g^2/|Delta| = 0.010000000000000002

Where it actually matters

The measurement on every superconducting chip, and a trap that appears in design Every transmon and fluxonium in a lab is read out this way, so the resonator-and-qubit diagonalisation here is the basic building block of a chip simulation. It is also the first case where a hardware simulation differs from a textbook two-level one by a large factor: the two-level formula overstates the shift of a real transmon by about four times in the example, and a design built on it would be wrong by that much. That is the argument for simulating the hardware’s own levels, which is what scqubits’ HilbertSpace does. Reading too strongly has its own cost: the probe photons can drive the qubit out of its two states, and the Fock cutoff of topic 26 must exceed the photons used.