4#include "../../math/constmath.hpp"
5#include "../matrix.hpp"
6#include "../operations.hpp"
30template <
typename T, Size R, Size C>
51template <
typename T, Size R, Size C>
54 static_assert(
R ==
C,
"Householder expects a square matrix");
56 "Householder Reflection expects floating point");
60 for (Size row{1}; row <
R; row++)
73 (
a(1, 0) <
static_cast<T>(0)) ?
static_cast<T>(-1) :
static_cast<T>(1);
89 for (Size row = 0; row <
R; ++row)
95 for (Size row{2}; row <
R; row++)
Fixed-size matrix with compile-time dimensions.
Definition matrix.hpp:56
constexpr Matrix< T, R, R > house(Matrix< T, R, C > a)
Compute a Householder reflector for a square matrix.
Definition householder.hpp:52
constexpr T sqrt(const T x)
Constexpr square root.
Definition sqrt.hpp:67
constexpr T abs(const T x)
Absolute value of a real number.
Definition abs.hpp:17
constexpr T epsilon()
Machine epsilon for type T.
Definition utilities.hpp:82
constexpr Matrix< T, C, R > transpose(const Matrix< T, R, C > &mat)
Matrix transpose.
Definition operations.hpp:154