paraqeet.signal.waveform.FlatTopGaussianFilter#
- class paraqeet.signal.waveform.FlatTopGaussianFilter(envelopes, t_final)#
Bases:
WaveformA shape filter that forces the pulse to smoothly start and end at zero. This filter multiplies the input pulse with a flat-top Gaussian pulse.
Note - Use filters before the generators. Else Automatic differentiation does not work.
This is similar to PWCGenerator.multiply_flat_top = True.
Methods
__init__(envelopes, t_final)Return envelopes from the FlatTopGaussianFilter.
Return a list of parameters.
Compute the double derivative with respect to parameter and time.
get_time_gradient(times)Compute a signal envelopes time derivative.
get_value(times)Evaluate a carrier signal from an input time vector.
get_value_and_gradient(times)Generate gradient of the signal for an array of time.
set_all_optimizable_parameters(all_params)Set all optimizable parameters in the optimization.
set_optimizable_parameters(params)Set specified parameters to be optimized.
Attributes
Get the optimizable parameters
Get the name of the parameter.
Get the optimizable parameters
- property all_optimizable_parameters: list[Quantity]#
Get the optimizable parameters
- Returns:
The list of all the optimizable parameters considered in the optimization
- Return type:
list[Quantity]
- get_parameters()#
Return a list of parameters.
Collects and returns a list of parameters from the tone, generator and the carrier signal.
- Returns:
All Parameters describing the signal.
- Return type:
list[Quantity]
- get_time_and_parameter_gradient(times)#
Compute the double derivative with respect to parameter and time.
This function computes $\frac{\partial^2 \Omega}{\partial t \partial alpha}$ for a pulse $\Omega(t)$ and parameter $\alpha$.
- Parameters:
times (Array) – One-dimensional vector of timestamps.
- Returns:
Returns a vector signals time derivative.
- Return type:
Array
- get_time_gradient(times)#
Compute a signal envelopes time derivative.
- Parameters:
times (Array) – One-dimensional vector of timestamps.
- Returns:
Returns a vector signals time derivative.
- Return type:
Array
- get_value(times)#
Evaluate a carrier signal from an input time vector.
- Parameters:
times (Array) – One-dimensional vector of timestamps.
- Returns:
Returns a vector carrier signal.
- Return type:
Array
- get_value_and_gradient(times)#
Generate gradient of the signal for an array of time.
Collect and return the parameter gradients from the Tone and the carrier Tone. Compute the gradient of the generator parameters by AD. The order of the gradients should match the order of parameters in self.get_parameter() method
- Parameters:
times (Array) – An array of time points.
- Returns:
Array of gradients wrt each parameter for each time point.
- Return type:
Array
- property name: str | None#
Get the name of the parameter.
- Returns:
Name of the parameter.
- Return type:
str | None
- property optimizable_parameters: list[Quantity]#
Get the optimizable parameters
- Returns:
The list of optimizable parameters associated with the object.
- Return type:
list[Quantity]
- set_all_optimizable_parameters(all_params)#
Set all optimizable parameters in the optimization.