SyTen

◆ split_rank_4_into_mps_cnorm()

SRDef syten::MPS::split_rank_4_into_mps_cnorm ( Tensor< 4 > &&  r4,
Tensor< 3 > &  left_site,
Tensor< 2 > &  center,
Tensor< 3 > &  right_site,
Truncation  trunc 
)

Splits a rank-4 tensor into two rank-3 tensors in standard MPS ordering, truncating according to trunc.

1 3 uIdx uIdx
| | | |
2--[ r4 ]--4 => lIdx-[ l ]-rIdx 1--[ center ]--2 lIdx-[ r ]-rIdx

where left_site is left-normalised, right_site is right-normalised and center contains the singular values on this bond, with its first leg connecting to the left.

References std::vector< T >::clear(), std::string::clear(), syten::genFuse(), syten::genSplit(), syten::MPS::State::lInt, norm(), syten::MPS::State::rIdx, syten::MPS::State::rInt, syten::split(), syten::SVD::svd(), and syten::MPS::State::uInt.

Referenced by syten::MPS::TDVP::LBOWorker::evo_two_m().

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