qctrlopencontrols.new_drag_control(rabi_rotation, segment_count, duration, width, beta, azimuthal_angle=0.0, name=None)

Generates a Gaussian driven control sequence with a first-order DRAG (Derivative Removal by Adiabatic Gate) correction applied.

The addition of DRAG further reduces leakage out of the qubit subspace via an additional off-quadrature corrective driving term proportional to the derivative of the Gaussian pulse.


  • rabi_rotation (float) – Total Rabi rotation θ\theta
  • segment_count (int) – Number of segments in the control sequence.
  • duration (float) – Total duration tgt_g
  • width (float) – Width (standard deviation) σ\sigma
  • beta (float) – Amplitude scaling β\beta
  • azimuthal_angle (float , optional) – The azimuthal angle ϕ\phi
  • name (str , optional) – An optional string to name the control. Defaults to None.


A control sequence as an instance of DrivenControl.

Return type





A DRAG-corrected Gaussian driven control 1 applies a Hamiltonian consisting of a piecewise constant approximation to an ideal Gaussian pulse controlling σx\sigma_x while its derivative controls the application of the σy\sigma_y

H(t)=12(ΩG(t)σx+βΩ˙G(t)σy) H(t) = \frac{1}{2}(\Omega_G(t) \sigma_x + \beta \dot{\Omega}_G(t) \sigma_y)

where ΩG(t)\Omega_G(t)new_gaussian_control. Optimally, β=λ124Δ2\beta = -\frac{\lambda_1^2}{4\Delta_2} where Δ2\Delta_2 is the anharmonicity of the system and λ1\lambda_1 is the relative strength required to drive a transition 12\lvert 1 \rangle \rightarrow \lvert 2 \rangle vs. 01\lvert 0 \rangle \rightarrow \lvert 1 \rangle. Note that this choice of β\beta


[1] Motzoi, F. et al. Physical Review Letters 103, 110501 (2009).

[2] J. M. Gambetta, F. Motzoi, S. T. Merkel, and F. K. Wilhelm, Physical Review A 83, 012308 (2011).

Was this useful?