Loading [MathJax]/extensions/tex2jax.js
SyTen
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
switching.h File Reference

Functions generating MPOs and MPO components used to switch around the ordering of two sites. More...

#include <vector>
#include "inc/util/pair.h"
#include "inc/tensor/basis.h"
#include "inc/tensor/tensor.h"
#include "inc/mps/operator.h"
+ Include dependency graph for switching.h:
+ This graph shows which files directly or indirectly include this file:

Namespaces

namespace  syten
 Syten namespace.
 
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

Functions generating MPOs and MPO components used to switch around the ordering of two sites.