The Machinery · Topic 27 of 41 · The Workbench: a qubit in the lab

A driven qubit: Rabi oscillations and the rotating frame

How does a microwave tone turn into a rotation, and what is thrown away when it is drawn as one?

  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: a qubit in the lab

A qubit is never simulated alone and never undisturbed. The first topic here turns a qubit with a drive, the experiment every lab runs first. The second adds the environment, which gives the two clocks T1 and T2 and the equation (Lindblad’s) that QuTiP’s open-system solver is built on.

See it

the lab frame violet: the qubit turns 1 000 000 000 times a second teal: the slow Rabi flip you came to see turn with it the Rabi chevron drive frequency − qubit frequency → longer pulse → on resonance: a full flip. Off it: faster, partial.
A fast drive hides a slow flip. Seen from the lab, the qubit and the tone both oscillate at gigahertz and the useful motion is an envelope. Seen from a frame that turns with the tone, only the slow motion is left, and scanning the tone’s frequency draws the chevron that every lab uses to find a qubit.

Try it: the Rabi chevron

Set the strength of the drive (its Rabi frequency, in MHz) and look at the chance of finding the qubit in |1⟩ for every pulse length and every drive frequency. A horizontal slice is one experiment at one frequency; click the picture to choose it. The bright centre line is resonance. Notice that the farther off resonance you are, the faster the oscillation and the lower its peak.

Try it: when does the rotating-frame picture stop being true?

The chevron assumes the “rotating-wave approximation”. This panel solves the same problem the hard way, in the lab frame with no approximation, and draws both on top of each other. Raise the drive strength relative to the qubit frequency and watch the exact curve (violet) start to wobble and drift away from the rotating-frame curve (teal).

Honest limits: the qubit here is a 1 GHz one so the exact run is cheap; what matters is the ratio of drive to qubit frequency, not the gigahertz. The numbers are checked against QuTiP’s own solver in the verifier behind this page.

The intuition

To flip a qubit you shine a microwave tone on it, close to the frequency at which it turns. That tone is a field that wiggles back and forth along one axis, thousands of millions of times a second. The qubit is itself turning at the same rate about another axis. A wiggling field and a turning qubit sound like a mess, and in the lab frame, the frame of the person with the oscilloscope, it is one. The useful motion is a slow envelope hiding inside a fast oscillation.

Change frames and the mess goes away. Imagine standing on a turntable that rotates at the drive frequency. From there the qubit stops turning (if the drive is on resonance), and the field, which was a wiggle, splits into two pieces: one that stands still, and one that now spins at twice the drive frequency. The still piece is a constant field along one axis, and a constant field is exactly the situation of the last topic: the state turns about it at a steady rate. That rate is the Rabi frequency, set by how hard you drive. The piece that spins at twice the frequency averages to nothing over a single Rabi turn, so you drop it. Dropping it is the rotating-wave approximation (RWA).

Off resonance. If the tone is a little off the qubit’s frequency, the turntable and the qubit rotate at different speeds, so in the rotating frame the qubit keeps a slow turn of its own, the detuning. The state now turns about a tilted axis, a combination of the constant field and the detuning. The turn is faster, because the two rates add as the sides of a right triangle, but it never reaches the pole, because the axis is tilted. Scanning the drive frequency and the pulse length gives the chevron.

When it fails. The dropped piece is small only when the drive is gentle compared with the qubit’s own frequency. A Rabi frequency of 20 MHz on a 5 GHz qubit is a ratio of 0.4%, and the approximation is excellent. Push the drive to a tenth of the qubit frequency, as fast gates on low-frequency qubits do, and it costs a few per cent; push it to 0.3 of the qubit frequency and it is wrong by nearly a tenth, and the quantity you carefully calibrated, the length of a π pulse, comes out 3.6% short (1.607 ns where the rotating-frame formula says 1.667 ns). Fast gates are the main reason a lab cannot always use the picture.

The mathematics

The lab-frame Hamiltonian. A qubit of frequency ω0 with |0⟩ the lower state, driven by a tone of frequency ωd and Rabi amplitude Ω, has

H(t) = −(ω0/2) σz + Ω cos(ωdt) σx

(the minus sign puts |0⟩ below |1⟩, the QuTiP convention of topic 24). Go to the frame that turns with the drive, |ψ⟩ = eiωdtσz/2|ψ′⟩. The σz term loses its fast part, leaving −(Δ/2)σz with detuning Δ = ω0 − ωd, and σx becomes σx cos ωdt + σy sin ωdt. Multiplying by cos ωdt,

H′(t) = −(Δ/2) σz + (Ω/2) σx + (Ω/2)[cos(2ωdt) σx + sin(2ωdt) σy]

The last bracket spins at 2ωd. Dropping it is the RWA, and what remains is a constant Hamiltonian with the exact solution of topic 25, with effective Rabi frequency Ωeff = √(Ω² + Δ²):

P1(t) = (Ω² / Ωeff²) · sin²(Ωeff t / 2)

On resonance this is sin²(Ωt/2); off resonance the peak is Ω²/Ωeff² < 1 and the frequency is higher. With Ω/2π = 10 MHz and Δ/2π = 12 MHz, Ωeff/2π = 15.6 MHz and the qubit never gets more than 41% of the way to |1⟩. That is 41% peak transfer and a 15.6 MHz oscillation for a 10 MHz drive 12 MHz off resonance. The formula is I. I. Rabi’s (Phys. Rev. 51, 652, 1937).

The size of what was dropped. Solving the lab-frame equation exactly for a 1 GHz qubit over two Rabi periods and comparing with the RWA curve, the largest gap in P1 is 0.0048 for a drive at 0.02 of the qubit frequency, 0.0268 at 0.1 and 0.0931 at 0.3. The error is of order Ω/ω0: the spinning term is a fast kick of that relative size on top of the slow flip. A second effect, the Bloch–Siegert shift (Phys. Rev. 57, 522, 1940), moves the resonance itself by an amount of order Ω²/ω0; it is of order Ω²/ω0 and is negligible at a drive of 0.02, but at 0.3 the first full flip arrives 3.6% early.

Try it in Python. The lab frame is a time-dependent sesolve in QuTiP’s list format: a list of terms, each either a fixed operator or a pair [operator, function of time]. max_step tells the integrator to take steps small enough to follow the fast oscillation. Run on QuTiP 5.2.0, 25 October 2026:

import numpy as np
import qutip as qt

TAU = 2 * np.pi
w0 = TAU * 1.0                       # a 1 GHz qubit (a slow one, so the lab-frame run is cheap)
for A in (0.02, 0.1, 0.3):           # Rabi frequency as a fraction of the qubit frequency
    Om = TAU * A
    times = np.linspace(0, 2 / A, 2001)                  # two Rabi periods, in ns
    # the lab frame: the qubit spins at w0 and the drive wiggles at w0
    H_lab = [-0.5 * w0 * qt.sigmaz(), [Om * qt.sigmax(), lambda t: np.cos(w0 * t)]]
    lab = qt.sesolve(H_lab, qt.basis(2, 0), times, e_ops=[qt.num(2)], options={"max_step": 0.01})
    # the rotating frame with the fast terms dropped (the rotating-wave approximation)
    rwa = qt.sesolve(0.5 * Om * qt.sigmax(), qt.basis(2, 0), times, e_ops=[qt.num(2)])
    print(A, round(float(np.max(np.abs(lab.expect[0] - rwa.expect[0]))), 4))
0.02 0.0048
0.1 0.0268
0.3 0.0931
People keep asking: My expectation values in the rotating frame differ from the lab frame. Which is right?

Both can be right, because they answer different questions. In the rotating frame the state is the lab-frame state turned by eiωdtσz/2, so populations and ⟨σz⟩ are the same in both frames, while ⟨σx⟩ and ⟨σy⟩ of the rotating frame are those of the lab frame turned through the angle ωdt. To compare them, compare populations, or transform the observable back before taking the average.

If the populations disagree by more than the table above (0.0048 at a drive of 0.02 of the qubit frequency, 0.0931 at 0.3), the drive is strong enough that the rotating-wave approximation itself has failed, and the lab-frame run is the one to trust. The explorer above shows the gap growing with the drive. The question is asked in QuTiP’s Discussions as Expectation values differ widely between RWA and lab frame.

Where it actually matters

Finding a qubit, calibrating a gate, and the limit on gate speed The chevron is the standard first experiment on a new qubit: sweep the drive frequency and the pulse length, read off the resonance and the Rabi rate, and set the length of a π pulse (the circuits lesson has you doing this blind). Every pulse-level simulator, QuTiP’s sesolve and mesolve and Qiskit Dynamics among them, is built to run either frame, and the habit that matters is to know which one a Hamiltonian is written in. A published Rabi frequency, a detuning and a gate time are only meaningful together with the frame and the approximation they came from. The work on faster gates (shorter pulses, stronger drives) is exactly the regime where the rotating-wave picture gives way and a lab-frame or higher-order treatment is needed.