SyTen

◆ orthogonalise_arithmetic_imp() [2/2]

template<typename T , typename Iterator >
auto syten::orthogonalise_arithmetic_imp ( T &  vec,
Iterator  first,
Iterator  last,
Truncation const &  trunc = Truncation(),
bool  assume_norm_one = false,
int  = 0 
) -> decltype(vec.truncateKeepNorm(trunc), void())

orthogonalise_arithmetic(): Preferred implementation, used if truncateKeepNorm() exists.

Does two loops, since the truncation may induce some error.

References addScaled(), syten::MPS::distance(), std::fill(), normSqd(), overlap(), overThreshold(), and SYTEN_SMALL_THRESHOLD.

Referenced by orthogonalise_arithmetic().

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