SyTen
syten::BTT Namespace Reference

The namespace containing binary tree tensor networks. More...

Namespaces

 DMRG
 BTT-DMRG specific data structures and classes.
 
 ParseOperator
 Support classes and functions related to BTT operator parsing.
 
 RandomState
 Generators for random states.
 

Classes

class  Lattice
 Tree tensor network lattice. More...
 
class  Operator
 A tree tensor network operator. More...
 
class  State
 A binary tree tensor network state. More...
 

Functions

void addScaled (State &a, State const &b, SDef s)
 Adds b, scaled by s, to a. More...
 
SRDef apply_op_itrunc (State &a, Operator const &op, Truncation const &trunc)
 Applies the operator op in-place to the state a. More...
 
void apply_op_naive (State &a, Operator const &op)
 Applies the operator naively without truncation. More...
 
template<typename Iterator = int>
std::tuple< State, SRDefapply_op_orthogonalise_fit (State const &, Operator const &, Truncation const &, SRDef, Index=12, Index=2, State=State(), Iterator=0, Iterator=0)
 Dummy implementation to satisfy the compiler, see syten::MPS::apply_op_orthogonalise_fit(). More...
 
void apply_operator_directly (State &a, Operator const &op)
 Directly applies the operator op to the state a by contracting the physical indices and merging the auxiliary ones, without truncation. More...
 
void apply_operator_directly_rec (State::Ptr aptr, const Operator::Ptr optr, bool const cache)
 Recursive helper for direct operator application. More...
 
SRDef apply_operator_itrunc_node (State::Ptr aptr, const Operator::Ptr optr, Index direction, bool const cache, Truncation trunc)
 Helper for apply_operator_itrunc_rec(). More...
 
SRDef apply_operator_itrunc_rec (State &a, State::Ptr aptr, const Operator::Ptr optr, Index direction, bool const cache, Truncation const &trunc)
 Recursive helper for apply_op_itrunc(). More...
 
Operator dot (Operator const &a, Operator const &b, Sector const &sec)
 Scalar product of two operators, e.g. \( G \cdot F \) is dot(f, g, vacuum), \( G \) will be taken to lie in the dual space in the process. More...
 
Operator dot (Operator const &a, Operator const &b)
 Scalar product of two operators with guessing of correct quantum number sector from the upper basis of the root element of the first argument. More...
 
void dot_rec (Operator::Ptr tptr, const Operator::Ptr aptr, const Operator::Ptr bptr, Basis const &target)
 Recursive helper for the dot product. More...
 
SDef expectation (State const &a, Operator const &op, State const &b)
 Returns the expectation value of an operator between two states as \( \langle b | \left( \hat O | a \rangle \right) \). More...
 
SDef expectation (State const &a, Operator const &op)
 Returns the expectation value of an operator wrt a state. More...
 
Tensor< 3 > expectation_rec (const State::Ptr aptr, const Operator::Ptr optr, const State::Ptr bptr, bool const cache)
 Returns the partial contraction of tensors below (and including) the supplied pointers. More...
 
Tensor< 5 > genBTTOCmp (Basis const &p_basis, Basis const &a_basis, Basis const &b_basis, Basis const &r_basis)
 Generates an local operator in a tree tensor network matching the specified basis. More...
 
Tensor< 5 > genBTTOId (Basis const &p_basis, Basis const &a_basis, Basis const &b_basis)
 Generates an identity local operator in a tree tensor network. More...
 
SRDef norm (State const &a)
 Returns the norm \( \sqrt{\langle a | a \rangle}\) of a state. More...
 
SRDef normSqd (State const &a)
 Returns the squared norm \( \langle a | a \rangle\) of a state. More...
 
Operator operator* (Operator const &a, SDef const b)
 Scale a BTTO by a scalar, \( \hat r = b \hat a \). More...
 
Operator operator* (SDef const b, Operator const &a)
 Scale a BTTO by a scalar, \( \hat r = b \hat a \). More...
 
Operator operator* (Operator const &a, Operator const &b)
 Product of two BTTO, \( \hat r = \hat b \hat a \), i.e. b is applied after a if r is applied to a state. More...
 
Operatoroperator*= (Operator &o, SDef const c)
 Product of a scalar and an operator, \( c \hat O \). More...
 
Stateoperator*= (State &s, SDef const c)
 Multiplies s by the scalar c More...
 
Stateoperator*= (State &a, Operator const &op)
 Applies the operator to the state, exact implementation subject to change. More...
 
Operator operator+ (Operator const &a, Operator const &b)
 Sum of two BTTO, \( \hat r = \hat b + \hat a \). More...
 
State operator+ (State const &a, State const &b)
 Sum of two BTTS, \( |r\rangle = |b\rangle + |a\rangle \). More...
 
Operator operator- (Operator const &a, Operator const &b)
 Difference of two BTT, \( \hat r = \hat a - \hat b \). More...
 
std::ostreamoperator<< (std::ostream &out, Lattice const &l)
 Pretty output for a lattice, lists the description and known operators. More...
 
std::ostreamoperator<< (std::ostream &out, BTT::State const &s)
 Output a BTT state. More...
 
template<typename It >
SRDef orthogonalise_variational (State &, It, It)
 Dummy implementation, currently throws. More...
 
template<typename It >
SRDef orthogonalise_variational_two_site (State &, It, It, Truncation const &)
 Dummy implementation, currently throws. More...
 
SDef overlap (State const &b, State const &a)
 Returns the overlap \( \langle a | b \rangle \) between two states. More...
 
Tensor< 2 > overlap_rec (const State::Ptr a, const State::Ptr b, bool cache)
 Returns the partial contraction of tensors below (and including) pointers a and b. More...
 
Operator parse (Lattice const &lat, std::string const &desc)
 Parse an operator description. More...
 
Operator parse (std::string const &desc)
 Parse a lattice:operator description. More...
 

Detailed Description

The namespace containing binary tree tensor networks.