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