paraqeet.propagation.runge_kutta.RungeKutta#
- class paraqeet.propagation.runge_kutta.RungeKutta(model, initial_time_step=None)#
Bases:
PropagationPropagation via the Runge-Kutta Scipy implementation.
Uses scipy’s Runge-Kutta implementation for propagating a state vector or density matrix.
- Parameters:
model (Model) – Represents the equation of motion for a given Hamiltonian.
initial_time_step (float | None, optional) – The initial time step for the adaptive time steps in RK45.
- __init__(model, initial_time_step=None)#
- Parameters:
model (EquationOfMotion)
initial_time_step (float | None)
Methods
__init__(model[, initial_time_step])Get a list of parameters of the system.
propagate(time)Return the solution of the equations of motion.
set_initial_state(state)Set the initial state for the propagation.
Attributes
Return if the propagation is for open or closed system.
Return the propagation resolution.
- get_parameters()#
Get a list of parameters of the system.
- Returns:
List of optimizable parameters of the system.
- Return type:
list[Quantity]
- property is_open: bool#
Return if the propagation is for open or closed system.
- propagate(time)#
Return the solution of the equations of motion.
- Parameters:
time (Array) – Any one-dimensional vector of timestamps.
- Returns:
Returns the solution of the equations of motion.
- Return type:
Array
- Raises:
ConfigurationException – If the initial state is not set.
ValueError – If the propagation needs at least two time steps.
- property resolution: float#
Return the propagation resolution.
- set_initial_state(state)#
Set the initial state for the propagation.
Subclasses can access the state in the _initial_state field.
- Parameters:
state (Array) – Parameter value to be set as the initial state for the propagation.