Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

GaussianSquare

class GaussianSquare(duration: Union[int, qiskit.circuit.parameterexpression.ParameterExpression], amp: Union[complex, qiskit.circuit.parameterexpression.ParameterExpression], sigma: Union[float, qiskit.circuit.parameterexpression.ParameterExpression], width: Optional[Union[float, qiskit.circuit.parameterexpression.ParameterExpression]] = None, risefall_sigma_ratio: Optional[Union[float, qiskit.circuit.parameterexpression.ParameterExpression]] = None, name: Optional[str] = None, limit_amplitude: Optional[bool] = None)

GitHub

Bases: object

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{split}\text{risefall} &= \text{risefall\_sigma\_ratio} \times \text{sigma}\\ \text{width} &= \text{duration} - 2 \times \text{risefall}\end{split}

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)=amp×f(x)f(1)1f(1),0x<duration\begin{split}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{amp} \times \frac{f'(x) - f'(-1)}{1-f'(-1)}, \quad 0 \le x < \text{duration}\end{split}

where f(x)f'(x) is the gaussian square waveform without lifting or amplitude scaling.

Create new pulse instance.

Parameters

  • duration – Pulse length in terms of the sampling period dt.
  • amp – The amplitude of the Gaussian and of the square pulse.
  • 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.
  • 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.

Returns

SymbolicPulse instance.

Raises

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


Attributes

alias

Default value: 'GaussianSquare'

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