SyTen

◆ physnormV()

SRDef syten::MPS::LBOState::physnormV ( Index const  site,
Truncation  trunc = Truncation(),
DropNorm const  dropN = DropNorm::Yes,
DropUnmatched const  dropU = DropUnmatched::Yes 
)

Normalises the rank-2 LBO matrix on the specified site in the direction of its associated MPS tensor.

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 LBO matrix on site site, this normalises the state.
dropUif DropUnmatched::Yes, removed blocks in the LBO matrix which are not contained in the MPS tensor prior to normalisation.
Returns
the error incurred during the truncation

References syten::Tensor< rank >::clear(), dIdx, dropUnmatched(), dropUnmatchedM(), dropUnmatchedV(), lIdx, lInt, m(), maybeCache(), std::move(), syten::YesNo< T >::n(), syten::MPS::norm(), syten::QR::qr(), rIdx, rInt, 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: