qiskit.pulse.library.Square

qiskit.pulse.library.Square(duration, amp, phase, freq=None, angle=0.0, name=None, limit_amplitude=None)[source]

A square wave pulse.

The envelope of the pulse is given by:

\[f(x) = \text{A}\text{sign}\left[\sin \left(2\pi x\times\text{freq}+\text{phase}\right)\right] , 0 <= x < duration\]

where \(\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)\), and \(\text{sign}\) is the sign function with the convention \(\text{sign}\left(0\right)=1\).

Parameters:
  • duration (int | ParameterExpression) – Pulse length in terms of the sampling period dt.

  • amp (float | ParameterExpression) – The magnitude of the amplitude of the square wave. Wave range is [-amp,`amp`].

  • phase (float | ParameterExpression) – The phase of the square wave (note that this is not equivalent to the angle of the complex amplitude).

  • freq (ParameterExpression | float | None) – The frequency of the square wave, in terms of 1 over sampling period. If not provided defaults to a single cycle (i.e :math:’frac{1}{text{duration}}’). The frequency is limited to the range \(\left(0,0.5\right]\) (the Nyquist frequency).

  • angle (ParameterExpression | float | None) – The angle in radians of the complex phase factor uniformly scaling the pulse. Default value 0.

  • name (str | None) – Display name for this pulse envelope.

  • limit_amplitude (bool | None) – If True, then limit the amplitude of the waveform to 1. The default is True and the amplitude is constrained to 1.

Returns:

ScalableSymbolicPulse instance.

Return type:

ScalableSymbolicPulse