iPEPSv2 State structure. More...
#include <state.h>
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... | |
STensor & | dl (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... | |
State & | operator= (State &&other)=default |
Move assignment operator. More... | |
State & | operator= (State const &other)=default |
Copy assignment operator. More... | |
STensor & | operator[] (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< SBasisId > | d |
Local physical bases organised in a site-based grid. More... | |
History | history |
History storage. More... | |
BondGrid< SBasisId > | m |
Auxiliary/virtual bases of the state organised in a bond-based grid. More... | |
BondGrid< SBasisId > | mdl |
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< STensor > | double_layer |
Rank-4 double-layer tensors organised in a site-based grid. More... | |
Grid< STensor > | state |
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... | |
iPEPSv2 State structure.