Skip to main contentIBM Quantum Documentation

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}
Deprecated since version 1.3

The function qiskit.pulse.library.symbolic_pulses.gaussian_square_echo() is deprecated as of Qiskit 1.3. It will be removed in Qiskit 2.0. The entire Qiskit Pulse package is being deprecated and will be moved to the Qiskit Dynamics repository: https://github.com/qiskit-community/qiskit-dynamics

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.