Skip to main contentIBM Quantum Documentation
You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version


class qiskit.pulse.library.GaussianSquare(duration, amp, sigma, width=None, angle=None, risefall_sigma_ratio=None, name=None, limit_amplitude=None)

GitHub(opens in a new tab)

Bases: object(opens in a new tab)

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:

risefall=risefall_sigma_ratio×sigmawidth=duration2×risefall\begin{aligned} \text{risefall} &= \text{risefall\_sigma\_ratio} \times \text{sigma}\\ \text{width} &= \text{duration} - 2 \times \text{risefall} \end{aligned}

If width is not None and risefall_sigma_ratio is None:

risefall=durationwidth2\text{risefall} = \frac{\text{duration} - \text{width}}{2}

In both cases, the lifted gaussian square pulse f(x)f'(x) is defined as:

f(x)={exp(12(xrisefall)2sigma2)x<risefall1risefallx<risefall+widthexp(12(x(risefall+width))2sigma2)risefall+widthxf(x)=A×f(x)f(1)1f(1),0x<duration\begin{aligned} f'(x) &= \begin{cases} \exp\biggl(-\frac12 \frac{(x - \text{risefall})^2}{\text{sigma}^2}\biggr) & x < \text{risefall}\\ 1 & \text{risefall} \le x < \text{risefall} + \text{width}\\ \exp\biggl(-\frac12 \frac{{\bigl(x - (\text{risefall} + \text{width})\bigr)}^2} {\text{sigma}^2} \biggr) & \text{risefall} + \text{width} \le x \end{cases}\\ f(x) &= \text{A} \times \frac{f'(x) - f'(-1)}{1-f'(-1)}, \quad 0 \le x < \text{duration} \end{aligned}

where f(x)f'(x) is the gaussian square waveform without lifting or amplitude scaling, and A=amp×exp(i×angle)\text{A} = \text{amp} \times \exp\left(i\times\text{angle}\right).

Create new pulse instance.


  • duration – Pulse length in terms of the sampling period dt.
  • amp – The magnitude of the amplitude of the Gaussian and square pulse. Complex amp support is deprecated.
  • sigma – A measure of how wide or narrow the Gaussian risefall is; see the class docstring for more details.
  • width – The duration of the embedded square pulse.
  • angle – The angle of the complex amplitude of the pulse. Default value 0.
  • risefall_sigma_ratio – The ratio of each risefall duration to sigma.
  • name – Display name for this pulse envelope.
  • limit_amplitude – If True, then limit the amplitude of the waveform to 1. The default is True and the amplitude is constrained to 1.


ScalableSymbolicPulse instance.


PulseError – When width and risefall_sigma_ratio are both empty or both non-empty.



Default value: 'GaussianSquare'

Was this page helpful?
Report a bug or request content on GitHub.