DynamicDecouplingSequence
class qctrlopencontrols.DynamicDecouplingSequence(duration, offsets, rabi_rotations, azimuthal_angles, detuning_rotations, name=None)
Creates a dynamic decoupling sequence.
Parameters
- duration (float) – The total time in seconds for the sequence τ.
- offsets (np.ndarray) – The times offsets {tj} in seconds for the center of pulses.
- rabi_rotations (np.ndarray) – The Rabi rotation ωj at each time offset tj.
- azimuthal_angles (np.ndarray) – The azimuthal angle ϕj at each time offset tj.
- detuning_rotations (np.ndarray) – The detuning rotation δj at each time offset tj.
- name (str , optional) – Name of the sequence. Defaults to None.
Notes
Dynamical decoupling sequence (DDS) is canonically defined as a series of n-instantaneous unitary operations, often π-pulses, executed at time offsets {tj}j=1n over the time interval with a total duration τ. The j-th operation applied at time tj can be parameterized as
Uj=exp[−2i(ωjcosϕjσx+ωjsinϕjσy+δjσz)],Note that in practice all DDSs typically have a Xπ/2 operation at the start t=0 and end t=τ of the sequence. This is because it is assumed that the qubit is initially in the state ∣0⟩ and a superposition needs to be created and removed to make the qubit sensitive to dephasing.
Methods
export | Returns a dictionary for plotting using the Q-CTRL Visualizer package. |
export_to_file | Prepares and saves the dynamical decoupling sequence in a file. |