qiskit.pulse.Drag
class Drag(duration, amp, sigma, beta, name=None)
The Derivative Removal by Adiabatic Gate (DRAG) pulse is a standard Gaussian pulse with an additional Gaussian derivative component. It is designed to reduce the frequency spectrum of a normal gaussian pulse near the - transition, reducing the chance of leakage to the state.
where ‘Gaussian’ is:
References
Initialize the drag pulse.
Parameters
- duration (
int
) – Pulse length in terms of the 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.
__init__
__init__(duration, amp, sigma, beta, name=None)
Initialize the drag pulse.
Parameters
- duration (
int
) – Pulse length in terms of the 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.
Methods
__init__ (duration, amp, sigma, beta[, name]) | Initialize the drag pulse. |
assign_parameters (value_dict) | Return a new ParametricPulse with parameters assigned. |
draw ([dt, style, filename, interp_method, …]) | Plot the pulse. |
get_sample_pulse () | Deprecated. |
get_waveform () | Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains. |
validate_parameters () | Validate parameters. |
Attributes
amp | The Gaussian amplitude. |
beta | The weighing factor for the Gaussian derivative component of the waveform. |
id | Unique identifier for this pulse. |
parameters | Return a dictionary containing the pulse’s parameters. |
sigma | The Gaussian standard deviation of the pulse width. |
amp
The Gaussian amplitude.
Return type
Union
[complex
, ParameterExpression
]
assign_parameters
assign_parameters(value_dict)
Return a new ParametricPulse with parameters assigned.
Parameters
value_dict (Dict
[ParameterExpression
, Union
[ParameterExpression
, float
, int
]]) – A mapping from Parameters to either numeric values or another Parameter expression.
Return type
ParametricPulse
Returns
New pulse with updated parameters.
beta
The weighing factor for the Gaussian derivative component of the waveform.
Return type
Union
[float
, ParameterExpression
]
draw
draw(dt=1, style=None, filename=None, interp_method=None, scale=1, interactive=False)
Plot the pulse.
Parameters
- dt (
float
) – Time interval of samples. - style (Optional[PulseStyle]) – A style sheet to configure plot appearance
- filename (
Optional
[str
]) – Name required to save pulse image - interp_method (
Optional
[Callable
]) – A function for interpolation - scale (
float
) – Relative visual scaling of waveform amplitudes - interactive (
bool
) – When set true show the circuit in a new window (this depends on the matplotlib backend being used supporting this)
Returns
A matplotlib figure object of the pulse envelope
Return type
matplotlib.figure
get_sample_pulse
get_sample_pulse()
Deprecated.
Return type
Waveform
get_waveform
get_waveform()
Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains.
Return type
Waveform
id
Unique identifier for this pulse.
Return type
int
parameters
Return a dictionary containing the pulse’s parameters.
Return type
Dict
[str
, Any
]
sigma
The Gaussian standard deviation of the pulse width.
Return type
Union
[float
, ParameterExpression
]
validate_parameters
validate_parameters()
Validate parameters.
Raises
PulseError – If the parameters passed are not valid.
Return type
None