SyTen
switching.cpp File Reference

Implementation for inc/mps/switching.h. More...

+ Include dependency graph for switching.cpp:

Namespaces

 syten
 Syten namespace.
 
 syten::MPS
 The namespace containing all MPS-related tools, classes and objects.
 

Functions

MPS::Operator syten::MPS::build_exchange_mpo_above (std::vector< Basis > const &lop_basis, Index const sa, Index const sb, Basis const &vac, std::vector< Pair< Index, Index > > const &fermions)
 Constructs a MPO acting from above which switches the two neighbouring sites sa and sb. More...
 
MPS::Operator syten::MPS::build_exchange_mpo_below (std::vector< Basis > const &uop_basis, Index const sa, Index const sb, Basis const &vac, std::vector< Pair< Index, Index > > const &fermions)
 Behaves the same as build_exchange_mpo_above(), except that it constructs the MPO for application from below; hence also needs an outgoing basis vector to be supplied. More...
 
Pair< Tensor< 4 >, Tensor< 4 > > syten::MPS::build_exchange_tensors_above (Basis const &a, Basis const &b, Basis const &vac, std::vector< Pair< Index, Index > > const &fermions)
 Given two incoming physical bases (upper indices of MPS or MPO), builds two active site tensors switching them around. More...
 
Pair< Tensor< 4 >, Tensor< 4 > > syten::MPS::build_exchange_tensors_below (Basis const &a, Basis const &b, Basis const &vac, std::vector< Pair< Index, Index > > const &fermions)
 Behaves the same as build_exchange_tensors_above(), except that it constructs the tensors for application from below; hence also requires outgoing bases a, b to be supplied. More...
 
void syten::MPS::switch_sites (MPS::Operator &op, Index const sa, Index const sb, std::vector< Pair< Index, Index > > const &fermions)
 Given an MPO op, switches neighbouring sites sa and sb with fermionic sectors as specified by fermions where sa+1 == sb. More...
 

Detailed Description

Implementation for inc/mps/switching.h.