4#include "../../math/constmath.hpp"
5#include "../matrix.hpp"
6#include "../operations.hpp"
7#include "householder.hpp"
27template <
typename T, Size S>
struct PHMatrix
54template <
typename T, Size R, Size C, Size L = R>
74template <
typename T, Size R, Size C, Size L>
77 static_assert(
is_float<T>(),
"hess expects floating point");
78 static_assert(
R ==
C,
"Hessenberg reduction expects a square matrix");
89 constexpr Size
size{
R};
Fixed-size matrix with compile-time dimensions.
Definition matrix.hpp:56
constexpr PHMatrix< T, R > hess(Matrix< T, R, C > a)
Reduce a square matrix to upper Hessenberg form.
Definition hessenberg.hpp:75
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 epsilon()
Machine epsilon for type T.
Definition utilities.hpp:82