You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

# Drag

class Drag(duration: Union[int, qiskit.circuit.parameterexpression.ParameterExpression], amp: Union[complex, float, qiskit.circuit.parameterexpression.ParameterExpression], sigma: Union[float, qiskit.circuit.parameterexpression.ParameterExpression], beta: Union[float, qiskit.circuit.parameterexpression.ParameterExpression], angle: Optional[Union[float, qiskit.circuit.parameterexpression.ParameterExpression]] = None, name: Optional[str] = None, limit_amplitude: Optional[bool] = None)

GitHub(opens in a new tab)

Bases: object

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{A}\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, $g'(x)$ is the lifted Gaussian waveform, and $\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right)$.

References

Create new pulse instance.

Parameters

• duration – Pulse length in terms of the sampling period dt.
• amp – The magnitude of the amplitude of the DRAG envelope. Complex amp support will be deprecated.
• sigma – A measure of how wide or narrow the Gaussian peak is; described mathematically in the class docstring.
• beta – The correction amplitude.
• angle – The angle of the complex amplitude of the DRAG envelope. Default value 0.
• name – Display name for this pulse envelope.
• limit_amplitude – If True, then limit the amplitude of the waveform to 1. The default is True and the amplitude is constrained to 1.

Returns

ScalableSymbolicPulse instance.

## Attributes

### alias

Default value: 'Drag'