qiskit-documentation/docs/api/qiskit/1.2/qiskit.pulse.library.gaussi...

76 lines
5.5 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: gaussian_square_echo (v1.2)
description: API reference for qiskit.pulse.library.gaussian_square_echo in qiskit v1.2
in_page_toc_min_heading_level: 1
python_api_type: function
python_api_name: qiskit.pulse.library.gaussian_square_echo
---
<span id="qiskit-pulse-library-gaussian-square-echo" />
# qiskit.pulse.library.gaussian\_square\_echo
<Function id="qiskit.pulse.library.gaussian_square_echo" isDedicatedPage={true} github="https://github.com/Qiskit/qiskit/tree/stable/1.2/qiskit/pulse/library/symbolic_pulses.py#L1064-L1264" signature="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)">
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 $f_{echo}(x)$ with amplitude `amp` and phase `angle` playing for half duration, followed by a second Gaussian Square pulse $-f_{echo}(x)$ with opposite amplitude and same phase playing for the rest of the duration. Third a Gaussian Square pulse $f_{active}(x)$ with amplitude `active_amp` and phase `active_angle` playing for the entire duration. The Gaussian Square Echo pulse $g_e()$ can be written as:
$$
\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`:
$$
\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:
$$
\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)*](https://iopscience.iop.org/article/10.1088/2058-9565/abe519)
**Parameters**
* **duration** ([*int*](https://docs.python.org/3/library/functions.html#int "(in Python v3.13)") *| ParameterValueType*) Pulse length in terms of the sampling period dt.
* **amp** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) The amplitude of the rise and fall and of the echoed pulse.
* **sigma** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression")) A measure of how wide or narrow the risefall is; see the class docstring for more details.
* **width** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") *| None*) The duration of the embedded square pulse.
* **angle** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") *| None*) The angle in radians of the complex phase factor uniformly scaling the echoed pulse. Default value 0.
* **active\_amp** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") *| None*) The amplitude of the active pulse.
* **active\_angle** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") *| None*) The angle in radian of the complex phase factor uniformly scaling the active pulse. Default value 0.
* **risefall\_sigma\_ratio** ([*float*](https://docs.python.org/3/library/functions.html#float "(in Python v3.13)") *|*[*ParameterExpression*](qiskit.circuit.ParameterExpression "qiskit.circuit.ParameterExpression") *| None*) The ratio of each risefall duration to sigma.
* **name** ([*str*](https://docs.python.org/3/library/stdtypes.html#str "(in Python v3.13)") *| None*) Display name for this pulse envelope.
* **limit\_amplitude** ([*bool*](https://docs.python.org/3/library/functions.html#bool "(in Python v3.13)") *| 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**](pulse#qiskit.pulse.PulseError "qiskit.pulse.PulseError") When width and risefall\_sigma\_ratio are both empty or both non-empty.
**Return type**
[SymbolicPulse](qiskit.pulse.library.SymbolicPulse "qiskit.pulse.library.SymbolicPulse")
</Function>