mps-0.0.0
MatrixProductStatesinC++
 All Data Structures Namespaces Functions Variables Enumerations Enumerator Groups Pages
mps::Trotter3Solver Class Reference

Trotter method with three passes. More...

Inherits mps::TrotterSolver.

Public Member Functions

virtual double one_step (CMPS *P, index Dmax)
 Compute next time step. More...
 
 Trotter3Solver (const Hamiltonian &H, cdouble dt)
 Create a solver for the given nearest neighbor Hamiltonian and time step. More...
 

Detailed Description

Trotter method with three passes.

This method uses the second order formula (slightly more accurate than Trotter2Solver):

\[exp(-iH\Delta t) = exp(-iH_{even} \Delta t/2) exp(-iH_{odd} \Delta t) exp(-iH_{even} \Delta t/2)\]

Definition at line 134 of file time_evolve.h.

Constructor & Destructor Documentation

mps::Trotter3Solver::Trotter3Solver ( const Hamiltonian H,
cdouble  dt 
)

Create a solver for the given nearest neighbor Hamiltonian and time step.

Definition at line 30 of file solver_trotter3.cc.

Member Function Documentation

double mps::Trotter3Solver::one_step ( CMPS P,
index  Dmax 
)
virtual

Compute next time step.

Given the state $\psi(0)$ represented by P, estimate the state at $\psi(\Delta t)$ within the space of MPS with dimension <= Dmax. P contains the output.

Implements mps::TimeSolver.

Definition at line 36 of file solver_trotter3.cc.