SyTen

◆ physnormM()

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.

Parameters
sitethe site of interest
trunctruncation parameters to apply. If trunc.notTruncating() is true, does a QR, otherwise a SVD decomposition.
dropNif 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.
dropUif DropUnmatched::Yes, removed blocks in the MPS tensor which are not contained in the LBO matrix prior to normalisation.
Returns
the error incurred during the truncation

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: