qiskit.pulse.library.Sech#

qiskit.pulse.library.Sech(duration, amp, sigma, angle=0.0, name=None, zero_ends=True, limit_amplitude=None)[source]#

An unnormalized sech pulse.

The sech function is centered around the halfway point of the pulse, and the envelope of the pulse is given by:

\[f(x) = \text{A}\text{sech}\left( \frac{x-\mu}{\text{sigma}}\right) , 0 <= x < duration\]

where \(\text{A} = \text{amp} \times\exp\left(i\times\text{angle}\right)\), and \(\mu=\text{duration}/2\).

If zero_ends is set to True, the output y is modified: .. math:

y\left(x\right) \mapsto \text{A}\frac{y-y^{*}}{\text{A}-y^{*}},

where \(y^{*}\) is the value of \(y\) at the endpoints (at \(x=-1 and :math:`x=\text{duration}+1\)). This shifts the endpoints value to zero, while also rescaling to preserve the amplitude at :math:text{duration}/2``.

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

  • amp (float | ParameterExpression) -- The magnitude of the amplitude of the pulse (the value at the midpoint duration/2).

  • sigma (float | ParameterExpression) -- A measure of how wide or narrow the sech peak is in terms of dt; described mathematically in the class docstring.

  • 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.

  • zero_ends (bool | None) -- If True, zeros the ends at x = -1, x = duration + 1, but rescales to preserve amp. Default value True.

  • 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