SyTen
syten::T3N::TDVP::Worker Class Reference

TDVP worker. More...

#include <tdvp.h>

+ Collaboration diagram for syten::T3N::TDVP::Worker:

Public Member Functions

void do_step ()
 Does an entire time step sweeping forward and backward. More...
 
std::tuple< Timer, SRDef, SRDef, SRDef, SRDef, SRDefdo_step_dmft (bool const &use_mt=false)
 Performs a single time step. More...
 
Errors get_errs () const
 Returns errors. More...
 
std::vector< DenseTensor< 2 > > const & get_global_Us () const
 Gives back the rotation. More...
 
SRDef get_last_norm () const
 Returns the last norm. More...
 
syten::TDVP::Mode get_tdvp_mode ()
 Returns the current TDVP Mode
More...
 
SDef get_tdvp_timestep ()
 Returns the current TDVP timestep
More...
 
Timer const & get_timer () const
 Returns timer. More...
 
SRDef get_total_norm_change () const
 Returns the current norm. More...
 
void initArgs (int argc_, char **argv_)
 Initialses arguments. More...
 
template<class Archive >
void load (Archive &ar, unsigned int const in_version)
 Load. More...
 
bool reached_final_T () const
 True if final time is reached. More...
 
void run (bool const do_step_=false)
 Run TDVP. More...
 
template<class Archive >
void save (Archive &ar, unsigned int const in_version) const
 Overload to satisty boost. More...
 
template<class Archive >
void save (Archive &ar, unsigned int const)
 Save. More...
 
void set_tdvp_mode (syten::TDVP::Mode new_mode)
 Overwrites the current TDVP Mode
More...
 
void set_tdvp_timestep (SDef time_step)
 Overwrites the current TDVP timestep. More...
 
Conf const & showConf () const
 Shows the TDVP Configuration. More...
 
std::vector< Operator > const & showHamiltonian () const
 Returns the operators. More...
 
State const & showPsi () const
 Gives a const. More...
 
 Worker ()=default
 Default ctor. More...
 
 Worker (State &&psi_, Vec< Operator > &&ops_, Conf &&conf_, Vec< Operator > &&obs_=Vec< Operator >())
 Standard ctor. More...
 

Static Public Attributes

static constexpr unsigned int version = 1
 Version. More...
 

Private Member Functions

bool checkSignals () const
 Checks for signals. More...
 
void contract (Position const &pos, LegType const dir)
 Forwarder to build the contraction on node cptr from the neighbours of cptr, pptr and optr in direction dir. More...
 
void evolve_bond (Position const &pos, STensor &bond, SDef const prefactor, LegType const dir)
 Back evolves the bond in direction to the next site. More...
 
void evolve_branching_1site (Position const &pos, Vec< std::reference_wrapper< T3NTensor const > > const &w_refs, SDef const prefactor)
 Evolves one Branching Node. More...
 
void evolve_phys_1site (Position const &pos, Vec< std::reference_wrapper< T3NTensor const > > const &w_refs, SDef const prefactor)
 Evolves one Physical Node. More...
 
void evolve_phys_2site (STensor &site, Vec< T3NTensor > const &ws, SDef const prefactor, LegType const dir, Position const &pos)
 Evolves two Physical Nodes. More...
 
void evolve_phys_branch (STensor &site, Vec< STensor > const &ws, SDef const prefactor, LegType const direction, Position const &pos)
 Evolves physical branching contraction. More...
 
void evolve_phys_branch_phys (STensor &site, Vec< STensor > const &ws, SDef const prefactor, LegType const direction, LegType const secondDir, Position const &pos)
 Evolves physical branching physical contraction. More...
 
void expandPhysical (Position const &pos, LegType const direction, STensor &bond)
 expandes the next virtual leg More...
 
void initialise_path_rec (Position &pos, bool &rightMostReached)
 
void log_time_step (SRDef const &res_norm, std::string const &filename)
 Prints the time step information. More...
 
void mode_transform_2phys (Position const &pos, LegType const dir)
 Actually performs the mt on two neighbouring physical nodes. More...
 
void mode_transform_2phys_branch (Position const &pos, LegType const dir, LegType const second)
 Actually performs the mt on two physical and a branching node. More...
 
void mode_transform_node (Position const &pos, LegType const dir)
 Switch to decide which mt scheme to choose. More...
 
void mode_transform_rec (Position &pos)
 Applies mode transformation recursively. More...
 
STensor norm_bond (Position const &pos, LegType const &direction)
 Returns the bond in direction to the next site. More...
 
void normalise_network (Position const &pos, LegType towards)
 Normalises the network from position pos towards towards. More...
 
void project_onto_orthogonal_complement (Position const &pos, LegType const direction, STensor &bond, Vec< STensor > &expander, Vec< SBasis > &ex_basis)
 projects the expansion tensor onto the orthogonal compliment of the site tensor More...
 
void resetPosition ()
 Set position to start. More...
 
void update (Position &pos)
 Updates a subtree recursively. More...
 
void update_branch (LegType const direction, Position const &pos)
 Performs the actual update on a Branching Node. More...
 
void update_node (Position const &pos, LegType const dir, LegType const secondDir, bool const backEvolveSecondPhysOnly)
 A helper function in order to distinguish the kinds of updates. More...
 
void update_phys (LegType const direction, Position const &pos)
 Performs the actual update on a Physical Node. More...
 
void update_phys_branch (LegType const dir, Position const &pos)
 Updates a contraction of a physical and a branching node. More...
 
void update_phys_branch_phys (LegType const dir, LegType const secondDir, Position const &pos, bool const backEvolveSecondPhysOnly)
 Updates two physical sites. More...
 
void update_phys_phys (LegType const dir, Position const &pos)
 Two site updates an MP constallation. More...
 
Contraction of operator and state.
void build_rootContr (Position const &pos) const
 Build a local root-pointing contraction of the operator with the state (based on) the nodes given as arguments. More...
 
void build_rootContr_rec (Position &pos) const
 Recursively build an entire tree of root-pointing contractions. More...
 
void build_descendantContr (LegType const which, Position const &pos) const
 Build a contraction pointing towards the requested direction. More...
 

Private Attributes

int argc
 
char ** argv
 
Vec< LegTypebackward_path
 Path which is went during backwards step. More...
 
Conf conf
 configuration More...
 
Contractions contrs
 Contractions of op & psi. More...
 
Index count = 0
 Counts the number of time-steps made. More...
 
DenseTensor< 2, SDefexpect
 Dense tensor storing the expectation values. More...
 
Vec< LegTypeforward_path
 Path which is went during forward timestep. More...
 
SRDef krylov_error = 0.
 Krylov error. More...
 
SRDef last_norm
 tracks the last norm change More...
 
SRDef max_trunc_error = 0.
 Maximal truncation error. More...
 
Vec< Operatorobs
 time dependent observables More...
 
Vec< Operatorops
 Operator H in exp(-i dt H) More...
 
Position position
 Shows the current position during optimisation. More...
 
SRDef proj_error = NAN
 Projection error. More...
 
State psi
 current state More...
 
Index step_id = 0
 Current step number. More...
 
Timer timer
 Timer for performance information. More...
 
SRDef total_norm_change
 tracks the total norm change More...
 
SRDef trunc_error = 0.
 Truncation error. More...
 
Vec< DenseTensor< 2 > > Us = {}
 For transforming the creation and annihilation operators. More...
 

Static Private Attributes

static std::string const uuid = "6b0c9bfa-cf5d-11eb-b8bc-0242ac130003"
 UUID. More...
 

Detailed Description

TDVP worker.


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