seemps.evolution.tdvp#

seemps.evolution.tdvp(H: MPO, time: float | tuple[float | int | floating | integer, float | int | floating | integer] | Sequence[float | int | floating | integer] | ndarray[tuple[Any, ...], dtype[_ScalarT]], state: MPS, steps: int = 1000, strategy: Strategy = DEFAULT_STRATEGY, callback: Callable[[float, MPS], Any] | None = None, itime: bool = False)[source]#

Solve a Schrodinger equation using the Time Dependent Variational Principle (TDVP) algorithm.

Parameters:
HMPO

Hamiltonian in MPO form.

timeReal | tuple[Real, Real] | Sequence[Real]

Integration interval, or sequence of time steps.

stateMPS

Initial guess of the ground state.

stepsint, default = 1000

Integration steps, if not defined by t_span.

strategyStrategy, default = DEFAULT_STRATEGY

Truncation strategy for MPO and MPS algebra.

callbackCallable[[float, MPS], Any] | None

A callable called after each iteration (defaults to None).

itimebool, default = False

Whether to solve the imaginary time evolution problem.

Returns:
resultMPS | list[Any]

Final state after evolution or values collected by callback