SyTen
basis.h File Reference

Implementation of tensor leg bases, split into symmetry-protected blocks. More...

+ Include dependency graph for basis.h:
+ This graph shows which files directly or indirectly include this file:

Classes

class  syten::Basis
 Basis on a specific tensor leg, essentially a list of symmetry sectors and associated reduced tensor sizes More...
 

Namespaces

 syten
 Syten namespace.
 

Enumerations

enum class  syten::Direction : char { syten::Inc , syten::Out , syten::Invalid , syten::Silent }
 Direction of the leg from the view of the tensor it belongs to. More...
 

Functions

Basis syten::combineBasisExpansion (Basis const &a, Basis const &b)
 Given two bases a and b, returns a combined basis a + b considering symmetries: Sectors s occuring in both bases have size a[s]+b[s], sectors only occuring in one basis keep their size. More...
 
SRDef syten::dist (Basis const &b1, Sector const &s2)
 Returns the distance between a sector and a basis. More...
 
Basis syten::filterBasis (Basis const &input, Basis const &site, Basis const &target, Index const remainingSites)
 Returns a new basis which contains only elements from the input basis that are still compatible with the target basis, currently only works with Group::U1 and Group::SU2 symmetries. More...
 
Basis syten::gen_vac (Basis in)
 Fuses in with in.adjoint() and removes every sector of the resulting basis which is not the vacuum. More...
 
Basis syten::intersection (Basis const &b1, Basis const &b2)
 Returns the intersection of the two bases, i.e. the size of a sector in the returned basis is the minimum of the sizes in the two input bases. More...
 
SRDef syten::min_dist (Basis const &b1, Basis const &b2)
 Returns the minimal distance between elements of the two basis. More...
 
Direction syten::operator! (Direction const &dir)
 Negate the direction of a basis, only valid for Direction::Inc and Direction::Out. More...
 
std::ostreamsyten::operator<< (std::ostream &out, Basis const &b)
 Output of a basis, more concise if basis is silenced. More...
 
std::ostreamsyten::operator<< (std::ostream &out, Direction const dir)
 Output of the direction of a basis. More...
 
Basis syten::sum (Basis const &b1, Basis const &b2)
 Returns the sum/union of two bases, i.e. the size of a sector in the returned basis is the maximum of the sizes in the two input bases. More...
 

Detailed Description

Implementation of tensor leg bases, split into symmetry-protected blocks.