Skip to content

num::householder_vector

Defined in header <linear/factorization/qr.hpp>

template <std::floating_point T>
void householder_vector(T *v, T &beta, const T *x, idx m) noexcept;

Computes elementary Householder reflector vector \(\mathbf{v}\) and scalar \(\beta\) such that:

\[ (I - \beta \mathbf{v} \mathbf{v}^T) \mathbf{x} = \mp \|\mathbf{x}\|_2 \mathbf{e}_1 \]

\(\mathbf{v}\) is sized \(m\), with \(v_0 = 1\) implicitly assigned.