# GaussianSquare¶

class GaussianSquare(duration, amp, sigma, width=None, risefall_sigma_ratio=None, name=None, limit_amplitude=None)[source]

Bases : SymbolicPulse

A square pulse with a Gaussian shaped risefall on both sides lifted such that its first sample is zero.

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{split}\text{risefall} &= \text{risefall_sigma_ratio} \times \text{sigma}\\ \text{width} &= \text{duration} - 2 \times \text{risefall}\end{split}$

If width is not None and risefall_sigma_ratio is None:

$\text{risefall} = \frac{\text{duration} - \text{width}}{2}$

In both cases, the lifted gaussian square pulse $$f'(x)$$ is defined as:

$\begin{split}f'(x) &= \begin{cases} \exp\biggl(-\frac12 \frac{(x - \text{risefall})^2}{\text{sigma}^2}\biggr) & x < \text{risefall}\\ 1 & \text{risefall} \le x < \text{risefall} + \text{width}\\ \exp\biggl(-\frac12 \frac{{\bigl(x - (\text{risefall} + \text{width})\bigr)}^2} {\text{sigma}^2} \biggr) & \text{risefall} + \text{width} \le x \end{cases}\\ f(x) &= \text{amp} \times \frac{f'(x) - f'(-1)}{1-f'(-1)}, \quad 0 \le x < \text{duration}\end{split}$

where $$f'(x)$$ is the gaussian square waveform without lifting or amplitude scaling.

Create new pulse instance.

Paramètres
• duration (Union[int, ParameterExpression]) – Pulse length in terms of the sampling period dt.

• amp (Union[complex, ParameterExpression]) – The amplitude of the Gaussian and of the square pulse.

• sigma (Union[float, ParameterExpression]) – A measure of how wide or narrow the Gaussian risefall is; see the class docstring for more details.

• width (Union[float, ParameterExpression, None]) – The duration of the embedded square pulse.

• risefall_sigma_ratio (Union[float, ParameterExpression, None]) – The ratio of each risefall duration to sigma.

• name (Optional[str]) – Display name for this pulse envelope.

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

Lève

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

Methods

 draw Plot the interpolated envelope of pulse. get_waveform Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains. is_parameterized Return True iff the instruction is parameterized. validate_parameters Validate parameters.

Attributes

constraints

Return symbolic expression for the pulse parameter constraints.

Type renvoyé

Expr

duration
envelope

Return symbolic expression for the pulse envelope.

Type renvoyé

Expr

id

Unique identifier for this pulse.

Type renvoyé

int

limit_amplitude = True
name
parameters
Type renvoyé

Dict[str, Any]

pulse_type

Return display name of the pulse shape.

Type renvoyé

str

risefall_sigma_ratio

Return risefall_sigma_ratio. This is auxiliary parameter to define width.

valid_amp_conditions

Return symbolic expression for the pulse amplitude constraints.

Type renvoyé

Expr