33template <
typename T, std::
size_t N>
42 make_householder(x, std::integral_constant<std::size_t, N>{});
56 constexpr void make_householder(
const Vector<T, N>& x,
auto) {
62 for (std::size_t
i = 0;
i < N; ++
i) v(
i) = x(
i) /
scale;
76 v = (T(1) / v(0)) * v;
82 beta = x(0) < T(0) ? T(2) : T(0);
102 std::integral_constant<std::size_t, 1>) {
Field classified by scalar_traits as complex.
constexpr auto inner_product(const Vec &lhs, const Vec &rhs)
Evaluate the canonical inner product for two field vectors.
typename scalar_traits_t< T >::real_type real_type_t
Associated real component type registered for T.
constexpr T constexpr_abs(T x)
Compute real absolute value or complex magnitude.
constexpr std::size_t mat_rows_v
Registered compile-time row count after cv/ref normalization.
Compact representation of a real or complex Householder reflector.
Vector< T, N > v
Reflector direction vector.
constexpr HouseholderVector(const Vector< T, N > &x)
Construct a compact Householder reflector for x.
real_type_t< T > beta
Real coefficient in I - beta * v * v^*.
forward declaration for L2 norm
Owning, fixed-size vector container.