| 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.
| a | former first basis, occuring somewhere to the left of b |
| b | former right basis, occuring somewhere to the right of a |
| vac | vacuum basis, LHS basis of left active MPO component and RHS basis of right active MPO component |
| fermions | vector 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. |
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: