new_scrofulous_control

qctrlopencontrols.new_scrofulous_control(rabi_rotation, maximum_rabi_rate, azimuthal_angle=0.0, name=None)

Creates a short composite rotation for undoing length over and under shoot (SCROFULOUS) driven control.

SCROFULOUS driven controls are robust to low-frequency noise sources that perturb the amplitude of the control field.

Parameters

  • rabi_rotation (float) – The total Rabi rotation θ\theta to be performed by the driven control. Must be either π/4\pi/4, π/2\pi/2, or π\pi.
  • maximum_rabi_rate (float) – The maximum Rabi frequency Ωmax\Omega_{\mathrm max} for the driven control.
  • 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

The driven control {(δtn,Ωn,ϕn,Δn)}\{(\delta t_n, \Omega_n, \phi_n, \Delta_n)\}.

Return type

DrivenControl

Notes

A SCROFULOUS driven control 1 consists of three control segments:

δtn\delta t_nΩn\Omega_nϕn\phi_nΔn\Delta_n
θ1/Ωmax\theta_1/\Omega_{\mathrm max}Ωmax\Omega_\mathrm{max}ϕ+ϕ1\phi+\phi_100
θ2/Ωmax\theta_2/\Omega_{\mathrm max}Ωmax\Omega_{\mathrm max}ϕ+ϕ2\phi+\phi_200
θ3/Ωmax\theta_3/\Omega_{\mathrm max}Ωmax\Omega_{\mathrm max}ϕ+ϕ3\phi+\phi_300

where

θ1=θ3=sinc1[2cos(θ/2)π]θ2=πϕ1=ϕ3=cos1[πcos(θ1)2θ1sin(θ/2)]ϕ2=ϕ1cos1(π2θ1) \begin{align} \theta_1 &= \theta_3 = \mathrm{sinc}^{-1} \left[\frac{2\cos (\theta/2)}{\pi}\right] \\ \theta_2 &= \pi \\ \phi_1 &= \phi_3 = \cos^{-1}\left[ \frac{-\pi\cos(\theta_1)}{2\theta_1\sin(\theta/2)}\right] \\ \phi_2 &= \phi_1 - \cos^{-1} \left(-\frac{\pi}{2\theta_1}\right) \end{align}

and sinc(x)=sin(x)/x\mathrm{sinc}(x)=\sin(x)/x is the unnormalized sinc function.

References

Was this useful?