Skip to main contentIBM Quantum Documentation


qiskit.pulse.library.ParametricPulse(duration, name=None, limit_amplitude=None)

Bases: Pulse

The abstract superclass for parametric pulses.


This class is superseded by SymbolicPulse and will be deprecated and eventually removed in the future because of the poor flexibility for defining a new waveform type and serializing it through the qiskit.qpy framework.

Create a parametric pulse and validate the input parameters.

Deprecated since version 0.22_pending

The class qiskit.pulse.library.parametric_pulses.ParametricPulse is pending deprecation as of qiskit-terra 0.22. It will be marked deprecated in a future release, and then removed no earlier than 3 months after the release date. Instead, use SymbolicPulse because of QPY serialization support. See qiskit.pulse.library.symbolic_pulses for details.






Unique identifier for this pulse.


= True


Return a dictionary containing the pulse’s parameters.



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.


  • style (Dict (opens in a new tab)[str (opens in a new tab), Any (opens in a new tab)] | None) – Stylesheet options. This can be dictionary or preset stylesheet classes. See IQXStandard, IQXSimple, and IQXDebugging 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 (Tuple (opens in a new tab)[int (opens in a new tab), int (opens in a new tab)] | None) – Set horizontal axis limit. Tuple (tmin, tmax).

  • time_unit (str (opens in a new tab)) – The unit of specified time range either dt or ns. The unit of ns is available only when backend object is provided.

  • show_waveform_info (bool (opens in a new tab)) – Show waveform annotations, i.e. name, of waveforms. Set True to show additional information about waveforms.

  • plotter (str (opens in a new tab)) –

    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 (Any (opens in a new tab) | None) – Arbitrary object passed to the plotter. If this object is provided, the plotters use a given axis instead of internally initializing a figure object. This object format depends on the plotter. See plotter argument for details.


Visualization output data. The returned data type depends on the plotter. If matplotlib family is specified, this will be a matplotlib.pyplot.Figure data.


abstract get_waveform()

Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains.

Return type




Return True iff the instruction is parameterized.

Return type

bool (opens in a new tab)


abstract validate_parameters()

Validate parameters.


PulseError – If the parameters passed are not valid.

Was this page helpful?