paraqeet.propagation.propagation.Propagation#

class paraqeet.propagation.propagation.Propagation(model, resolution)#

Bases: ABC

Abstract base class for any implementation of the equations of motion.

The right-hand side of the equation is provided by the underlying model.

Parameters:
  • model (Model) – Represents the equation of motion for a given Hamiltonian.

  • resolution (float) – Propagation resolution used to solve the equation of motion. The corresponding time step dt = 1/resolution

__init__(model, resolution)#
Parameters:

Methods

__init__(model, resolution)

get_parameters()

Per default, propagation methods have no parameters to optimize.

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()#

Per default, propagation methods have no parameters to optimize.

property is_open: bool#

Return if the propagation is for open or closed system.

abstract propagate(time)#

Return the solution of the equations of motion.

The first dimension of the result will always be the time. Like in the model, the format of the other dimensions depends on the implementation and could for example be a propagated state vector or a propagator in matrix form.

Parameters:

time (Array) – Any one-dimensional vector of timestamps.

Returns:

Returns the solution of the equations of motion.

Return type:

Array

property resolution: float#

Return the propagation resolution.

set_initial_state(state)#

Set the initial state for the propagation. (Default implementation)

Propagation implementations that do not need the state should not implement this function.

Subclasses can access the state in the _initial_sate field.

Parameters:

state (Array) – Parameter value to be set as the initial state for the propagation.