seemps.evolution.runge_kutta_fehlberg#

seemps.evolution.runge_kutta_fehlberg(L: TypeAliasForwardRef('~seemps.operators.MPO') | Callable[[float, MPS], MPS], time: float | tuple[float | int | floating | integer, float | int | floating | integer] | Sequence[float | int | floating | integer] | NDArray, state: MPS, steps: int = 1000, tolerance: float = 1e-8, strategy: Strategy = DEFAULT_STRATEGY, callback: Callable[[float, MPS], Any] | None = None) TypeAliasForwardRef('~seemps.state.MPS') | list[Any][source]#

Solve d|state>/dt = F(t, state) using a Runge-Kutta-Fehlberg method.

See seemps.evolution.euler() for a description of the function arguments that are not described below and the function’s output.

Parameters:
LMPO | ODEFunction

Right-hand side of the ODE. If L is an MPO, the solver uses F(t, state) = L @ state. If L is callable, it must take (t, state) and return the MPS derivative at that point.

tolerancefloat, default = 1e-8

Tolerance for determination of evolution step.