Piecewise constant control sequences for quantum systems. Each control sequence is a dictionary with the following keys:
A | Drift generator (typically times a Hamiltonian and a time unit of your choice). |
B | List of control generators. c := len(B). |
tau | Vector of durations of the time slices. m := len(tau). |
control | Array, shape (m, c). control[i,j] is the value of control field j during time slice i. |
The total generator for the time slice j is thus given by
and the corresponding propagator is
NOTE the unusual sign convention.
nmr(a) | Convert NMR-style rotations into a one-qubit control sequence. |
corpse(theta[, phi]) | Sequence for correcting off-resonance errors. |
bb1(theta[, phi, location]) | Sequence for correcting pulse length errors. |
scrofulous(theta[, phi]) | Sequence for correcting pulse length errors. |
cpmg(t, n) | Carr-Purcell-Meiboom-Gill sequence. |
seq2prop(s) | Propagator corresponding to a control sequence. |
propagate(s, seq[, out_func, base_dt]) | Propagate a state in time using a control sequence. |
Convert NMR-style rotations into a one-qubit control sequence.
Returns a one-qubit control sequence corresponding to the array a:
Each pair corresponds to a NMR rotation of the form , or a rotation of the angle about the unit vector .
Sequence for correcting pulse length errors.
Returns the Broadband number 1 control sequence for correcting proportional errors in pulse length (or amplitude) [22].
The target rotation is in the NMR notation.
Sequence for correcting off-resonance errors.
Returns the CORPSE control sequence for correcting off-resonance errors, i.e. ones arising from a constant but unknown bias in the Hamiltonian [6]
The target rotation is in the NMR notation.
CORPSE: Compensation for Off-Resonance with a Pulse SEquence
Carr-Purcell-Meiboom-Gill sequence.
Returns the Carr-Purcell-Meiboom-Gill sequence of n repeats with waiting time t. The purpose of the CPMG sequence is to facilitate a T_2 measurement under a nonuniform z drift, it is not meant to be a full memory protocol. The target operation for this sequence is identity.
Sequence for correcting pulse length errors.
Returns the SCROFULOUS control sequence for correcting errors in pulse duration (or amplitude) [6].
The target rotation is in the NMR notation.
SCROFULOUS: Short Composite ROtation For Undoing Length Over- and UnderShoot
Propagator corresponding to a control sequence.
Returns the propagator matrix corresponding to the action of the control sequence s.
Governing equation: .
Propagate a state in time using a control sequence.
If no output function is given, we use an identity map.