paraqeet.propagation.runge_kutta.RungeKutta#

class paraqeet.propagation.runge_kutta.RungeKutta(model, initial_time_step=None)[source]#

Bases: Propagation

Propagation 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)[source]#
Parameters:

Methods

__init__(model[, initial_time_step])

get_parameters()

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

is_open

Return if the propagation is for open or closed system.

resolution

Return the propagation resolution.

get_parameters()[source]#

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)[source]#

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)[source]#

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.