SyTen

◆ dropUnmatchedM()

bool syten::MPS::LBOState::dropUnmatchedM ( Index const  site,
bool const  left = true,
bool const  right = true,
bool const  up = true 
)

Compares the blocks of the rank-3 MPS tensor on the specified site against its neighbouring tensors (if the relevant boolean is true) and removes them if no corresponding quantum number sector exists there.

Returns
true if a block was removed, false otherwise.

References dIdx, syten::Tensor< rank >::getBasisMap(), syten::BasisMap::hasSymmetry(), lIdx, syten::MPS::LBOState::Local::M, m(), maybeCache(), std::move(), rIdx, size(), syten::Tensor< rank >::size(), uIdx, syten::MPS::LBOState::Local::V, and v().

Referenced by dropUnmatched(), syten::MPS::expand_to_left_lbo(), syten::MPS::expand_to_right_lbo(), syten::MPS::expand_to_top(), leftnormM(), physnormM(), physnormV(), and rightnormM().

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