SyTen

◆ build_exchange_tensors_above()

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.

Parameters
aformer first basis, occuring somewhere to the left of b
bformer right basis, occuring somewhere to the right of a
vacvacuum basis, LHS basis of left active MPO component and RHS basis of right active MPO component
fermionsvector of Fermionic symmetries and labels, a pair <s,l> specifies that a state with the 0-indexed l'th label of the 1-indexed s'th symmetry odd is fermionic.
Returns
a pair of two MPO components, acting on the left and right site from above.

References syten::MPS::Operator::dInt, syten::Basis::dir, syten::Basis::flipped(), syten::genFuse(), syten::genIINode(), syten::genOONode(), syten::genSplit(), syten::Tensor< rank >::getBasis(), syten::Inc, syten::MPS::Operator::lInt, std::make_pair(), std::move(), syten::MPS::Operator::rInt, syten::split(), SYTEN_ASSERT, and syten::MPS::Operator::uInt.

Referenced by build_exchange_mpo_above().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: