SyTen
syten::IPEPSv2::State Class Reference

iPEPSv2 State structure. More...

#include <state.h>

+ Collaboration diagram for syten::IPEPSv2::State:

Public Member Functions

void build_dl ()
 Builds all missing double-layer tensors. More...
 
void build_dl (Coord const &coord)
 Builds the double-layer tensor at the specified coordinate. More...
 
void crude_truncate (Truncation trunc)
 Crudely truncates the state down to the specified criterion using a series of simple-update SVDs. More...
 
STensordl (Coord const &coord)
 Returns a reference to the double-layer tensor at the specified coordinate. More...
 
STensor const & dl (Coord const &coord) const
 Returns a constant reference to the double-layer tensor at the specified coordinate, throws if this tensor has not been built yet. More...
 
void focus (Coord const &coord)
 Does QR-decompositions towards coordinate coord on all four neighbouring sites. More...
 
int getDepth () const
 Returns the depth of the unit cell. More...
 
int getWidth () const
 Returns the width of the unit cell. More...
 
bool has_complete_dl () const
 Returns true of the state has a complete set of double-layer tensors. More...
 
void invalidate_dl (Coord const &coord)
 Invalidates the double-layer tensor at the specified coordinate. More...
 
Index max_blocksize () const
 Returns the maximal block size of the auxiliary bases in this state. More...
 
Index max_reduced_states () const
 Returns the maximal reduced bases size of the auxiliary bases in this state. More...
 
Index max_total_states () const
 Returns the maximal total bases size of the auxiliary bases in this state. More...
 
void normalise_tensors ()
 Normalises all tensors to have norm 1. More...
 
STensor const & operator() (Coord const &coord) const
 Returns a const reference to the site tensor at the specified coordinate, preserves the double-layer tensor. More...
 
Stateoperator= (State &&other)=default
 Move assignment operator. More...
 
Stateoperator= (State const &other)=default
 Copy assignment operator. More...
 
STensoroperator[] (Coord const &coord)
 Returns a reference to the site tensor at the specified coordinate, invalidates the double-layer tensor. More...
 
STensor const & operator[] (Coord const &coord) const
 Returns a const reference to the site tensor at the specified coordinate, preserves the double-layer tensor. More...
 
 State ()=default
 Default ctor. More...
 
 State (Lattice const &lat)
 Standard ctor, initialises dimensions and bases but leaves tensors empty. More...
 
 State (State &&other)=default
 Default move ctor. More...
 
 State (State const &other)=default
 Default copy ctor. More...
 

Public Attributes

Grid< SBasisIdd
 Local physical bases organised in a site-based grid. More...
 
History history
 History storage. More...
 
BondGrid< SBasisIdm
 Auxiliary/virtual bases of the state organised in a bond-based grid. More...
 
BondGrid< SBasisIdmdl
 Auxiliary/virtual bases of the double-layer tensors organised in a bond-based grid. More...
 

Private Attributes

int depth
 unit cell depth (vertical/forwards-backwards) More...
 
Grid< STensordouble_layer
 Rank-4 double-layer tensors organised in a site-based grid. More...
 
Grid< STensorstate
 State tensors organised in a site-based grid. More...
 
int width
 unit cell width (horizontal/left-right) More...
 

Boost serialisation support

static constexpr unsigned int version = 3
 Boost serialisation version. More...
 
static const std::string uuid = "3b4d661e-c872-11e8-bbc2-27761324cb72"
 Boost serialisation UUID identifying iPEPSv2 state files. More...
 
template<typename Archive >
void save (Archive &ar, const unsigned int) const
 Boost serialisation saving function. More...
 
template<typename Archive >
void load (Archive &ar, const unsigned int in_version)
 Boost serialisation loading function supporting older state files. More...
 

Detailed Description

iPEPSv2 State structure.


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