SyTen

◆ leftnormM()

SRDef syten::MPS::LBOState::leftnormM ( 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 right (such that it occurs to the left 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 RHS 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 leftnorm(), and syten::MPS::TDVP::LBOWorker::sweep_twosite().

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