GaussianSquare
class GaussianSquare(duration, amp, sigma, width=None, risefall_sigma_ratio=None, name=None, limit_amplitude=None)
Bases: qiskit.pulse.library.parametric_pulses.ParametricPulse
A square pulse with a Gaussian shaped risefall on both sides lifted such that its first sample is zero.
Either the risefall_sigma_ratio
or width
parameter has to be specified.
If risefall_sigma_ratio
is not None and width
is None:
If width
is not None and risefall_sigma_ratio
is None:
In both cases, the lifted gaussian square pulse is defined as:
where is the gaussian square waveform without lifting or amplitude scaling.
This pulse would be more accurately named as LiftedGaussianSquare
, however, for historical and practical DSP reasons it has the name GaussianSquare
.
Initialize the gaussian square pulse.
Parameters
- duration (
Union
[int
,ParameterExpression
]) – Pulse length in terms of the the sampling period dt. - amp (
Union
[complex
,ParameterExpression
]) – The amplitude of the Gaussian and of the square pulse. - sigma (
Union
[float
,ParameterExpression
]) – A measure of how wide or narrow the Gaussian risefall is; see the class docstring for more details. - width (
Union
[float
,ParameterExpression
,None
]) – The duration of the embedded square pulse. - risefall_sigma_ratio (
Union
[float
,ParameterExpression
,None
]) – The ratio of each risefall duration to sigma. - 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
draw
GaussianSquare.draw(style=None, backend=None, time_range=None, time_unit='dt', show_waveform_info=True, plotter='mpl2d', axis=None)
Plot the interpolated envelope of pulse.
Parameters
-
style (
Optional
[Dict
[str
,Any
]]) – Stylesheet options. This can be dictionary or preset stylesheet classes. SeeIQXStandard
,IQXSimple
, andIQXDebugging
for details of preset stylesheets. -
backend (Optional[BaseBackend]) – Backend object to play the input pulse program. If provided, the plotter may use to make the visualization hardware aware.
-
time_range (
Optional
[Tuple
[int
,int
]]) – Set horizontal axis limit. Tuple(tmin, tmax)
. -
time_unit (
str
) – The unit of specified time range eitherdt
orns
. The unit ofns
is available only whenbackend
object is provided. -
show_waveform_info (
bool
) – Show waveform annotations, i.e. name, of waveforms. SetTrue
to show additional information about waveforms. -
plotter (
str
) –Name of plotter API to generate an output image. One of following APIs should be specified:
mpl2d: Matplotlib API for 2D image generation. Matplotlib API to generate 2D image. Charts are placed along y axis with vertical offset. This API takes matplotlib.axes.Axes as `axis` input.
axis and style kwargs may depend on the plotter.
-
axis (
Optional
[Any
]) – Arbitrary object passed to the plotter. If this object is provided, the plotters use a givenaxis
instead of internally initializing a figure object. This object format depends on the plotter. See plotter argument for details.
Returns
Visualization output data. The returned data type depends on the plotter
. If matplotlib family is specified, this will be a matplotlib.pyplot.Figure
data.
get_waveform
GaussianSquare.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
is_parameterized
GaussianSquare.is_parameterized()
Return True iff the instruction is parameterized.
Return type
bool
validate_parameters
GaussianSquare.validate_parameters()
Validate parameters.
Raises
PulseError – If the parameters passed are not valid.
Return type
None
Attributes
amp
The Gaussian amplitude.
Return type
Union
[complex
, ParameterExpression
]
id
Unique identifier for this pulse.
Return type
int
limit_amplitude
Default value: True
parameters
Return type
Dict
[str
, Any
]
risefall_sigma_ratio
The duration of each risefall in terms of sigma.
Return type
Union
[float
, ParameterExpression
]
sigma
The Gaussian standard deviation of the pulse width.
Return type
Union
[float
, ParameterExpression
]
width
The width of the square portion of the pulse.
Return type
Union
[float
, ParameterExpression
]