class Shift(*, control, operator, noise=None)

A (possibly noisy) real control term for the quasi-static scan calculation of the form \(\left(1 + \beta_{\alpha_{k}} \right) \alpha_{k}(t) A_{k}\), where \(A_{k}\) is a Hermitian operator, \(\alpha_{k}(t)\) is a real-valued piecewise-constant function between 0 and \(\tau\), and \(\beta_{\alpha_{k}} \in \{ \beta_{\alpha_k,i} \}\) is the amplitude of its noise.

  • control (List[qctrl.dynamic.types.RealSegmentInput]) – The list of segments, pairs of a duration and a value \(\{(\delta t_{\alpha_{k},n}, \alpha_{k,n})\}\), that define the piecewise-constant control \(\alpha_{k}(t)\). This means that \(\alpha_{k}(t) = \alpha_{k,n}\) for \(t_{\alpha_{k},n-1} \leq t < t_{\alpha_{k},n}\), where \(t_{\alpha_{k},0} = 0\) and \(t_{\alpha_{k},n} = t_{\alpha_{k},n-1} + \delta t_{\alpha_{k},n}\). You must provide at least one segment.

  • operator (ndarray) – The Hermitian matrix \(A_{k}\) that multiplies the real control.

  • noise (qctrl.dynamic.types.quasi_static_scan.Noise, optional) – The set of noise amplitudes \(\{\beta_{\alpha_{k},i}\}\) associated to the term. If not provided, \(\beta_{\alpha_k}\) is always 0. Only provide this argument if you want to scan this multiplicative noise.