You are viewing the API reference for an old version of Qiskit SDK. Switch to latest version

# qiskit.pulse.library.gaussian_square

gaussian_square(duration, amp, sigma, risefall=None, width=None, name=None, zero_ends=True)

GitHub(opens in a new tab)

Generates gaussian square Waveform.

For $d=$ duration, $A=$ amp, $\sigma=$ sigma, and $r=$ risefall, applies the midpoint sampling strategy to generate a discrete pulse sampled from the continuous function:

$\begin{split}f(x) = \begin{cases} g(x - r) ) & x\leq r \\ A & r\leq x\leq d-r \\ g(x - (d - r)) & d-r\leq x \end{cases}\end{split}$

where $g(x)$ is the Gaussian function sampled from in gaussian() with $A=$ amp, $\mu=1$, and $\sigma=$ sigma. I.e. $f(x)$ represents a square pulse with smooth Gaussian edges.

If zero_ends == True, the samples for the Gaussian ramps are remapped as in gaussian().

Parameters

• duration (int) – Duration of pulse. Must be greater than zero.
• amp (complex) – Pulse amplitude.
• sigma (float) – Width (standard deviation) of Gaussian rise/fall portion of the pulse.
• risefall (Optional[float]) – Number of samples over which pulse rise and fall happen. Width of square portion of pulse will be duration-2*risefall.
• width (Optional[float]) – The duration of the embedded square pulse. Only one of width or risefall should be specified as the functional form requires width = duration - 2 * risefall.
• name (Optional[str]) – Name of pulse.
• zero_ends (bool) – If True, zero ends at x = -1, x = duration + 1, but rescale to preserve amp.

Raises

PulseError – If risefall and width arguments are inconsistent or not enough info.

Return type

Waveform