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 to be performed by the driven control.
- segment_count (int) – Number of segments in the control sequence.
- duration (float) – Total duration of the control sequence.
- width (float) – Width (standard deviation) of the ideal Gaussian pulse.
- beta (float) – Amplitude scaling of the Gaussian derivative.
- azimuthal_angle (float , optional) – The azimuthal angle 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 while its derivative controls the application of the operator:
where is simply given by new_gaussian_control. Optimally, where is the anharmonicity of the system and is the relative strength required to drive a transition vs. . Note that this choice of , sometimes called “simple drag” or “half derivative”, is a first-order version of DRAG, and it excludes an additional detuning corrective term.
References
[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).