SyTen
contractions.h File Reference

Helper class for the application of operator & tensors. More...

#include <functional>
#include "inc/tensor/tensor_qr.h"
#include "inc/tensor/tensor_svd.h"
#include "inc/tensor/tensor_gen.h"
#include "inc/tensor/tensor_misc.h"
#include "inc/t3n/state.h"
#include "inc/t3n/operator.h"
+ Include dependency graph for contractions.h:
+ This graph shows which files directly or indirectly include this file:

Classes

struct  syten::T3N::Contraction::Bond
 
struct  syten::T3N::Contraction::LMWR
 
struct  syten::T3N::Contraction::LWMR
 
struct  syten::T3N::Contraction::WAMBR
 

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::T3N
 Namespace for T3N.
 

Typedefs

using syten::T3N::LegType = syten::T3N::Tree::LegType
 
using syten::T3N::STensorProxy = STensorImpl::STensorProxy
 

Functions

std::tuple< STensor, STensor, SBasisId > syten::T3N::Contraction::decontr_t3no_branch_cmps (STensorProxy const &w, SBasisId const &virt, SBasisId const &phys, LegType const weightInto)
 
std::tuple< STensor, STensor, SBasisId > syten::T3N::Contraction::decontr_t3no_phys_cmps (STensorProxy const &w, SBasisId const &root, SBasisId const &upperPhys, LegType const weightInto)
 
std::tuple< STensor, STensor, SBasisId > syten::T3N::Contraction::decontr_t3ns_branch_cmps (STensorProxy const &m, SBasisId const &virt, SBasisId const &phys, LegType const weightInto, Truncation const trunc=Truncation())
 
std::tuple< STensor, STensor, SBasisId > syten::T3N::Contraction::decontr_t3ns_phys_cmps (STensorProxy const &m, Index const root, Index const upperPhys, LegType const weightInto, Truncation const trunc=Truncation())
 
std::tuple< SRDef, STensor, STensor, STensor, SBasisId, SBasisId > syten::T3N::Contraction::decontractToPhysicalBranching (STensor t, SBasisId const &p, SBasisId const &d, Truncation const &trunc)
 Takes a physical branching contraction and seperates it along a certain leg. More...
 
std::tuple< SRDef, STensor, STensor, STensor, SBasisId, SBasisId > syten::T3N::Contraction::decontractToPhysicalPhysical (STensor t, SBasisId const &p, SBasisId const &r, Truncation const &trunc)
 Takes a physical physical contraction and seperates it along the higher root leg. More...
 
std::tuple< SRDef, STensor, STensor, STensor, SBasisId, SBasisId > syten::T3N::Contraction::decontractToPhysicalPhysical (STensor t, SBasisId const &u, SBasisId const &d, SBasisId const &r, Truncation const &trunc)
 Does the same for an SMPO. More...
 
std::tuple< STensor, std::array< SBasisId, 3 > > syten::T3N::Contraction::merge_branch_cmp (STensorProxy const &t, std::array< SBasisId, 2 > const &roots, std::array< SBasisId, 2 > const &as, std::array< SBasisId, 2 > const &bs)
 
std::tuple< STensor, SBasisId, SBasisId > syten::T3N::Contraction::merge_phys_cmp (STensorProxy const &t, std::array< SBasisId, 2 > const &roots, std::array< SBasisId, 2 > const &as)
 
std::tuple< STensor, SBasisId, SBasisId > syten::T3N::Contraction::t3no_physcmp_prod (STensorProxy const &lower, STensorProxy const &upper, SBasisId const &physical, std::array< SBasisId, 2 > const &roots, std::array< SBasisId, 2 > const &as)
 
Tensor< 4 > syten::T3N::Contraction::t3no_physcmp_prod (Tensor< 4 > const &lower, Tensor< 4 > const &upper, bool const fuse_lhs)
 
std::tuple< STensor, std::array< SBasisId, 3 > > syten::T3N::Contraction::t3ns_t3no_branchcmp_prod (STensorProxy const &m, STensorProxy const &w, std::array< SBasisId, 2 > const &roots, std::array< SBasisId, 2 > const &as, std::array< SBasisId, 2 > const &bs)
 
std::tuple< STensor, SBasisId, SBasisId > syten::T3N::Contraction::t3ns_t3no_physcmp_prod (STensorProxy const &mps, STensorProxy const &mpo, SBasisId const &physical, std::array< SBasisId, 2 > const &roots, std::array< SBasisId, 2 > const &as)
 

Detailed Description

Helper class for the application of operator & tensors.