seemps.evolution.crank_nicolson.crank_nicolson#
- seemps.evolution.crank_nicolson.crank_nicolson(H, t_span, state, steps=1000, tol_cgs=1e-14, maxiter_cgs=50, strategy=<seemps.state.core.Strategy object>, callback=None, itime=False)[source]#
Solve a Schrodinger equation using a fourth order Runge-Kutta method.
See :function:`seemps.evolution.euler` for a description of the function arguments.
- Parameters:
- H
MPO Hamiltonian in MPO form.
- t_span
float|tuple[float,float] |Vector Integration interval, or sequence of time steps.
- state
MPS Initial guess of the ground state.
- steps
int,default= 1000 Integration steps, if not defined by t_span.
- tol_cgs: float
Tolerance of the CGS algorithm.
- maxiter_cgs: int
Maximum number of iterations of the CGS algorithm.
- strategy
Strategy,default=DEFAULT_STRATEGY Truncation strategy for MPO and MPS algebra.
- callback
Optional[Callable[[float,MPS],Any]] A callable called after each iteration (defaults to None).
- itimebool,
default=False Whether to solve the imaginary time evolution problem.
- H