GaussianSquare
class GaussianSquare(duration, amp, sigma, width=None, risefall_sigma_ratio=None, name=None, limit_amplitude=None)
Bases: qiskit.pulse.library.symbolic_pulses.SymbolicPulse
A square pulse with a Gaussian shaped risefall on both sides lifted such that its first sample is zero.
Exactly one of the risefall_sigma_ratio
and width
parameters 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.
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 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.
Raises
PulseError – When width and risefall_sigma_ratio are both empty or both non-empty.
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.
Since the returned array is a discretized time series of the continuous function, this method uses a midpoint sampler. For duration
, return:
Return type
Returns
A waveform representation of this pulse.
Raises
- PulseError – When parameters are not assigned.
- PulseError – When expression for pulse envelope is not assigned.
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
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
Default value: True
name
parameters
Return type
Dict
[str
, Any
]
pulse_type
Return display name of the pulse shape.
Return type
str
risefall_sigma_ratio
Return risefall_sigma_ratio. This is auxiliary parameter to define width.
valid_amp_conditions
Return symbolic expression for the pulse amplitude constraints.
Return type
Expr