SyTen

◆ leftnorm() [1/2]

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

Normalises the tensors on the specified site to be left-normalised, i.e. occuring to the left of the central site.

If trunc is not truncating, does a QR of the LBO matrix followed by a QR decomposition of the MPS tensor. Otherwise, first normalises the LBO matrix towards the MPS tensor, truncates the MPS tensor towards the LBO matrix, truncates the LBO matrix towards the MPS tensor and then truncates the MPS tensor towards the right.

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 tensors to have norm one.
dropUif DropUnmatched::Yes, remove unmatched blocks during the various truncations.
Returns
an upper bound on the error incurred during the truncation, the actual error is most likely lower.

References leftnormM(), physnormM(), and physnormV().

Referenced by syten::MPS::DMRG::LBOWorker::LBOWorker(), leftnorm(), and truncate().

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