Exemple #1
0
inline void orth(VVector& v, typename mtl::Collection<VVector>::size_type j, tag::vector)
{
    using mtl::two_norm;
    using mtl::size1D;
    MTL_DEBUG_THROW_IF(j < 0 || j >= size1D(v), index_out_of_range());

    typedef typename mtl::Collection<VVector>::size_type  Size;
    for (Size i= 0; i < j; ++i)
        entry1D(v, j)-= dot(entry1D(v, i), entry1D(v, j)) * entry1D(v, i);
    entry1D(v, j)/= two_norm(entry1D(v, j));
}