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
andwidth
parameters has to be specified.If
risefall_sigma_ratio
is not None andwidth
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 andrisefall_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
]) – IfTrue
, then limit the amplitude of the waveform to 1. The default isTrue
and the amplitude is constrained to 1.
- Lève
PulseError – When width and risefall_sigma_ratio are both empty or both non-empty.
Methods
Plot the interpolated envelope of pulse.
Return a Waveform with samples filled according to the formula that the pulse represents and the parameter values it contains.
Return True iff the instruction is parameterized.
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