SyTen

◆ truncate()

SRDef syten::MPS::LBOState::truncate ( Truncation const &  trunc = Truncation(),
DropNorm const  dropN = DropNorm::Yes,
IsOrthogonal const  isOrthogonal = IsOrthogonal::No 
)

Truncates the state.

If isOrthogonal is IsOrthogonal::Left (IsOrthogonal::Right), the state is first right- (left-)normalised while truncating and then left- (right-)normalised while truncating. If isOrthogonal is IsOrthogonal::No, the state is first left-normalised without truncation and then first right-normalised with truncation and then left-normalised with truncation.

Parameters
trunctruncation parameters to apply.
dropNif DropNorm::Yes, normalises the transfer tensors to have norm one.
isOrthogonalspecifies assumption over the current normalisation of the state.
Returns
an upper bound on the error incurred during the truncations, the actual error is likely lower.

References dropUnmatched(), Left, leftnorm(), Right, and rightnorm().

Referenced by truncateKeepNorm().

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