SyTen
syten::IPEPSv2::Lattice Struct Reference

iPEPSv2 lattice, storing one-site operators as well as sum and product operators and generating applied operators on-the-fly. More...

#include <lattice.h>

+ Collaboration diagram for syten::IPEPSv2::Lattice:

Public Member Functions

void add (std::string const &name, OneOp op)
 Adds a single-site operator to the lattice. More...
 
void add (std::string const &name, ProdOp op)
 Adds a product operator to the lattice. More...
 
void add (std::string const &name, SumOp op)
 Adds a sum operator to the lattice. More...
 
Index c2i (Coord coord) const
 Returns the 0-indexed offset associated to coordinate coord. More...
 
SBasis const & d (Coord const &loc) const
 Returns the effective physical basis on site loc (potentially merged with target basis). More...
 
SBasis const & d_orig (Coord const &loc) const
 Returns the original physical basis on site loc (not merged with target basis). More...
 
ATwoOp get (std::string const &name, Coord const &active, Coord const &secondary) const
 Returns a two-site operator representation of the single-site operator acting on site active and an identity on site secondary. More...
 
AOneOp get (std::string const &name, Coord const &loc) const
 Returns a single-site operator acting on site loc. More...
 
OneOpgetOne (std::string const &name)
 Returns an unapplied one-site operator reference. More...
 
OneOp const & getOne (std::string const &name) const
 Returns an unapplied one-site operator constant reference. More...
 
ProdOpgetProd (std::string const &name)
 Returns a ProdOp reference. More...
 
ProdOp const & getProd (std::string const &name) const
 Returns a constant ProdOp reference. More...
 
SumOpgetSum (std::string const &name)
 Returns a SumOp reference. More...
 
SumOp const & getSum (std::string const &name) const
 Returns a constant SumOp reference. More...
 
bool is_00_coord (Coord const coord) const
 Returns true if coord is equivalent to the 0,0-site. More...
 
 Lattice ()=default
 Default ctor. More...
 
 Lattice (std::string desc, int width, int depth, SBasis vacuum_basis, SBasis target_basis, Vec< SBasis > orig_phys_bases)
 Standard ctor. More...
 

Public Attributes

int depth
 Depth of the unit cell (vertical/backwards-forwards). More...
 
std::string description
 A brief description of the lattice. More...
 
SBasis target_basis
 Outgoing target bases to merge with first site physical basis. More...
 
SBasis vacuum_basis
 Incoming vacuum basis. More...
 
int width
 Width of the unit cell (horizontal/left-right). More...
 

Private Attributes

std::map< std::string, OneOpone_ops
 defined single-site operators. More...
 
SBasis orig_00_basis
 original site basis on site 0,0 (not merged with target basis) More...
 
Vec< SBasisphys_bases
 effective physical bases with the target basis and first site basis merged More...
 
std::map< std::string, ProdOpprod_ops
 defined product operators More...
 
std::map< std::string, SumOpsum_ops
 defined sum operators More...
 

Friends

std::ostreamoperator<< (std::ostream &out, Lattice const &lat)
 Output for iPEPSv2 lattices. More...
 

Boost serialisation support

static constexpr unsigned int version = 1
 Boost serialisation version. More...
 
static const std::string uuid = "1f4420d2-c662-11e8-bca0-1b140d5f5071"
 Identifier for iPEPSv2 lattice files. More...
 
template<typename Archive >
void serialize (Archive &ar, const unsigned int in_version)
 Boost serialisation. More...
 

Detailed Description

iPEPSv2 lattice, storing one-site operators as well as sum and product operators and generating applied operators on-the-fly.


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