seemps.evolution.runge_kutta#

seemps.evolution.runge_kutta(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, 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 fourth order Runge-Kutta method.

See seemps.evolution.euler() for a description of the missing function arguments 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.