paraqeet.model package¶
Submodules¶
paraqeet.model.closed_system module¶
Class definition of a closed model.
- class paraqeet.model.closed_system.ClosedSystem¶
Bases:
EquationOfMotionModel of a closed physical system, defined by a Hamiltonian.
Its dynamics is given by the Schrödinger equation.
- Parameters:
hamiltonian (Hamiltonian) – Matrix representation of a Hamiltonian.
- __init__(hamiltonian, ode_propagation=False)¶
- Parameters:
hamiltonian (Hamiltonian)
ode_propagation (bool)
- get_matrix(time)¶
Get the matrix equations of motion.
Computes the right hand side of the Schrödinger equation without multiplying the state. Used for unitary solvers.
- Parameters:
time (Array) – Vector of time samples.
- Returns:
RHS with dimension [t, n, n] with ‘t’ as time and ‘n’ as Hilbert space dimension.
- Return type:
Array
- get_parameters()¶
Get a list of optimisable parameters.
- Returns:
List of optimisable parameters of the system.
- Return type:
List[Quantity]
- gradient(t)¶
Compute the gradient of getMatrix.
- Parameters:
t (Array) – Vector of time samples.
- Returns:
Returns the gradient of getMatrix.
- Return type:
Array
- property ode_propagation: bool¶
Flag to set method of propagation to ODE.
- Returns:
Flag to use ODE propagation.
- Return type:
bool
paraqeet.model.composite_hamiltonian module¶
Class definition of the composite Hamiltonian model.
- class paraqeet.model.composite_hamiltonian.CompositeHamiltonian¶
Bases:
HamiltonianA hamiltonian that consists of subsystems and couplings.
This class takes care of the tensor products. The list of parameters will contain the parameters of all subsystems and couplings in the order they were added.
- Parameters:
subsystems (list[Hamiltonian]) – List of Hamiltonains forming the subsystems of a composite system.
couplings (list[Coupling], optional) – List of couplings between the various subsystems
- __init__(subsystems, couplings=None)¶
- Parameters:
subsystems (list[Hamiltonian])
couplings (list[Coupling] | None)
- dimension()¶
Return the dimension of the system.
- Returns:
Dimension of the system.
- Return type:
int
- get_collapseops()¶
Gather collapse operators from the subsystems and then tensor product them with identity to create the collapse operators of the right dimension.
- Return type:
list[tuple[Array, Array]]
- get_matrix_one_time(t)¶
Get matrix representation of the Hamiltonian for a single time point.
- Parameters:
t (float) – One time step.
- Returns:
Hamiltonian of shape [n, n] with ‘n’ as the Hilbert space dimension.
- Return type:
Array
- get_parameters()¶
Collect parameters from all subsystems and couplings.
- Parameters:
list[Quantity] – Returns the list of parameters of the system.
- Return type:
list[Quantity]
- get_subsystem_dimensions()¶
Return a list of dimensions of each subsystem in the composite Hamiltonian.
- Returns:
list of dimension of each subsystem.
- Return type:
list[int]
- gradient(t)¶
Return the gradient of each parameter.
Returns as an array for an array of input times. Uses vmap to iterate over time array to generate the gradients.
- Parameters:
t (Array) – Array of time samples.
- Returns:
Gradient for each time point in the input array of times.
- Return type:
Array
paraqeet.model.coupling module¶
Class definition of a coupling optimisable model.
- class paraqeet.model.coupling.Coupling¶
Bases:
OptimisableCreate a coupling optimisable model.
Represents the coupling of two or more subsystems in a composite Hamiltonian. This class implements longitudinal and transversal coupling with a constant scalar coefficient. The coefficient is the only optimisable parameter. Subclasses can alter the behavior by overriding the getMatrix function.
- Parameters:
subsystems (list[Hamiltonian]) – The coupled subsystems.
coefficient (Quantity) – Either a constant coefficient as float or a callable that returns the coefficient for a given time.
is_longitudinal (bool) – Whether the coupling is longitudinal or transversal.
use_rwa (bool, optional) – If the transversal coupling should use the rotating-wave approximation or should include double excitation terms.
- __init__(subsystems, coefficient, is_longitudinal, use_rwa=False)¶
- Parameters:
subsystems (list[Hamiltonian])
coefficient (Quantity)
is_longitudinal (bool)
use_rwa (bool)
- get_matrices(t)¶
Return the matrices for an array of time.
vmaps over the method for one time step.
- Parameters:
t (Array) – Array of times
- Returns:
The outer list are the coupling terms. The inner list represents the subsystems. The matrices (Array) have the same shape as the subsystem’s Hamiltonian.get_matrix: (t,n,n) with t the time and n the subsystem dimension.
- Return type:
list[list[Array]]
- get_matrices_one_time(t)¶
Return the matrix representation of the coupling for all subsystems.
A list of terms in the coupling is returned, where each of the term contains operators for each subsystem. A composite Hamiltonian puts these operators in the correct position in the tensor space to create the operators and then sum over the terms.
- Parameters:
t (float) – One time step.
- Returns:
The outer list are the coupling terms. The inner list contains matrices for each subsystem. The matrices (Array) have the same shape as the subsystem’s Hamiltonian.get_matrix_one_time: (n,n) with n the subsystem dimension.
- Return type:
list[List[Array]]
- get_parameters()¶
Collect parameters from all subsystems and couplings.
- Parameters:
list[Quantity] – Returns the list of parameters of the system.
- Return type:
list[Quantity]
- gradient(t)¶
Return the gradients for an array of times.
- Parameters:
t (Array) – One-dimensional vector of timestamps.
- Returns:
The outer list represents the gradients with respect to all optimised parameters. The rest is in the same shape as the result of get_matrices.
- Return type:
list[list[Array]]
- gradient_one_time(t)¶
Get the one-time gradient of the matrix.
Returns the gradient of the matrix representation of the coupling for all subsystems. Each entry in the list is the gradient with respect to one parameter, factorised into subsystems (representing a list of term in the coupling).
- Parameters:
t (float) – One time point.
- Returns:
The outer list represents the gradients with respect to all optimised parameters. The rest is in the same shape as the result of getMatricesOneTime.
- Return type:
list[list[list[Array]]]
- property subsystems: list[Hamiltonian]¶
Return all subsystems that are coupled by this term.
- Returns:
List of subystems.
- Return type:
list[Hamiltonian]
paraqeet.model.custom_hamiltonian module¶
Custom Hamiltonian wrapper for H(t).
- class paraqeet.model.custom_hamiltonian.CustomHamiltonian¶
Bases:
HamiltonianCustom Hamiltonian class to simulate systems using a user defined Hamitonian function..
Here we expect a Hamiltonian function of the form H(t, *params). Here params is a list of scalars (NOT `Quantity`).
But, parameters is a list of Quantity that would be optimised.
It is advised to make the Hamiltonian function vmap and jit compatible. Furthermore, it is advised to write the Hamiltonian function in a way such that it takes a single time point (scalar) as input and returns a jax array of dimensions [n, n].
Additionally, to optimise the parameters, one needs to pass a list of gradient functions correspoding to each parameter, in the same order as the parameter list.
To use open system simulation, provide a list of tuples of decay rates and corresponding collapse opearators.
- __init__(hamiltonian_function, parameters, gradient_functions=None, collapse_operators=None)¶
- Parameters:
hamiltonian_function (Callable[[Array, Any], Array])
parameters (list[Quantity])
gradient_functions (list[Callable] | None)
collapse_operators (list[tuple[Array, Array]] | None)
- property collapse_operators: list[tuple[Array, Array]] | None¶
Return collapse operators.
- dimension()¶
Return dimension of the Hilbert space.
- get_collapseops()¶
Return collapse operators.
- Return type:
list[tuple[Array, Array]]
- get_matrix(t)¶
Return Hamiltonian as a function of time for an array of time.
- Parameters:
t (Array)
- Return type:
Array
- get_matrix_one_time(t)¶
Return Hamiltonian as a function of time for a single time point.
- Parameters:
t (Array)
- gradient(t)¶
Return Hamiltonian as a function of time for a single time point.
- Parameters:
t (Array)
- Return type:
Array
- property gradient_functions: list[Callable] | None¶
Return gradient functions.
- gradient_one_time(t)¶
Return the gradient as a function of time for a single time point.
paraqeet.model.drive module¶
Class definition of a Drive optimisable model.
- class paraqeet.model.drive.Drive¶
Bases:
Optimisable,ABCRepresents a time-dependent drive on a subsystem.
This can for example be a microwave or flux drive.
- get_matrix(annihilation_operator, t)¶
Return the matrix representation of the drive.
The dimension is given by the Hamiltonian to which this drive is attached. The default implementation calls getMatrixOneTime for each time step. Subclasses can override this function for a more efficient implementation.
- Parameters:
annihilation_operator (Array) – Operator of the subsystem to which this drive is attached
t (Array) – Vector of time samples.
- Returns:
Matrix of shape [t, n, n] with ‘t’ as time and ‘n’ as the Hilbert space dimension.
- Return type:
Array
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
- get_matrix_one_time(annihilation_operator, t)¶
Return the matrix representation of the drive.
The dimension is given by the Hamiltonian to which this drive is attached.
- Parameters:
annihilation_operator (Array) – Operator of the subsystem to which this drive is attached.
t (float) – One time point.
- Returns:
Matrix of shape [n, n] with n as the Hilbert space dimension.
- Return type:
Array
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
- gradient(annihilation_operator, t)¶
Return the gradient of the system.
Returns the gradient of the matrix representation of the Hamiltonian with respect to each parameter as a list.
- Parameters:
annihilation_operator (Array) – Operator of the subsystem to which this drive is attached.
t (Array) – Vector of time samples.
- Returns:
Array of shape [t, p, n, n] with ‘t’ as time, ‘p’ as number of parameters and ‘n’ as the Hilbert space dimension.
- Return type:
Array
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
- gradient_one_time(annihilation_operator, t)¶
Get the one-time gradient of the system.
Returns the gradient of the matrix representation of the Hamiltonian with respect to each parameter as a list.
- Parameters:
annihilation_operator (Array) – Operator of the subsystem to which this drive is attached.
t (float) – One time step.
- Returns:
Array of shape [p, n, n] with ‘p’ as the number of parameters and ‘n’ as the Hilbert space dimension.
- Return type:
Array
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
paraqeet.model.drive_operator module¶
Class definition of the Generator Drive model.
- class paraqeet.model.drive_operator.DriveOperator¶
Bases:
DriveCreate a generator drive model.
Transversal (a^\dagger + a or \sigma_x type) or longitudinal (a^\dagger a or \sigma_z type) drive with a time-dependent scalar coefficient that is generated by a Generator object.
- Parameters:
generator (Generator) – Signal generator stack.
is_longitudinal (bool) – Generator is longitudinal or transversal depending on this boolean.
- property generator: Generator¶
Get the signal generator from the system.
- Returns:
Returns the signal generator object from the system.
- Return type:
- get_matrix_one_time(a, t)¶
Get the one-time matrix of the system.
Fetches the coefficient from the drive and transforms it into the correct shape for the Hamiltonian.
- Parameters:
a (Array) – Operator for longitudinal or transverse drive.
t (Array) – One-dimensional vector of timestamps.
- Returns:
Returns the shape-shifted coefficient from the drive.
- Return type:
Array
- get_parameters()¶
Get a list of parameters of the system.
- Returns:
List of optimizable parameters of the system.
- Return type:
list[Quantity]
- gradient_one_time(a, t)¶
Get the one-time gradient of the system.
Fetches the gradient from the drive and transforms it into the correct shape for the Hamiltonian.
- Parameters:
a (Array) – Operator for longitudinal or transverse drive.
t (Array) – One-dimensional vector of timestamps.
- Returns:
Returns the shape-shifted gradient from the drive.
- Return type:
Array
paraqeet.model.equation_of_motion module¶
Class definition of the optimisable model.
- class paraqeet.model.equation_of_motion.EquationOfMotion¶
Bases:
OptimisableRepresents the equation of motion for a given Hamiltonian.
Implementations can for example be the Schrödinger equation for a closed system, Lindbladian for an open system, or Hamilton’s equations for a classical system.
- Parameters:
hamiltonian (Hamiltonian) – Matrix representation of a Hamiltonian.
- __init__(hamiltonian)¶
- Parameters:
hamiltonian (Hamiltonian)
- abstract get_matrix(time)¶
Abstract method to get the prefactor matrix.
- Parameters:
time (Array) – Any one-dimensional vector of timestamps.
- Returns:
Returns matrix equations of motion.
- Return type:
Array
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
- abstract get_parameters()¶
Abstract method to get parameters of the model.
- Returns:
Returns the list of parameters as Quantities.
- Return type:
list[Quantity]
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
- get_right_hand_side(time, state)¶
Return the right-hand side of the equations of motion.
The format depends on the implementation and could for example be a state vector or a matrix. Default implementation assumes a homogeneous ODE with matrix operator given by self.getMatrix().
- Parameters:
time (Array) – Any one-dimensional vector of timestamps.
state (Array)
- Returns:
The right-hand side of the equation of motion at each time stamp.
- Return type:
Array
- abstract gradient(t)¶
Implement the gradient of either getEquationOfMotion or getMatrixEOM.
- Parameters:
t (Array) – Any one-dimensional vector of timestamps.
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
- Return type:
Array
paraqeet.model.hamiltonian module¶
Class definition for a matrix representation of a Hamiltonian.
- class paraqeet.model.hamiltonian.Hamiltonian¶
Bases:
Optimisable,ABCClass definition for a matrix representation of a Hamiltonian.
Implementations can contain subsystems, couplings, and drive lines and have to take care of frame transformations. Derived classes need to implement the functions getMatrix, gradient, and dimension.
- Parameters:
drives (list[Drive]) – List of time-dependent drives.
- dimension()¶
Return the dimension of the Hilbert space of this Hamiltonian.
- Returns:
Returns the dimension of the Hilbert space of this Hamiltonian.
- Return type:
int
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
- property drives: list[Drive]¶
Return the list of Drives of the system.
- Returns:
Returns a list of time-dependent drives of the system.
- Return type:
list[Drive]
- get_collapseops()¶
Return a list tuples of decay rates and collapse operators for each subsystem.
- Returns:
List of collapse operators
- Return type:
list[Tuple[Array, Array]]
- get_matrix(t)¶
Return the matrix representation of the Hamiltonian.
The default implementation calls getMatrixOneTime for each time step. Subclasses can override this function for a more efficient implementation.
- Parameters:
t (Array) – Vector of time samples.
- Returns:
Hamiltonian of shape [t, n, n] with ‘t’ as time and ‘n’ as the Hilbert space dimension.
- Return type:
Array
- get_matrix_one_time(t)¶
Return the matrix representation of the Hamiltonian.
- Parameters:
t (Array) – One time point.
- Returns:
Hamiltonian of shape [n, n] with n as the Hilbert space dimension.
- Return type:
Array
- Raises:
NotImplementedError – Subclasses derived from this class must implement this method.
- gradient(t)¶
Return the gradient of the system.
Returns the gradient of the matrix representation of the Hamiltonian with respect to each parameter for each time step in t. Implementations must make sure that only derivatives with respect to those parameters are included in the gradient that were registered in the Optimisable parent class. The order of the gradients should match the order of the parameters returned by getParameters. The default implementation calls gradient_one_time for each time step. Subclasses can override this function for a more efficient implementation.
- Parameters:
t (Array) – Vector of time samples.
- Returns:
Hamiltonian of shape [t, p, n, n] with ‘t’ as time, ‘p’ as number of parameters and ‘n’ as Hilbert space dimension.
- Return type:
Array
- gradient_one_time(t)¶
Return the one-time gradient of the system.
Return the gradient of the matrix representation of the Hamiltonian with respect to each parameter for one time step t. Implementations must make sure that only derivatives with respect to those parameters are included in the gradient that were registered in the Optimisable parent class. The order of the gradients should match the order of the parameters returned by getParameters.
- Parameters:
t (Array) – One time step.
- Returns:
Hamiltonian of shape [p, n, n] with ‘p’ as the number of parameters and ‘n’ as the Hilbert space dimension.
- Return type:
list[Array]
paraqeet.model.open_system module¶
Class definition of an open system.
- class paraqeet.model.open_system.OpenSystem¶
Bases:
EquationOfMotionModel of an open quantum system, defined by the Hamiltonian and collapse operators. Its dynamics given by the Lindblad master equation.
Currently the gradients for ODE propagation methods is not supported.
- Parameters:
hamiltonian (Hamiltonian) – Matrix representation of a Hamiltonian.
sparse_superop (bool) – Flag to save superoperator as sparse matrices.
ode_propagation (bool) – Flag to use ODE methods for propgation. If true then get_matrix method returns list of Hamiltonian (with time) and collapse operator. Else returns Lindblad superoperator.
- __init__(hamiltonian, sparse_superop=False, ode_propagation=False)¶
- Parameters:
hamiltonian (Hamiltonian)
sparse_superop (bool)
ode_propagation (bool)
- get_collapseops()¶
Get a list of tuples of decay rates and collapse operators for each subsystem.
- Returns:
list of collapse operators
- Return type:
list[tuple[float, Array]]
- get_matrix(time)¶
Computes the right hand side of the Schrödinger equation without multiplying the state. Used for unitary solvers.
- Parameters:
time (Array) – Vector of time samples
- Returns:
RHS with dimension [t, n, n] with t: time, n: hilbert space
- Return type:
Array
- get_parameters()¶
Get a list of optimisable parameters.
- Returns:
list of optimizable parameters of the system.
- Return type:
list[Quantity]
- gradient(t)¶
Compute the gradient of get_matrix.
- Return type:
Array
- property ode_propagation: bool¶
Flag to set method of propagation to ODE.
- Returns:
Flag to use ODE propagation.
- Return type:
bool
- property sparse_superop: bool¶
Flag to store superoperators as sparse matrices.
- Returns:
Flag to store sparse matrices.
- Return type:
bool
paraqeet.model.qubit module¶
Class definition of a qubit model.
- class paraqeet.model.qubit.Qubit¶
Bases:
HamiltonianHamiltonian of a single qubit frequency/2 * sigma_z.
The implementation uses the convention of having the excited state of the qubit as the first entry in the state. If you need a two-level system that is compatible with the projection of a higher-dimensional system (ground state as first entry), use a resonator and restrict its dimension to 2.
- Parameters:
- __init__(frequency, drives=None, t1=None, temp=None, t2star=None)¶
- dimension()¶
Dimension of the qubit.
- Returns:
Returns 2 as the dimension.
- Return type:
int
- get_collapseops()¶
Return a list tuples of decay rates and collapse operators for each subsystem.
- Return type:
list[tuple[Array, Array]]
- get_decay_rates()¶
Return decay rate for T1, T2star and Temp respectively.
- Return type:
list[Array]
- get_matrix_one_time(t)¶
Get the drive matrix.
- Parameters:
t (Array) – One time stamp.
- Returns:
The repeated drive matrix.
- Return type:
Array
- get_parameters()¶
Get parameters of the model.
- Returns:
Returns the list of parameters of the system.
- Return type:
list[Quantity]
- gradient_one_time(t)¶
Get the gradient of the drive.
- Parameters:
t (Array) – One time stamp.
- Returns:
Returns the gradients of the drive.
- Return type:
Array
paraqeet.model.resonator module¶
Class definition of the Resonator Hamiltonian model.
- class paraqeet.model.resonator.Resonator¶
Bases:
HamiltonianHamiltonian of a harmonic oscillator.
The only optimisable parameter is the frequency.
- Parameters:
- __init__(dimension, frequency, drives=None, t1=None, temp=None, t2star=None)¶
- dimension()¶
Get the dimension of the resonator.
- get_collapseops()¶
Return a list tuples of decay rates and collapse operators for each subsystem.
- Returns:
List of collapse operators
- Return type:
list[tuple[Array, Array]]
- get_decay_rates()¶
Return decay rate for T1, T2star and Temp respectively.
- Return type:
list[Array]
- get_matrix_one_time(t)¶
Get the drive matrix.
- Parameters:
t (float) – One time stamp.
- Returns:
The drive matrix at a single timestamp.
- Return type:
Array
- get_parameters()¶
Get parameters of the model.
- Returns:
Returns the list of parameters of the system.
- Return type:
List[Quantity]
- gradient_one_time(t)¶
Get the gradient of the drive.
- Parameters:
t (float) – One time stamp.
- Returns:
Returns the gradients of the drive.
- Return type:
Array
paraqeet.model.rotating_frame_coupling module¶
Coupling Hamiltonian in the rotating frame of drive.
- class paraqeet.model.rotating_frame_coupling.RotatingFrameCoupling¶
Bases:
CouplingImplements the coupling in the rotating frame of the drive.
If multiple subsystems are coupled specify the difference frequency of the individual drive frames.
NOTE - Right now this only works for TWO SUBSYSTEMS. TODO - Generalize this for multiple subsystems
- Parameters:
subsystems (list[Hamiltonian]) – A set of Hamiltonians which represent the coupling
coefficient (Quantity) – Constant drive coefficient.
diffFreq (Quantity) – Diffrence of drive frequencies for multiple subsystems.
- __init__(subsystems, coefficient, diffFreq)¶
- Parameters:
subsystems (list[Hamiltonian])
coefficient (Quantity)
diffFreq (Quantity)
- get_matrices_one_time(t)¶
Return the matrix representation of the coupling for all subsystems.
A list of terms in the coupling is returned, where each of the term contains operators for each subsystem. A composite Hamiltonian puts these operators in the correct position in the tensor space to create the operators and then sum over the terms.
- Parameters:
t (Array) – One time step.
- Returns:
The outer list are the coupling terms. The inner list contains matrices for each subsystem. The matrices (Array) have the same shape as the subsystem’s Hamiltonian.get_matrix_one_time: (n,n) with n the subsystem dimension.
- Return type:
list[list[Array]]
- get_parameters()¶
Return the coupling coeffecient and the difference frequency.
NOTE - Optimisation using relational quantities can be optimise the drive frequencies for the two subsystems.
- Parameters:
list[Quantity] – Returns the list of parameters of the system.
- Return type:
list[Quantity]
- gradient_one_time(t)¶
Get the one-time gradient of the matrix.
Returns the gradient of the matrix representation of the coupling for all subsystems. Each entry in the list is the gradient with respect to one parameter, factorised into subsystems (representing a list of term in the coupling).
- Parameters:
t (Array) – One time point.
- Returns:
The outer list represents the gradients with respect to all optimised parameters. The rest is in the same shape as the result of get_matrices_one_time.
- Return type:
list[list[list[Array]]]
paraqeet.model.rotating_frame_drive module¶
Class definition of the Drive Hamiltonian in the rotating frame of drive.
- class paraqeet.model.rotating_frame_drive.RotatingFrameDrive¶
Bases:
DriveDrive Hamiltonian in the Frame rotating at the frequency of the drive.
- __signal_generator: Generator
Signal Generator without a LO, like the PWCGenerator
- property generator: Generator¶
Get the signal generator from the system.
- Returns:
Returns the signal generator object from the system.
- Return type:
- get_matrix_one_time(annihilation_operator, t)¶
Implement drive in the rotating frame of drive.
Drive Hamiltonian is implemented as \big\{ \Omega a + \Omega^* a^\dagger \big\} Where \Omega is the envelope (without the LO).
- Parameters:
annihilation_operator (Array) – Annihilation operator of the subsystem
t (Array) – One time step
- Return type:
Array
- get_parameters()¶
Get a list of parameters of the system.
- Returns:
List of optimizable parameters of the system.
- Return type:
list[Quantity]
- gradient_one_time(annihilation_operator, t)¶
Get the one-time gradient of the system.
Fetches the gradient from the drive and transforms it into the correct shape for the Hamiltonian.
- Parameters:
annihilation_operator (Array) – Operator for longitudinal or transverse drive.
t (Array) – One-dimensional vector of timestamps.
- Returns:
Returns the shape-shifted gradient from the drive.
- Return type:
Array
paraqeet.model.transmon module¶
Class definition of the Transmon Hamiltonian model.
- class paraqeet.model.transmon.Transmon¶
Bases:
HamiltonianHamiltonian of an anharmonic oscillator.
Optimisable parameters are the ground frequency and the anharmonicity.
- Parameters:
- __init__(dimension, frequency, anharmonicity, drives=None, t1=None, temp=None, t2star=None)¶
- dimension()¶
Get the dimension of the Transmon system.
- Return type:
int
- get_collapseops()¶
Return a list tuples of decay rates and collapse operators for each subsystem.
- Returns:
List of collapse operators
- Return type:
list[tuple[Array, Array]]
- get_decay_rates()¶
Return decay rate for T1, T2star and Temp respectively.
- Return type:
list[Array]
- get_matrix_one_time(t)¶
Get the drive matrix.
- Parameters:
t (Array) – Vector of time samples.
- Returns:
The repeated drive matrix.
- Return type:
Array
- get_parameters()¶
Get parameters of the model.
- Returns:
Returns the list of parameters of the system.
- Return type:
List[Quantity]
- gradient_one_time(t)¶
Get the gradient of the drive.
- Parameters:
t (Array) – Single time stamp.
- Returns:
Returns the gradients of the drive.
- Return type:
Array
Module contents¶
Base model module.