SyTen

◆ rightnormM()

SRDef syten::MPS::LBOState::rightnormM ( 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 towards the left (such that it occurs to the right of the central site).

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 LHS neighbouring MPS tensor prior to normalisation.
Returns
the error incurred during the truncation

References syten::Tensor< rank >::clear(), dropUnmatched(), dropUnmatchedM(), dropUnmatchedV(), lIdx, lInt, m(), maybeCache(), std::move(), syten::MPS::norm(), syten::QR::qr(), rIdx, rInt, size(), syten::SVD::svd(), uIdx, uInt, v(), and Yes.

Referenced by rightnorm(), and syten::MPS::TDVP::LBOWorker::sweep_twosite().

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