VMPS++
Loading...
Searching...
No Matches
TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType > Class Template Reference

Detailed Description

template<typename Hamiltonian, size_t Nq, typename TimeScalar, typename VectorType>
class TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >

Definition at line 30 of file TEBDPropagator.h.

#include <TEBDPropagator.h>

Public Member Functions

 TEBDPropagator (DMRG::VERBOSITY::OPTION VERBOSITY=DMRG::VERBOSITY::SILENT)
 
void t_step (const Hamiltonian &H, const VectorType &Vin, VectorType &Vout, TimeScalar dt, double tol=1e-5, int Nexp=3, TEBD_EXCEPTION EX=NO_EXCEPTION)
 

Private Attributes

TimeScalar tstep
 
DMRG::VERBOSITY::OPTION CHOSEN_VERBOSITY
 
Mpo< Nq, TimeScalar > GateEvn1
 
Mpo< Nq, TimeScalar > GateEvn2
 
Mpo< Nq, TimeScalar > GateEvn3
 
Mpo< Nq, TimeScalar > GateOdd1
 
Mpo< Nq, TimeScalar > GateOdd2
 
Mpo< Nq, TimeScalar > GateOdd3
 
Mpo< Nq, TimeScalar > GateEvn1Double
 
Mpo< Nq, TimeScalar > GateOdd1Double
 

Constructor & Destructor Documentation

◆ TEBDPropagator()

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::TEBDPropagator ( DMRG::VERBOSITY::OPTION  VERBOSITY = DMRG::VERBOSITY::SILENT)

Definition at line 71 of file TEBDPropagator.h.

Member Function Documentation

◆ t_step()

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
void TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::t_step ( const Hamiltonian &  H,
const VectorType &  Vin,
VectorType &  Vout,
TimeScalar  dt,
double  tol = 1e-5,
int  Nexp = 3,
TEBD_EXCEPTION  EX = NO_EXCEPTION 
)

Performs a time evolution step $V_{out} \approx e^{H \cdot \delta t} V_{in}.$.

Parameters
H: Hamiltonian
Vin: input MPS
Vout: output MPS
dt: timestep $\delta t$, complex<double> for real time, double for imaginary time
tol: compression tolerance in MpsCompressor
Nexp: amount of exponentials to apply, implemented: 2,3,5,9,11 (see McLachlan, SIAM J.Sci.Comput. Vol. 16, No. 1, pp. 151-168, January 1995)
  • Nexp = 2 : error $O(\delta t^2)$
  • Nexp = 3 : error $O(\delta t^3)$, error constant : 0.070
  • Nexp = 5 : error $O(\delta t^3)$, error constant : 0.026
  • Nexp = 9 : error $O(\delta t^5)$, error constant : 0.014
  • Nexp = 11: error $O(\delta t^5)$, error constant : 0.0046
EX: set do not apply first or last gate

Definition at line 77 of file TEBDPropagator.h.

Member Data Documentation

◆ CHOSEN_VERBOSITY

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
DMRG::VERBOSITY::OPTION TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::CHOSEN_VERBOSITY
private

Definition at line 56 of file TEBDPropagator.h.

◆ GateEvn1

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
Mpo<Nq,TimeScalar> TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::GateEvn1
private

Definition at line 58 of file TEBDPropagator.h.

◆ GateEvn1Double

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
Mpo<Nq,TimeScalar> TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::GateEvn1Double
private

Definition at line 66 of file TEBDPropagator.h.

◆ GateEvn2

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
Mpo<Nq,TimeScalar> TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::GateEvn2
private

Definition at line 59 of file TEBDPropagator.h.

◆ GateEvn3

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
Mpo<Nq,TimeScalar> TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::GateEvn3
private

Definition at line 60 of file TEBDPropagator.h.

◆ GateOdd1

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
Mpo<Nq,TimeScalar> TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::GateOdd1
private

Definition at line 62 of file TEBDPropagator.h.

◆ GateOdd1Double

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
Mpo<Nq,TimeScalar> TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::GateOdd1Double
private

Definition at line 67 of file TEBDPropagator.h.

◆ GateOdd2

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
Mpo<Nq,TimeScalar> TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::GateOdd2
private

Definition at line 63 of file TEBDPropagator.h.

◆ GateOdd3

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
Mpo<Nq,TimeScalar> TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::GateOdd3
private

Definition at line 64 of file TEBDPropagator.h.

◆ tstep

template<typename Hamiltonian , size_t Nq, typename TimeScalar , typename VectorType >
TimeScalar TEBDPropagator< Hamiltonian, Nq, TimeScalar, VectorType >::tstep
private

Definition at line 55 of file TEBDPropagator.h.


The documentation for this class was generated from the following file: