SyTen
syten::IPEPSv2::CornerTransferMatrix Struct Reference

iPEPSv2 corner transfer matrix representation. More...

#include <ctm.h>

+ Collaboration diagram for syten::IPEPSv2::CornerTransferMatrix:

Classes

struct  GrowthResult
 Helper struct representing the result of a growth step. More...
 

Public Types

enum class  GrowthMode { SVDOnly , WithQR , SVDLiao }
 Selects the CTM growth mode, using either a simple SVD of the projector or a more involved QR decomposition. More...
 

Public Member Functions

 CornerTransferMatrix (CornerTransferMatrix &&other)=default
 Move ctor. More...
 
 CornerTransferMatrix (CornerTransferMatrix const &other)=default
 Copy ctor. More...
 
 CornerTransferMatrix (State const &psi, GrowthMode m=GrowthMode::WithQR)
 Standard ctor. More...
 
void disable_autodiff ()
 Disables autodifferentiation for all tensors in this CTM. More...
 
GrowthResult grow (State const &psi, Truncation const &trunc)
 Grows the CTM once from each direction. More...
 
GrowthResult grow_b (State const &psi, Truncation const &trunc)
 Grows the CTM from the bottom along an entire unit cell. More...
 
GrowthResult grow_b_once (int d, State const &psi, Truncation const &trunc)
 Grows the CTM from the bottom on the specified rung. More...
 
GrowthResult grow_l (State const &psi, Truncation const &trunc)
 Grows the CTM from the left along an entire unit cell. More...
 
GrowthResult grow_l_once (int w, State const &psi, Truncation const &trunc)
 Grows the CTM from the left on the specified rung. More...
 
GrowthResult grow_r (State const &psi, Truncation const &trunc)
 Grows the CTM from the right along an entire unit cell. More...
 
GrowthResult grow_r_once (int w, State const &psi, Truncation const &trunc)
 Grows the CTM from the right on the specified rung. More...
 
GrowthResult grow_t (State const &psi, Truncation const &trunc)
 Grows the CTM from the top along an entire unit cell. More...
 
GrowthResult grow_t_once (int d, State const &psi, Truncation const &trunc)
 Grows the CTM from the top on the specified rung. More...
 
Index max_blocksize () const
 Returns the maximal blocksize of all CTM auxiliary bases. More...
 
Index max_reduced_states () const
 Returns the maximal reduced size among the CTM auxiliary bases. More...
 
Index max_total_states () const
 Returns the maximal total size among the CTM auxiliary bases. More...
 
std::tuple< bool, SRDef, Indexmulti_grow (State const &psi, Truncation const &trunc, Index const max_steps, SRDef const sv1_conv)
 Grows the CTM at most max_steps times or until the first singular values changed by less than sv1_conv. More...
 
CornerTransferMatrixoperator= (CornerTransferMatrix &&other)=default
 Move assignment operator. More...
 
CornerTransferMatrixoperator= (CornerTransferMatrix const &other)=default
 Copy assignment operator. More...
 

Static Public Member Functions

template<typename MapperA , typename MapperB , typename MapperC , typename MapperD , typename MapperE , typename MapperF >
static GrowthResult grow_helper (State const &psi, Truncation trunc, Grid< STensor > &cA, Grid< STensor > &cB, Grid< STensor > &tA, Grid< STensor > &tB, Grid< STensor > &rung, int max_counter, MapperA this_on_rung, MapperB next_on_rung, MapperC prev_on_rung, MapperD this_on_next, MapperE next_on_next, MapperF prev_on_next, BondGrid< SBasisId > &m, BondGrid< SRDef > &sv1, CornerTransferMatrix::GrowthMode mode)
 Growth helper, unifies all growth directions. More...
 

Public Attributes

Grid< STensorblc
 bottom-left corner CTM tensors on each site. More...
 
Grid< STensorbr
 bottom rung CTM tensors on each site. More...
 
Grid< STensorbrc
 bottom-right corner CTM tensors on each site. More...
 
int depth
 depth of the unit cell More...
 
Grid< STensorlr
 left rung CTM tensors on each site. More...
 
BondGrid< SBasisIdmlt
 CTM basis of the top and left rungs between each site. More...
 
GrowthMode mode = GrowthMode::WithQR
 currently selected growth mode More...
 
BondGrid< SBasisIdmrb
 CTM basis of the bottom and right rungs between each site. More...
 
Grid< STensorrr
 right rung CTM tensors on each site. More...
 
BondGrid< SRDefsv1_lt
 first singular values of the top and left rung during the last growth step More...
 
BondGrid< SRDefsv1_rb
 first singular values of the bottom and right rung during the last growth step More...
 
Grid< STensortlc
 top-left corner CTM tensors on each site. More...
 
Grid< STensortr
 top rung CTM tensors on each site. More...
 
Grid< STensortrc
 top-right corner CTM tensors on each site. More...
 
int width
 width of the unit cell More...
 

Detailed Description

iPEPSv2 corner transfer matrix representation.


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