Represents an IPEPS state on a square lattice. More...
#include <state.h>
Classes | |
struct | DLEntry |
An element of the double layer, containing one splitting and one fusing tensor. More... | |
Public Member Functions | |
MemoryUsage::MemorySize | allocSize () const |
memory tracking support More... | |
Index | c2i (Coord const coord) const |
returns the linear coordinate of the specified unit cell site. More... | |
Tensor< 3 > const & | crmv () const |
Returns a constant reference to the remover tensor. More... | |
void | crude_truncate (Truncation trunc) |
Crudely truncates every bond of the state down to the specified maximal blocksize/maximal number of states. More... | |
void | drop_unmatched () |
Removes all unmatched blocks from all tensors. More... | |
void | focus (Coord const coord) |
Does a non-truncating QR-decomposition on all neighbouring sites towards the specified site. More... | |
char | getClass (Coord const coord) const |
returns the class of the specified site. More... | |
int | getDepth () const |
returns the depth of the unit cell. More... | |
Index | getMaxBlocksize () const |
Returns the maximal block size of the state. More... | |
Index | getMaxStates () const |
Returns the maximal reduced bond dimension of the state. More... | |
Index | getMaxTotalStates () const |
Returns the maximal total bond dimension of the state. More... | |
int | getWidth () const |
returns the width of the unit cell. More... | |
void | init_ctm () |
initialises the double layer and the ctm (by contraction with itself) More... | |
void | init_ctm_vac () |
initialises the double layer and the ctm (via vacuum) More... | |
bool | is_00_coord (Coord const coord) const |
Returns true if coord corresponds to the [0,0] node. More... | |
Tensor< 5 > const & | operator() (char const cl) const |
Returns a constant reference to the tensor of the specified site class. More... | |
Tensor< 5 > const & | operator() (Coord const coord) const |
Returns a constant reference to the tensor placed on the specified site. More... | |
Tensor< 5 > const & | operator() (Index const i) const |
Returns a constant reference to the tensor at the site with the specified linear offset. More... | |
State & | operator= (State &&other) |
Move assignment operator. More... | |
State & | operator= (State const &other) |
Copy assignment operator. More... | |
Tensor< 5 > & | operator[] (char const cl) |
Returns a writeable reference to the tensor of the specified site class. More... | |
Tensor< 5 > const & | operator[] (char const cl) const |
Returns a constant reference to the tensor of the specified site class. More... | |
Tensor< 5 > & | operator[] (Coord const coord) |
Returns a writeable reference to the tensor placed on the specified site. More... | |
Tensor< 5 > const & | operator[] (Coord const coord) const |
Returns a constant reference to the tensor placed on the specified site. More... | |
Tensor< 5 > & | operator[] (Index const i) |
Returns a writeable reference to the tensor at the site with the specified linear offset. More... | |
Tensor< 5 > const & | operator[] (Index const i) const |
Returns a constant reference to the tensor at the site with the specified linear offset. More... | |
Tensor< 3 > & | rmv () |
Returns a writeable reference to the remover tensor. More... | |
Tensor< 3 > const & | rmv () const |
Returns a constant reference to the remover tensor. More... | |
template<typename Archive > | |
void | serialize (Archive &ar, const unsigned int in_version) |
Boost archiving. More... | |
State ()=default | |
Default ctor. More... | |
State (int width_, int depth_, std::vector< char > site_class_) | |
Standard ctor initialising the lattice and site classes as well as placing empty tensors on all sites. More... | |
State (State &&other) | |
Move ctor. More... | |
State (State const &other) | |
Copy ctor. More... | |
State (State const &other, bool) | |
Copy ctor which does not copy the CTM. More... | |
void | validate () |
validates the state for matching bond dimensions. More... | |
double-layer handling. | |
Tensor< 3 > const & | getDLS (Coord const coord) const |
returns the splitting tensor of the double layer on the specified site. More... | |
Tensor< 3 > & | getDLS (Coord const coord) |
returns the splitting tensor of the double layer on the specified site. More... | |
Tensor< 3 > const & | getDLF (Coord const coord) const |
returns the fusing tensor of the double layer on the specified site. More... | |
Tensor< 3 > & | getDLF (Coord const coord) |
returns the fusing tensor of the double layer on the specified site. More... | |
Tensor< 4 > const & | getDLM (Coord const coord) const |
returns the complete double layer on the specified site. More... | |
Tensor< 4 > & | getDLM (Coord const coord) |
returns the complete double layer on the specified site. More... | |
Basis const & | getDLB (Coord const coord, Index const which) const |
Returns the standard single-layer basis used to construct the DL. More... | |
Basis & | getDLB (Coord const coord, Index const which) |
Returns the standard single-layer basis used to construct the DL. More... | |
Tensor< 2 > const & | getRMVDL () const |
returns the double layer of the removal tensor. More... | |
Tensor< 2 > & | getRMVDL () |
returns the double layer of the removal tensor. More... | |
Basis const & | getRMVDLB (Index const which) const |
returns the standard single-layer basis used to construct the DL. More... | |
Basis & | getRMVDLB (Index const which) |
returns the standard single-layer basis used to construct the DL. More... | |
void | buildDL (Coord const coord) |
builds the double layer on the specified site. More... | |
void | buildRMVDL () |
builds the double layer of the removal tensor. More... | |
void | invalidateDL (char const cl) |
invalidates the double layer of the specified site class. More... | |
void | buildDL () |
builds the double layer on all sites. More... | |
Public Attributes | |
FullCTM | full_ctm |
currently-known full CTM for this state. More... | |
Static Public Attributes | |
static constexpr Index | bIdx {5} |
backwards index More... | |
static constexpr int | bInt {5} |
backwards index More... | |
static const std::array< Direction, 5 > | dirs |
Defines the directions of the bulk unit cell tensor legs. More... | |
static constexpr Index | fIdx {3} |
forward index More... | |
static constexpr int | fInt {3} |
forward index More... | |
static constexpr Index | lIdx {2} |
left index More... | |
static constexpr int | lInt {2} |
left index More... | |
static constexpr Index | pIdx {1} |
physical index More... | |
static constexpr int | pInt {1} |
physical index More... | |
static constexpr Index | rbIdx {3} |
backwards index of the remover More... | |
static constexpr int | rbInt {3} |
backwards index of the remover More... | |
static const std::array< Direction, 3 > | rdirs |
Defines the directions of the remover tensor legs. More... | |
static constexpr Index | rfIdx {2} |
forward index of the remover More... | |
static constexpr int | rfInt {2} |
forward index of the remover More... | |
static constexpr Index | rIdx {4} |
right index More... | |
static constexpr int | rInt {4} |
right index More... | |
static constexpr Index | rpIdx {1} |
physical index of the remover More... | |
static constexpr int | rpInt {1} |
physical index of the remover More... | |
static const std::string | uuid = "cc4c76ec-d234-4a0b-8c59-48c07847bd0b" |
uuid of the lattice class for serialisation More... | |
static constexpr int | version {2} |
version for boost serialisation More... | |
Private Attributes | |
int | depth {0} |
backwards/vertical/y extend More... | |
std::map< char, DLEntry > | double_layered |
contraction \( \bar{M}\cdot M \) for every tensor stored on the lattice. More... | |
Tensor< 3 > | remover |
the unique tensor in front of the (0,0) tensor which removes the target quantum number from the unit cell. More... | |
Tensor< 2 > | rmvdl |
Contraction for the remover tensor with auxiliary legs fused. More... | |
std::array< Basis, 3 > | rmvdlb |
Array of single-layer bases which were merged into the remover double-layer bases. More... | |
std::vector< char > | site_class |
the type of tensor situated on each site. More... | |
std::map< char, Tensor< 5 > > | tensors |
the tensor associated to each site class. More... | |
int | width {0} |
right/horizontal/x extend More... | |
Represents an IPEPS state on a square lattice.