Drag¶
- class Drag(duration, amp, sigma, beta, name=None, limit_amplitude=None)[source]¶
Bases:
SymbolicPulse
The Derivative Removal by Adiabatic Gate (DRAG) pulse is a standard Gaussian pulse with an additional Gaussian derivative component and lifting applied.
It can be calibrated either to reduce the phase error due to virtual population of the \(|2\rangle\) state during the pulse or to reduce the frequency spectrum of a standard Gaussian pulse near the \(|1\rangle\leftrightarrow|2\rangle\) transition, reducing the chance of leakage to the \(|2\rangle\) state.
\[\begin{split}g(x) &= \exp\Bigl(-\frac12 \frac{(x - \text{duration}/2)^2}{\text{sigma}^2}\Bigr)\\ g'(x) &= \text{amp}\times\frac{g(x)-g(-1)}{1-g(-1)}\\ f(x) &= g'(x) \times \Bigl(1 + 1j \times \text{beta} \times \Bigl(-\frac{x - \text{duration}/2}{\text{sigma}^2}\Bigr) \Bigr), \quad 0 \le x < \text{duration}\end{split}\]where \(g(x)\) is a standard unlifted Gaussian waveform and \(g'(x)\) is the lifted
Gaussian
waveform.References
Create new pulse instance.
- Parameters
duration (
Union
[int
,ParameterExpression
]) -- Pulse length in terms of the sampling period dt.amp (
Union
[complex
,ParameterExpression
]) -- The amplitude of the Drag envelope.sigma (
Union
[float
,ParameterExpression
]) -- A measure of how wide or narrow the Gaussian peak is; described mathematically in the class docstring.beta (
Union
[float
,ParameterExpression
]) -- The correction amplitude.name (
Optional
[str
]) -- Display name for this pulse envelope.limit_amplitude (
Optional
[bool
]) -- IfTrue
, then limit the amplitude of the waveform to 1. The default isTrue
and the amplitude is constrained to 1.
Methods
Plot the interpolated envelope of pulse.
Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains.
Return True iff the instruction is parameterized.
Validate parameters.
Attributes
- constraints¶
Return symbolic expression for the pulse parameter constraints.
- Return type
Expr
- duration¶
- envelope¶
Return symbolic expression for the pulse envelope.
- Return type
Expr
- id¶
Unique identifier for this pulse.
- Return type
int
- limit_amplitude = True¶
- name¶
- parameters¶
- Return type
Dict
[str
,Any
]
- pulse_type¶
Return display name of the pulse shape.
- Return type
str
- valid_amp_conditions¶
Return symbolic expression for the pulse amplitude constraints.
- Return type
Expr