| 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().
Here is the call graph for this function:
Here is the caller graph for this function: