ComplexIQMixer#

class ComplexIQMixer(envelopes, frequency=None, phase=None)[source]#

Bases: Generator

Control signal generation.

Signal envelopes (low bandwidth) are mixed with a local oscillator (high bandwidth) to apply a desired complex control field to the system.

Parameters:
  • envelopes (list[Signal] | None) – List[Signal] List of input envelope signals.

  • frequency (Quantity | None) – Quantity | None Frequency of local oscillator.

  • phase (Quantity | None) – Quantity | None Phase of local oscillator.

__init__(envelopes, frequency=None, phase=None)[source]#

Methods

__init__(envelopes[, frequency, phase])

get_gradient(times)

Calculate the gradient of the object.

get_parameters()

Return a list of parameters.

get_value(times)

Generate a signal for time(s).

get_value_and_gradient(times)

Calculate the value and the gradient of the object.

set_all_optimizable_parameters(all_params)

Set all optimizable parameters in the optimization.

set_optimizable_parameters(params)

Set specified parameters to be optimized.

Attributes

all_optimizable_parameters

Get the optimizable parameters.

name

Get the name of the parameter.

optimizable_parameters

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.

get_gradient(times)[source]#

Calculate the gradient of the object.

Parameters:

times (Array) – Array of times.

Returns:

The gradient of the object. There are two main cases.

1) The array has dimensions (n_times, n_params, (dimensions_of_object)). If the object is a scalar (1x1 Array) the dimension is just (n_times, n_params).

2) The array has dimension (n_params, (dimensions_of_object)). This is the case for instance of fidelities that are a function of an array of times.

Return type:

Array

get_parameters()[source]#

Return a list of parameters.

Collects and returns a list of parameters from the tone, generator and the carrier signal.

Returns:

list[Quantity]

All Parameters describing the signal.

Return type:

list[Quantity]

get_value(times)[source]#

Generate a signal for time(s).

Parameters:

times (Array) – Array One-dimensional vector of timestamps.

Returns:

Array

Returns the signal vector.

Return type:

Array

get_value_and_gradient(times)[source]#

Calculate the value and the gradient of the object.

Note

The default implementation here gathers the value and the gradient separately. For cases where the value can be obtained during the gradient calculation, this method is overwritten for efficiency.

Returns:

The value and the gradient of the object.

Return type:

tuple[Array, Array]

property name: str | None#

Get the name of the parameter.

Returns:

Name of the parameter.

property optimizable_parameters: list[Quantity]#

Get the optimizable parameters.

Returns:

The list of optimizable parameters associated with the object.

set_all_optimizable_parameters(all_params)[source]#

Set all optimizable parameters in the optimization.

Parameters:

all_params (list[Quantity]) – List of optimizable parameters to be set.

set_optimizable_parameters(params)[source]#

Set specified parameters to be optimized.

Parameters:

params (list[Quantity]) – list[Quantity]