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().