new_quadratic_sequence¶

qctrlopencontrols.
new_quadratic_sequence
(duration, inner_offset_count, outer_offset_count, pre_post_rotation=False, name=None)[source]¶ Creates the quadratic sequence.
 Parameters
duration (float) – The total duration of the sequence \(\tau\) (in seconds).
inner_offset_count (int) – Number of inner \(Z_{\pi}\) pulses \(n_1\).
outer_offset_count (int) – Number of outer \(X_{\pi}\) pulses \(n_2\).
pre_post_rotation (bool, optional) – If
True
, a \(X_{\pi/2}\) rotation is added at the start and end of the sequence. Defaults toFalse
.name (string, optional) – Name of the sequence. Defaults to
None
.
 Returns
The quadratic sequence.
 Return type
See also
Notes
The quadratic sequence 1 is parameterized by duration \(\tau\), number of inner offsets \(n_1\), and number of outer offsets \(n_2\). The outer sequence consists of \(n_2\) pulses of type \(X_{\pi}\), which partition the timedomain into \(n_2+1\) subintervals on which inner sequences consisting of \(n_1\) pulses of type \(Z_{\pi}\) are nested. The total number of offsets is \(n = n_1 + n_2(n_1 + 1)\).
The pulse times for outer sequence \((X_{\pi}^1, \cdots, X_{\pi}^{n_2})\) are defined according to the Uhrig sequence for \(t \in [0, \tau]\). The \(j\)th \(X_{\pi}\) pulse, therefore has timing offset defined by
\[t_x^j = \tau \sin^2 \left[ \frac{j \pi}{2(n_2 + 1)} \right] \;,\]where \(j = 1, \cdots, n_2\). On each subinterval defined by the outer sequence, an inner sequence \((Z_{\pi}^1, \cdots, Z_{\pi}^{n_1})\) is implemented. The pulse times for the inner sequences are also defined according to the Uhrig sequence. The \(k\)th pulse of the \(j\)th inner sequence has timing offset defined by
\[t_z(k, j) = (t_x^j  t_x^{j  1}) \sin^2 \left[ \frac{k \pi} {2 (n_1 + 1)} \right] + t_{x}^{j  1} \;,\]where \(k = 1, \cdots, n_1\) and \(j = 1, \cdots, n_2 + 1\).
References