new_drag_control
- qctrlopencontrols.new_drag_control(rabi_rotation, segment_count, duration, width, beta, azimuthal_angle=0.0, name=None)[source]
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.
- Parameters
rabi_rotation (float) – Total Rabi rotation \(\theta\) to be performed by the driven control.
segment_count (int) – Number of segments in the control sequence.
duration (float) – Total duration \(t_g\) of the control sequence.
width (float) – Width (standard deviation) \(\sigma\) of the ideal Gaussian pulse.
beta (float) – Amplitude scaling \(\beta\) of the Gaussian derivative.
azimuthal_angle (float, optional) – The azimuthal angle \(\phi\) for the rotation. Defaults to 0.
name (str, optional) – An optional string to name the control. Defaults to
None
.
- Returns
A control sequence as an instance of DrivenControl.
- Return type
See also
Notes
A DRAG-corrected Gaussian driven control 1 applies a Hamiltonian consisting of a piecewise constant approximation to an ideal Gaussian pulse controlling \(\sigma_x\) while its derivative controls the application of the \(\sigma_y\) operator:
\[H(t) = \frac{1}{2}(\Omega_G(t) \sigma_x + \beta \dot{\Omega}_G(t) \sigma_y)\]where \(\Omega_G(t)\) is simply given by new_gaussian_control. Optimally, \(\beta = -\frac{\lambda_1^2}{4\Delta_2}\) where \(\Delta_2\) is the anharmonicity of the system and \(\lambda_1\) is the relative strength required to drive a transition \(\lvert 1 \rangle \rightarrow \lvert 2 \rangle\) vs. \(\lvert 0 \rangle \rightarrow \lvert 1 \rangle\). Note that this choice of \(\beta\), sometimes called “simple drag” or “half derivative”, is a first-order version of DRAG, and it excludes an additional detuning corrective term.
References