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.

qiskit.pulse.library.gaussian_square_echo

qiskit.pulse.library.gaussian_square_echo(duration, amp, sigma, width=None, angle=0.0, active_amp=0.0, active_angle=0.0, risefall_sigma_ratio=None, name=None, limit_amplitude=None)

GitHub

An echoed Gaussian square pulse with an active tone overlaid on it.

The Gaussian Square Echo pulse is composed of three pulses. First, a Gaussian Square pulse fecho(x)f_{echo}(x) with amplitude amp and phase angle playing for half duration, followed by a second Gaussian Square pulse fecho(x)-f_{echo}(x) with opposite amplitude and same phase playing for the rest of the duration. Third a Gaussian Square pulse factive(x)f_{active}(x) with amplitude active_amp and phase active_angle playing for the entire duration. The Gaussian Square Echo pulse ge()g_e() can be written as:

ge(x)={factive+fecho(x)x<duration2factivefecho(x)duration2<x\begin{aligned} g_e(x) &= \begin{cases} f_{\text{active}} + f_{\text{echo}}(x) & x < \frac{\text{duration}}{2}\\ f_{\text{active}} - f_{\text{echo}}(x) & \frac{\text{duration}}{2} < x \end{cases}\\ \end{aligned}

One case where this pulse can be used is when implementing a direct CNOT gate with a cross-resonance superconducting qubit architecture. When applying this pulse to the target qubit, the active portion can be used to cancel IX terms from the cross-resonance drive while the echo portion can reduce the impact of a static ZZ coupling.

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}

References

  1. Jurcevic, P., Javadi-Abhari, A., Bishop, L. S., Lauer, I., Bogorin, D. F., Brink, M., Capelluto, L., G{“u}nl{“u}k, O., Itoko, T., Kanazawa, N. & others Demonstration of quantum volume 64 on a superconducting quantum computing system. (Section V)

Parameters

  • duration (int | ParameterValueType) – Pulse length in terms of the sampling period dt.
  • amp (float |ParameterExpression) – The amplitude of the rise and fall and of the echoed pulse.
  • sigma (float |ParameterExpression) – A measure of how wide or narrow the risefall is; see the class docstring for more details.
  • width (float |ParameterExpression | None) – The duration of the embedded square pulse.
  • angle (float |ParameterExpression | None) – The angle in radians of the complex phase factor uniformly scaling the echoed pulse. Default value 0.
  • active_amp (float |ParameterExpression | None) – The amplitude of the active pulse.
  • active_angle (float |ParameterExpression | None) – The angle in radian of the complex phase factor uniformly scaling the active pulse. Default value 0.
  • risefall_sigma_ratio (float |ParameterExpression | None) – The ratio of each risefall duration to sigma.
  • 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.

Raises

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

Return type

SymbolicPulse

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