Implementation for inc/mps/switching.h. More...
#include "inc/mps/switching.h"
#include "inc/tensor/tensor_gen.h"
#include "inc/tensor/tensor_prod.h"
#include "inc/dense/dense_operators.h"
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... | |
Implementation for inc/mps/switching.h.