---
title: ParametricPulse (v0.46)
description: API reference for qiskit.pulse.library.ParametricPulse in qiskit v0.46
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/0.46/qiskit.pulse.library.ParametricPulse
---

# ParametricPulse

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

[GitHub](https://github.com/qiskit/qiskit/tree/stable/0.46/qiskit/pulse/library/parametric_pulses.py)

Bases: `Pulse`

The abstract superclass for parametric pulses.

> **Warning**
>
> This class was superseded by [`SymbolicPulse`](/docs/api/qiskit/0.46/qiskit.pulse.library.SymbolicPulse "qiskit.pulse.library.SymbolicPulse") and is deprecated. It will be removed in Qiskit 1.0 because of the poor flexibility for defining a new waveform type and serializing it through the [`qiskit.qpy`](/docs/api/qiskit/0.46/qpy#module-qiskit.qpy "qiskit.qpy") framework.

Create a parametric pulse and validate the input parameters.

> **Deprecated since version 0.46**
>
> The class `qiskit.pulse.library.parametric_pulses.ParametricPulse` is deprecated as of qiskit-terra 0.46. It will be removed in Qiskit 1.0. Instead, use SymbolicPulse because of QPY serialization support. See qiskit.pulse.library.symbolic\_pulses for details.

**Parameters**

- **duration** ([*int*](https://docs.python.org/3/library/functions.html#int)  *|*[*ParameterExpression*](/docs/api/qiskit/0.46/qiskit.circuit.ParameterExpression "qiskit.circuit.parameterexpression.ParameterExpression")) – Pulse length in terms of the sampling period dt.
- **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str) *| None*) – Display name for this pulse envelope.
- **limit\_amplitude** ([*bool*](https://docs.python.org/3/library/functions.html#bool) *| None*) – If `True`, then limit the amplitude of the waveform to 1. The default is `True` and the amplitude is constrained to 1.

## Attributes

### duration

### name

### id

Unique identifier for this pulse.

### limit\_amplitude

Default value: `True`

### parameters

Return a dictionary containing the pulse’s parameters.

## Methods

### draw

`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** ([*Dict*](https://docs.python.org/3/library/typing.html#typing.Dict)*\[*[*str*](https://docs.python.org/3/library/stdtypes.html#str)*,* [*Any*](https://docs.python.org/3/library/typing.html#typing.Any)*] | 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*](https://docs.python.org/3/library/typing.html#typing.Tuple)*\[*[*int*](https://docs.python.org/3/library/functions.html#int)*,* [*int*](https://docs.python.org/3/library/functions.html#int)*] | None*) – Set horizontal axis limit. Tuple `(tmin, tmax)`.

- **time\_unit** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) – 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*](https://docs.python.org/3/library/functions.html#bool)) – Show waveform annotations, i.e. name, of waveforms. Set `True` to show additional information about waveforms.

- **plotter** ([*str*](https://docs.python.org/3/library/stdtypes.html#str)) –

  Name of plotter API to generate an output image. One of following APIs should be specified:

  ```python
  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*](https://docs.python.org/3/library/typing.html#typing.Any) *| 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.

**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

*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**

[*Waveform*](/docs/api/qiskit/0.46/qiskit.pulse.library.Waveform "qiskit.pulse.library.waveform.Waveform")

### is\_parameterized

`is_parameterized()`

Return True iff the instruction is parameterized.

**Return type**

[bool](https://docs.python.org/3/library/functions.html#bool)

### validate\_parameters

*abstract* `validate_parameters()`

Validate parameters.

**Raises**

[**PulseError**](/docs/api/qiskit/0.46/pulse#qiskit.pulse.PulseError "qiskit.pulse.PulseError") – If the parameters passed are not valid.
