SyTen
syten::BTT::Lattice Class Reference

Tree tensor network lattice. More...

#include <btt_lattice.h>

+ Collaboration diagram for syten::BTT::Lattice:

Public Types

typedef BinaryTree::Tree< BasisPhys
 The type of the tree of the physical bases per site. More...
 

Public Member Functions

void add (std::string const &id, std::string const &desc, Operator const &op, bool const overwrite=false)
 Add a global operator. More...
 
void add (std::string const &id, std::string const &desc, Tensor< 5 > const &op, Statistics const stats=Statistics::Bosonic, bool const overwrite=false)
 Add a single-site operator. More...
 
void buildIdentity ()
 Builds the global identity operator. More...
 
void buildIdentity_rec (Operator::Ptr optr, Phys::Ptr bptr)
 Takes a pointer to a node and builds the left/right subtree if they exist in bptr, then builds the node tensor. More...
 
Operator const & get (std::string const &id) const
 Returns the specified stored global operator. More...
 
template<typename Coordinate >
Operator get (std::string const &id, Coordinate const &coord) const
 Returns a global operator representing the specified single-site operator. More...
 
Operator get (std::string const &id, std::initializer_list< Index > const &coord_list) const
 Returns a global operator representing a specific single-site operator. More...
 
Tensor< 5 > const & getLocal (std::string const &id) const
 Returns the local component of a single-site operator identified by id More...
 
 Lattice (std::string const &description_, Basis const &vac_)
 Standard ctor. More...
 
 Lattice ()=default
 Default ctor. More...
 
std::vector< std::tuple< std::string, bool, std::string > > listOps () const
 Returns a vector describing all operators existing on the lattice. More...
 
void makeIdentity (Operator::Ptr optr, Phys::Ptr bptr) const
 Given a pointer to an operator node and a pointer to the corresponding basis node, builds an identity operator on that operator node. More...
 
std::vector< std::stringnontrivial_coordinates () const
 Creates a vector of valid coordinates pointing to physically nontrivial sites. More...
 
void nontrivial_coordinates_rec (const Phys::Ptr ptr, std::string const &current_coord, std::vector< std::string > &coords) const
 Recursive helper for nontrivial_coordinates(). More...
 
template<class Archive >
void serialize (Archive &ar, const unsigned int in_version)
 Boost archiving. More...
 

Public Attributes

std::string description
 A free-form description of the system. More...
 
Phys phys
 A tree of physical bases on each site. More...
 
Basis vac
 The vacuum basis of this system. More...
 

Static Public Attributes

static const std::string uuid = "39f0696f-200d-473b-99bf-585bb9a8278c"
 The lattice-constant UUID to differentiate them from other things. More...
 
static constexpr unsigned int version = 2
 current version, bump if you change one of the data structures here More...
 

Private Attributes

std::map< std::string, std::pair< std::string, Operator > > globalOperators
 Stored global operators. More...
 
std::map< std::string, std::pair< std::string, std::pair< Tensor< 5 >, Statistics > > > siteOperators
 Single-site operators, dynamically assembled into full MPO. More...
 

Detailed Description

Tree tensor network lattice.


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