VMPS++
Loading...
Searching...
No Matches
TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType > Class Template Reference

Detailed Description

template<typename Hamiltonian, typename Symmetry, typename MpoScalar, typename TimeScalar, typename VectorType>
class TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >

Definition at line 14 of file TDVPPropagator.h.

#include <TDVPPropagator.h>

Public Member Functions

 TDVPPropagator ()
 
 TDVPPropagator (const Hamiltonian &H, VectorType &Vinout)
 
string info () const
 
double memory (MEMUNIT memunit=GB) const
 
double overhead (MEMUNIT memunit=GB) const
 
void t_step (const Hamiltonian &H, const VectorType &Vin, VectorType &Vout, TimeScalar dt, int N_stages=1, double tol_Lanczos=1e-8)
 
void t_step (const Hamiltonian &H, VectorType &Vinout, TimeScalar dt, int N_stages=1, double tol_Lanczos=1e-8)
 
void t_step0 (const Hamiltonian &H, VectorType &Vinout, TimeScalar dt, int N_stages=1, double tol_Lanczos=1e-8)
 
void t_step_adaptive (const Hamiltonian &H, VectorType &Vinout, TimeScalar dt, const vector< bool > &TWO_STEP_AT, int N_stages=1, double tol_Lanczos=1e-8)
 
VectorXd get_deltaE () const
 
double get_t_tot () const
 
vector< size_t > get_dimK2_log () const
 
vector< size_t > get_dimK1_log () const
 
vector< size_t > get_dimK0_log () const
 

Private Member Functions

void t_step_pivot (double x, const Hamiltonian &H, VectorType &Vinout, TimeScalar dt, double tol_Lanczos=1e-8)
 
void t0_step_pivot (bool BACK, double x, const Hamiltonian &H, VectorType &Vinout, TimeScalar dt, double tol_Lanczos=1e-8, bool TURN_FIRST=true)
 
void test_edge_eigenvector (const PivotVector< Symmetry, TimeScalar > &Asingle)
 
double x (int alg, size_t l, int N_stages)
 
void set_blocks (const Hamiltonian &H, VectorType &Vinout)
 
void build_L (const Hamiltonian &H, const VectorType &Vinout, int loc)
 
void build_R (const Hamiltonian &H, const VectorType &Vinout, int loc)
 

Private Attributes

VectorXd deltaE
 
VectorXd dimKlog
 
vector< PivotMatrix1< Symmetry, TimeScalar, MpoScalar > > Heff
 
PivotMatrix1< Symmetry, TimeScalar, MpoScalar > HeffLast
 
PivotMatrix1< Symmetry, TimeScalar, MpoScalar > HeffFrst
 
size_t N_sites
 
int pivot
 
DMRG::DIRECTION::OPTION CURRENT_DIRECTION
 
double dist_max = 0.
 
double dimK_max = 0.
 
vector< size_t > dimK0_log
 
vector< size_t > dimK1_log
 
vector< size_t > dimK2_log
 
int N_stages_last = 0
 
double t_0site = 0
 
double t_1site = 0
 
double t_2site = 0
 
double t_ohead = 0
 
double t_contr = 0
 
double t_tot = 0
 
TimeScalar last_dt
 

Constructor & Destructor Documentation

◆ TDVPPropagator() [1/2]

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::TDVPPropagator ( )
inline

Definition at line 18 of file TDVPPropagator.h.

◆ TDVPPropagator() [2/2]

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::TDVPPropagator ( const Hamiltonian &  H,
VectorType &  Vinout 
)

Definition at line 148 of file TDVPPropagator.h.

Member Function Documentation

◆ build_L()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::build_L ( const Hamiltonian &  H,
const VectorType &  Vinout,
int  loc 
)
inlineprivate

Definition at line 869 of file TDVPPropagator.h.

◆ build_R()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::build_R ( const Hamiltonian &  H,
const VectorType &  Vinout,
int  loc 
)
inlineprivate

Definition at line 886 of file TDVPPropagator.h.

◆ get_deltaE()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
VectorXd TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::get_deltaE ( ) const
inline

Definition at line 32 of file TDVPPropagator.h.

◆ get_dimK0_log()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
vector< size_t > TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::get_dimK0_log ( ) const
inline

Definition at line 36 of file TDVPPropagator.h.

◆ get_dimK1_log()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
vector< size_t > TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::get_dimK1_log ( ) const
inline

Definition at line 35 of file TDVPPropagator.h.

◆ get_dimK2_log()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
vector< size_t > TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::get_dimK2_log ( ) const
inline

Definition at line 34 of file TDVPPropagator.h.

◆ get_t_tot()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::get_t_tot ( ) const
inline

Definition at line 33 of file TDVPPropagator.h.

◆ info()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
string TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::info

Definition at line 80 of file TDVPPropagator.h.

◆ memory()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::memory ( MEMUNIT  memunit = GB) const

Definition at line 115 of file TDVPPropagator.h.

◆ overhead()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::overhead ( MEMUNIT  memunit = GB) const

Definition at line 133 of file TDVPPropagator.h.

◆ set_blocks()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::set_blocks ( const Hamiltonian &  H,
VectorType &  Vinout 
)
private

Definition at line 156 of file TDVPPropagator.h.

◆ t0_step_pivot()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t0_step_pivot ( bool  BACK,
double  x,
const Hamiltonian &  H,
VectorType &  Vinout,
TimeScalar  dt,
double  tol_Lanczos = 1e-8,
bool  TURN_FIRST = true 
)
private

Definition at line 640 of file TDVPPropagator.h.

◆ t_step() [1/2]

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_step ( const Hamiltonian &  H,
const VectorType &  Vin,
VectorType &  Vout,
TimeScalar  dt,
int  N_stages = 1,
double  tol_Lanczos = 1e-8 
)

Definition at line 550 of file TDVPPropagator.h.

◆ t_step() [2/2]

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_step ( const Hamiltonian &  H,
VectorType &  Vinout,
TimeScalar  dt,
int  N_stages = 1,
double  tol_Lanczos = 1e-8 
)

Definition at line 241 of file TDVPPropagator.h.

◆ t_step0()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_step0 ( const Hamiltonian &  H,
VectorType &  Vinout,
TimeScalar  dt,
int  N_stages = 1,
double  tol_Lanczos = 1e-8 
)

Definition at line 450 of file TDVPPropagator.h.

◆ t_step_adaptive()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_step_adaptive ( const Hamiltonian &  H,
VectorType &  Vinout,
TimeScalar  dt,
const vector< bool > &  TWO_STEP_AT,
int  N_stages = 1,
double  tol_Lanczos = 1e-8 
)

Definition at line 761 of file TDVPPropagator.h.

◆ t_step_pivot()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_step_pivot ( double  x,
const Hamiltonian &  H,
VectorType &  Vinout,
TimeScalar  dt,
double  tol_Lanczos = 1e-8 
)
private

Definition at line 559 of file TDVPPropagator.h.

◆ test_edge_eigenvector()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
void TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::test_edge_eigenvector ( const PivotVector< Symmetry, TimeScalar > &  Asingle)
private

Definition at line 846 of file TDVPPropagator.h.

◆ x()

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::x ( int  alg,
size_t  l,
int  N_stages 
)
private

Definition at line 211 of file TDVPPropagator.h.

Member Data Documentation

◆ CURRENT_DIRECTION

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
DMRG::DIRECTION::OPTION TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::CURRENT_DIRECTION
private

Definition at line 57 of file TDVPPropagator.h.

◆ deltaE

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
VectorXd TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::deltaE
private

Definition at line 44 of file TDVPPropagator.h.

◆ dimK0_log

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
vector<size_t> TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::dimK0_log
private

Definition at line 64 of file TDVPPropagator.h.

◆ dimK1_log

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
vector<size_t> TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::dimK1_log
private

Definition at line 65 of file TDVPPropagator.h.

◆ dimK2_log

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
vector<size_t> TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::dimK2_log
private

Definition at line 66 of file TDVPPropagator.h.

◆ dimK_max

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::dimK_max = 0.
private

Definition at line 63 of file TDVPPropagator.h.

◆ dimKlog

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
VectorXd TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::dimKlog
private

Definition at line 45 of file TDVPPropagator.h.

◆ dist_max

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::dist_max = 0.
private

Definition at line 62 of file TDVPPropagator.h.

◆ Heff

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
vector<PivotMatrix1<Symmetry,TimeScalar,MpoScalar> > TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::Heff
private

Definition at line 47 of file TDVPPropagator.h.

◆ HeffFrst

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
PivotMatrix1<Symmetry,TimeScalar,MpoScalar> TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::HeffFrst
private

Definition at line 49 of file TDVPPropagator.h.

◆ HeffLast

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
PivotMatrix1<Symmetry,TimeScalar,MpoScalar> TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::HeffLast
private

Definition at line 48 of file TDVPPropagator.h.

◆ last_dt

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
TimeScalar TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::last_dt
private

Definition at line 76 of file TDVPPropagator.h.

◆ N_sites

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
size_t TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::N_sites
private

Definition at line 55 of file TDVPPropagator.h.

◆ N_stages_last

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
int TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::N_stages_last = 0
private

Definition at line 67 of file TDVPPropagator.h.

◆ pivot

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
int TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::pivot
private

Definition at line 56 of file TDVPPropagator.h.

◆ t_0site

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_0site = 0
private

Definition at line 69 of file TDVPPropagator.h.

◆ t_1site

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_1site = 0
private

Definition at line 70 of file TDVPPropagator.h.

◆ t_2site

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_2site = 0
private

Definition at line 71 of file TDVPPropagator.h.

◆ t_contr

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_contr = 0
private

Definition at line 73 of file TDVPPropagator.h.

◆ t_ohead

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_ohead = 0
private

Definition at line 72 of file TDVPPropagator.h.

◆ t_tot

template<typename Hamiltonian , typename Symmetry , typename MpoScalar , typename TimeScalar , typename VectorType >
double TDVPPropagator< Hamiltonian, Symmetry, MpoScalar, TimeScalar, VectorType >::t_tot = 0
private

Definition at line 74 of file TDVPPropagator.h.


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