SRDef syten::MPS::LBOState::physnormM | ( | Index const | site, |
Truncation | trunc = Truncation() , |
||
DropNorm const | dropN = DropNorm::Yes , |
||
DropUnmatched const | dropU = DropUnmatched::Yes |
||
) |
Normalises the rank-3 MPS tensor on the specified site in the direction of its associated LBO matrix.
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 MPS tensor on site site , this normalises the state. |
dropU | if DropUnmatched::Yes, removed blocks in the MPS tensor which are not contained in the LBO matrix prior to normalisation. |
References syten::Tensor< rank >::clear(), dIdx, dInt, dropUnmatched(), dropUnmatchedM(), dropUnmatchedV(), m(), maybeCache(), std::move(), syten::MPS::norm(), syten::QR::qr(), 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().