SRDef syten::MPS::LBOState::physnormV | ( | Index const | site, |
Truncation | trunc = Truncation() , |
||
DropNorm const | dropN = DropNorm::Yes , |
||
DropUnmatched const | dropU = DropUnmatched::Yes |
||
) |
Normalises the rank-2 LBO matrix on the specified site in the direction of its associated MPS tensor.
site | the site of interest |
trunc | truncation parameters to apply. If trunc.notTruncating() is true, does a QR, otherwise a SVD decomposition. |
dropN | if DropNorm::Yes, normalises the transfer tensor to have norm one. If all other tensors of the system are normalised towards the LBO matrix on site site , this normalises the state. |
dropU | if DropUnmatched::Yes, removed blocks in the LBO matrix which are not contained in the MPS tensor prior to normalisation. |
References syten::Tensor< rank >::clear(), dIdx, dropUnmatched(), dropUnmatchedM(), dropUnmatchedV(), lIdx, lInt, m(), maybeCache(), std::move(), syten::YesNo< T >::n(), syten::MPS::norm(), syten::QR::qr(), rIdx, rInt, size(), syten::sqrt(), syten::SVD::svd(), uIdx, uInt, v(), and Yes.
Referenced by leftnorm(), rightnorm(), syten::MPS::TDVP::LBOWorker::sweep_single(), and syten::MPS::TDVP::LBOWorker::sweep_twosite().