SyTen

◆ orthogonalise_arithmetic()

template<typename T , typename Iterator >
void syten::orthogonalise_arithmetic ( T &  vec,
Iterator  first,
Iterator  last,
bool  assume_norm_one = false,
Truncation const &  trunc = Truncation() 
)

Generic implementation of orthogonalisation against a set of vectors using Gram-Schmidt orthogonalisation.

Attempts to use the truncating implementation if possible, otherwise the generic one.

Parameters
[in,out]vecinput vector which is to be orthogonalised and output orthogonal vector
[in]firstiterator pointing to the first element of the range of vectors against which we orthogonalise
[in]lastiterator pointing one past the end of the range of vectors against which we orthogonalise
[in]trunctruncation specification, if applicable
[in]assume_norm_oneassume that the norm of the orthogonal input vectors is 1.
Remarks
Since this function uses the Gram-Schmidt method, the vectors [*first, *last) need to be orthogonal.

References orthogonalise_arithmetic_imp().

Referenced by orthogonalise_run().

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