SyTen
operators.h File Reference

Operators on iPEPSv2 lattices. More...

#include "inc/ipeps/util.h"
#include "inc/stensor/stensor.h"
#include "inc/util/grid.h"
+ Include dependency graph for operators.h:
+ This graph shows which files directly or indirectly include this file:

Classes

struct  syten::IPEPSv2::A12Op
 iPEPSv2 operator representing a linear combination of an applied one-site operator and an applied two-site operator. More...
 
struct  syten::IPEPSv2::AOneOp
 iPEPSv2 single-site operator on a specific site. More...
 
struct  syten::IPEPSv2::ATwoOp
 iPEPSv2 two-site operator on two specific sites. More...
 
struct  syten::IPEPSv2::OneOp
 iPEPSv2 single-site operator not applied to any specific site. More...
 
struct  syten::IPEPSv2::ProdOp
 iPEPSv2 operator representing a product of one- and two-site operators. More...
 
struct  syten::IPEPSv2::SumOp
 iPEPSv2 operator representing a sum of one- and two-site operators. More...
 

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::IPEPSv2
 Namespace for the second-generation iPEPS code (iPEPSv2).
 

Functions

bool syten::IPEPSv2::is_00_coord (Coord const coord, int width, int depth)
 Returns true if, given a unit cell of width width and depth depth, the coordinate coord corresponds to the 0,0 site. More...
 
template<class Archive >
void boost::serialization::serialize (Archive &ar, std::variant< syten::IPEPSv2::AOneOp, syten::IPEPSv2::ATwoOp > &v, const unsigned int)
 Serialisation support for variants of one- and two-site applied operators. More...
 
template<class Archive >
void boost::serialization::serialize (Archive &ar, std::variant< syten::IPEPSv2::AOneOp, syten::IPEPSv2::ATwoOp, syten::IPEPSv2::A12Op > &v, const unsigned int)
 Serialisation support for variants of one-, two- and 1-2-site applied operators. More...
 
Operator output
std::ostreamsyten::IPEPSv2::operator<< (std::ostream &out, A12Op const &op)
 Outputs a 1-2 operator applied to specific sites. More...
 
std::ostreamsyten::IPEPSv2::operator<< (std::ostream &out, AOneOp const &op)
 Outputs a single-site operator applied to a specific site. More...
 
std::ostreamsyten::IPEPSv2::operator<< (std::ostream &out, ATwoOp const &op)
 Outputs a two-site operator applied to a specific site. More...
 
std::ostreamsyten::IPEPSv2::operator<< (std::ostream &out, OneOp const &op)
 Outputs an unapplied single-site operator. More...
 
std::ostreamsyten::IPEPSv2::operator<< (std::ostream &out, ProdOp const &op)
 Outputs a product operator. More...
 
std::ostreamsyten::IPEPSv2::operator<< (std::ostream &out, SumOp const &op)
 Outputs a sum operator. More...
 
Single- and two-site operator addition and multiplication implementations.
AOneOp syten::IPEPSv2::add (AOneOp a, AOneOp const &b)
 Addition of two one-site operators acting on the same site. More...
 
ATwoOp syten::IPEPSv2::add (ATwoOp a, ATwoOp const &b)
 Addition of two two-site operators acting on the same sites. More...
 
ATwoOp syten::IPEPSv2::dot (AOneOp const &a, AOneOp const &b)
 Dot product of two one-site operators. More...
 
ATwoOp syten::IPEPSv2::dot (ATwoOp const &a, ATwoOp const &b)
 Dot product of two two-site operators. More...
 
AOneOp syten::IPEPSv2::ldot (AOneOp const &a, AOneOp const &b)
 Dot product of two one-site operators acting on the same site. More...
 
AOneOp syten::IPEPSv2::lmult (AOneOp const &a, AOneOp const &b)
 Multiplication of two one-site operators acting on the same site, giving a new one-site operator. More...
 
A12Op syten::IPEPSv2::make_12op (AOneOp const &a, ATwoOp const &b)
 Multiplication of an applied one-site and an applied two-site operator to yield an A12Op. More...
 
ATwoOp syten::IPEPSv2::mult (AOneOp const &a, AOneOp const &b)
 Multiplication of two one-site operators acting on different sites forming a new two-site operator. More...
 
ATwoOp syten::IPEPSv2::mult (AOneOp const &a, ATwoOp b)
 Multiplication of one two-site operator and one one-site operator (acting on one of the sites of the former) giving a new two-site operator. More...
 
ATwoOp syten::IPEPSv2::mult (ATwoOp a, AOneOp const &b)
 Multiplication of one two-site operator and one one-site operator (acting on one of the sites of the former) giving a new two-site operator. More...
 
ATwoOp syten::IPEPSv2::mult (ATwoOp const &a, ATwoOp const &b)
 Multiplication of two two-site operators acting on the same sites forming a new two-site operator. More...
 
iPEPSv2 operator operators
A12Op syten::IPEPSv2::operator* (A12Op a, SDef c)
 Evaluates \( c \hat a \). More...
 
AOneOp syten::IPEPSv2::operator* (AOneOp a, SDef c)
 Evaluates \( c \hat a \). More...
 
ATwoOp syten::IPEPSv2::operator* (AOneOp const &a, AOneOp const &b)
 Evaluates \( \hat b \hat a \) (a applied first) for a and b acting on different sites. More...
 
ATwoOp syten::IPEPSv2::operator* (ATwoOp a, SDef c)
 Evaluates \( c \hat a \). More...
 
ATwoOp syten::IPEPSv2::operator* (ATwoOp const &a, ATwoOp const &b)
 Evaluates \( \hat b \hat a \) (a applied first) for a and b acting on the same sites. More...
 
A12Op syten::IPEPSv2::operator* (SDef c, A12Op a)
 Evaluates \( c \hat a \). More...
 
AOneOp syten::IPEPSv2::operator* (SDef c, AOneOp a)
 Evaluates \( c \hat a \). More...
 
ATwoOp syten::IPEPSv2::operator* (SDef c, ATwoOp a)
 Evaluates \( c \hat a \). More...
 
SumOp syten::IPEPSv2::operator* (SDef c, SumOp a)
 Evaluates \( c \hat a \). More...
 
SumOp syten::IPEPSv2::operator* (SumOp a, SDef c)
 Evaluates \( c \hat a \). More...
 
SumOp & syten::IPEPSv2::operator*= (SumOp &a, SDef c)
 Evaluates \( \hat a \gets c \hat a \). More...
 
SumOp syten::IPEPSv2::operator+ (A12Op b, SumOp a)
 Evaluates \( \hat a + \hat b \). More...
 
AOneOp syten::IPEPSv2::operator+ (AOneOp a, AOneOp const &b)
 Evaluates \( \hat a + \hat b \) for a and b acting on the same site. More...
 
SumOp syten::IPEPSv2::operator+ (AOneOp b, SumOp a)
 Evaluates \( \hat a + \hat b \). More...
 
ATwoOp syten::IPEPSv2::operator+ (ATwoOp a, ATwoOp const &b)
 Evaluates \( \hat a + \hat b \) for a and b acting on the same sites. More...
 
SumOp syten::IPEPSv2::operator+ (ATwoOp b, SumOp a)
 Evaluates \( \hat a + \hat b \). More...
 
SumOp syten::IPEPSv2::operator+ (SumOp a, A12Op b)
 Evaluates \( \hat a + \hat b \). More...
 
SumOp syten::IPEPSv2::operator+ (SumOp a, AOneOp b)
 Evaluates \( \hat a + \hat b \). More...
 
SumOp syten::IPEPSv2::operator+ (SumOp a, ATwoOp b)
 Evaluates \( \hat a + \hat b \). More...
 
SumOp syten::IPEPSv2::operator+ (SumOp a, SumOp b)
 Evaluates \( \hat a + \hat b \). More...
 
AOneOp & syten::IPEPSv2::operator+= (AOneOp &a, AOneOp const &b)
 Evaluates \( \hat a \gets \hat a + \hat b \) for a and b acting on the same site. More...
 
ATwoOp & syten::IPEPSv2::operator+= (ATwoOp &a, ATwoOp const &b)
 Evaluates \( \hat a \gets \hat a + \hat b \) for a and b acting on the same sites. More...
 
SumOp & syten::IPEPSv2::operator+= (SumOp &a, A12Op b)
 Evaluates \( \hat a \gets \hat a + \hat b \). More...
 
SumOp & syten::IPEPSv2::operator+= (SumOp &a, AOneOp b)
 Evaluates \( \hat a \gets \hat a + \hat b \). More...
 
SumOp & syten::IPEPSv2::operator+= (SumOp &a, ATwoOp b)
 Evaluates \( \hat a \gets \hat a + \hat b \). More...
 
SumOp & syten::IPEPSv2::operator+= (SumOp &a, SumOp b)
 Evaluates \( \hat a \gets \hat a + \hat b \). More...
 
SumOp syten::IPEPSv2::operator- (A12Op b, SumOp a)
 Evaluates \( \hat b - \hat a \). More...
 
AOneOp syten::IPEPSv2::operator- (AOneOp a, AOneOp const &b)
 Evaluates \( \hat a - \hat b \) for a and b acting on the same site. More...
 
SumOp syten::IPEPSv2::operator- (AOneOp b, SumOp a)
 Evaluates \( \hat b - \hat a \). More...
 
ATwoOp syten::IPEPSv2::operator- (ATwoOp a, ATwoOp const &b)
 Evaluates \( \hat a \gets \hat a - \hat b \) for a and b acting on the same sites. More...
 
SumOp syten::IPEPSv2::operator- (ATwoOp b, SumOp a)
 Evaluates \( \hat b - \hat a \). More...
 
SumOp syten::IPEPSv2::operator- (SumOp a, A12Op const &b)
 Evaluates \( \hat a - \hat b \). More...
 
SumOp syten::IPEPSv2::operator- (SumOp a, AOneOp const &b)
 Evaluates \( \hat a - \hat b \). More...
 
SumOp syten::IPEPSv2::operator- (SumOp a, ATwoOp const &b)
 Evaluates \( \hat a - \hat b \). More...
 
SumOp syten::IPEPSv2::operator- (SumOp a, SumOp const &b)
 Evaluates \( \hat a - \hat b \). More...
 
AOneOp & syten::IPEPSv2::operator-= (AOneOp &a, AOneOp const &b)
 Evaluates \( \hat a \gets \hat a - \hat b \) for a and b acting on the same site. More...
 
ATwoOp & syten::IPEPSv2::operator-= (ATwoOp &a, ATwoOp const &b)
 Evaluates \( \hat a \gets \hat a - \hat b \) for a and b acting on the same sites. More...
 
SumOp & syten::IPEPSv2::operator-= (SumOp &a, A12Op const &b)
 Evaluates \( \hat a \gets \hat a - \hat b \). More...
 
SumOp & syten::IPEPSv2::operator-= (SumOp &a, AOneOp const &b)
 Evaluates \( \hat a \gets \hat a - \hat b \). More...
 
SumOp & syten::IPEPSv2::operator-= (SumOp &a, ATwoOp const &b)
 Evaluates \( \hat a \gets \hat a - \hat b \). More...
 
SumOp & syten::IPEPSv2::operator-= (SumOp &a, SumOp const &b)
 Evaluates \( \hat a \gets \hat a - \hat b \). More...
 

Detailed Description

Operators on iPEPSv2 lattices.