seemps.evolution.euler.euler2#
- seemps.evolution.euler.euler2(H, t_span, state, steps=1000, strategy=<seemps.state.core.Strategy object>, callback=None, itime=False)[source]#
Solve a Schrodinger equation using the 2nd order Euler method.
Implements a two-step integration method. In imaginary time this is .. math:
\xi(t_{n}) = 2 \psi(t_{n}) - i \delta t H \psi(t_{n}) \psi(t_{n+1}) = \psi(t_{n}) - (i \delta t/2) H \xi(t_{n})
The Euler algorithm is a very bad integrator and is offered only for illustrative purposes. See :function:`euler` to understand the parameters.
- 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.
- 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