new_drag_control

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.

Parameters

• rabi_rotation (float) – Total Rabi rotation $\theta$
• segment_count (int) – Number of segments in the control sequence.
• duration (float) – Total duration $t_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.

Returns

A control sequence as an instance of DrivenControl.

Return type

DrivenControl

new_gaussian_control

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$

$H(t) = \frac{1}{2}(\Omega_G(t) \sigma_x + \beta \dot{\Omega}_G(t) \sigma_y)$

where $\Omega_G(t)$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$