qiskit.pulse.library.GaussianSquareDrag#
- qiskit.pulse.library.GaussianSquareDrag(duration, amp, sigma, beta, width=None, angle=0.0, risefall_sigma_ratio=None, name=None, limit_amplitude=None)[source]#
A square pulse with a Drag shaped rise and fall
This pulse shape is similar to
GaussianSquare
but usesDrag
for its rise and fall instead ofGaussian
. The addition of the DRAG component of the rise and fall is sometimes helpful in suppressing the spectral content of the pulse at frequencies near to, but slightly offset from, the fundamental frequency of the drive. When there is a spectator qubit close in frequency to the fundamental frequency, suppressing the drive at the spectator’s frequency can help avoid unwanted excitation of the spectator.Exactly one of the
risefall_sigma_ratio
andwidth
parameters has to be specified.If
risefall_sigma_ratio
is notNone
andwidth
isNone
:\[\begin{split}\text{risefall} &= \text{risefall_sigma_ratio} \times \text{sigma}\\ \text{width} &= \text{duration} - 2 \times \text{risefall}\end{split}\]If
width
is not None andrisefall_sigma_ratio
is None:\[\text{risefall} = \frac{\text{duration} - \text{width}}{2}\]Gaussian \(g(x, c, σ)\) and lifted gaussian \(g'(x, c, σ)\) curves can be written as:
\[\begin{split}g(x, c, σ) &= \exp\Bigl(-\frac12 \frac{(x - c)^2}{σ^2}\Bigr)\\ g'(x, c, σ) &= \frac{g(x, c, σ)-g(-1, c, σ)}{1-g(-1, c, σ)}\end{split}\]From these, the lifted DRAG curve \(d'(x, c, σ, β)\) can be written as
\[d'(x, c, σ, β) = g'(x, c, σ) \times \Bigl(1 + 1j \times β \times \Bigl(-\frac{x - c}{σ^2}\Bigr)\Bigr)\]The lifted gaussian square drag pulse \(f'(x)\) is defined as:
\[\begin{split}f'(x) &= \begin{cases} \text{A} \times d'(x, \text{risefall}, \text{sigma}, \text{beta}) & x < \text{risefall}\\ \text{A} & \text{risefall} \le x < \text{risefall} + \text{width}\\ \text{A} \times \times d'( x - (\text{risefall} + \text{width}), \text{risefall}, \text{sigma}, \text{beta} ) & \text{risefall} + \text{width} \le x \end{cases}\\\end{split}\]where \(\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)\).
- Paramètres:
duration (int | ParameterExpression) – Pulse length in terms of the sampling period dt.
amp (float | ParameterExpression) – The amplitude of the DRAG rise and fall and of the square pulse.
sigma (float | ParameterExpression) – A measure of how wide or narrow the DRAG risefall is; see the class docstring for more details.
beta (float | ParameterExpression) – The DRAG correction amplitude.
width (ParameterExpression | float | None) – The duration of the embedded square pulse.
angle (ParameterExpression | float | None) – The angle in radians of the complex phase factor uniformly scaling the pulse. Default value 0.
risefall_sigma_ratio (ParameterExpression | float | None) – The ratio of each risefall duration to sigma.
name (str | None) – Display name for this pulse envelope.
limit_amplitude (bool | None) – If
True
, then limit the amplitude of the waveform to 1. The default isTrue
and the amplitude is constrained to 1.
- Renvoie:
ScalableSymbolicPulse instance.
- Lève:
PulseError – When width and risefall_sigma_ratio are both empty or both non-empty.
- Type renvoyé: