DRAG Pulse Shaping
Derivative Removal by Adiabatic Gate adds a quadrature correction to a control pulse so that fast single-qubit rotations do not leak into higher levels.
The Leakage Problem
A transmon is a weakly anharmonic oscillator: its first transition and its second transition differ in frequency by only the anharmonicity, typically a couple hundred megahertz. A short, strong pulse has a broad frequency spectrum. If the pulse is too short, that spectrum overlaps the second transition and drives population out of the computational subspace, a coherent error called leakage.
The DRAG Idea
Derivative Removal by Adiabatic Gate, or DRAG, adds a component on the quadrature ninety degrees out of phase with the main pulse, shaped like the time derivative of the main envelope. This extra component is engineered to destructively interfere with the amplitude that would otherwise be driven into the second excited state. It also corrects the phase error that off-resonant driving would accumulate.
import numpy as np
# Gaussian main quadrature and its DRAG correction
t = np.linspace(-2, 2, 200) # in units of sigma
Omega = np.exp(-t**2 / 2.0) # in-phase envelope
alpha = -0.2 # anharmonicity, GHz (illustrative)
beta = -1.0 / (2*np.pi*alpha) # DRAG coefficient
Omega_dot = -t * Omega # derivative of the envelope
Q = beta * Omega_dot # out-of-phase (DRAG) quadrature
# drive = I*Omega + Q on the two quadratures
Tuning DRAG
- The DRAG coefficient beta scales inversely with the anharmonicity.
- One choice of beta minimizes leakage; a nearby choice minimizes phase error.
- In practice beta is calibrated experimentally, often with repeated-gate sequences that amplify residual error.
Impact
DRAG lets single-qubit gates run in tens of nanoseconds while keeping leakage and phase errors below the coherence-limited floor. It is one of the most widely used pulse-shaping techniques in superconducting quantum computing, and the beta parameter is a standard entry in every qubit calibration pipeline.