19template <MatrixContainer MatIn>
24 static_assert(
N >= 1,
"inverse requires matrix dim of at least 1");
44 const auto qr =
QR(
A);
46 for (std::size_t
i = 0;
i <
N; ++
i) {
64template <SquareMatrix MatIn>
69 static_assert(
N >= 1,
"inverse requires matrix dim of at least 1");
89 if constexpr (
N == 1) {
101 for (std::size_t
i = 0;
i <
N; ++
i) {
std::remove_cvref_t< T > remove_cvref_t
Remove top-level const, volatile, and reference qualification.
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.
constexpr bool is_fatal_event(NumericalEvent event)
is_fatal_event
typename mat_traits< remove_cvref_t< Mat > >::value_type matrix_scalar_t
Registered matrix scalar type after cv/ref normalization.
Factors a real symmetric matrix as A = L D L^T without pivoting.
static constexpr std::size_t N
linalg::remove_cvref_t< MatIn > Mat
constexpr auto operator()(const Mat &A) const
Compute the inverse by solving against identity columns.
constexpr auto apply(const Mat &A) const
Compute the inverse by solving against identity columns.
Factors A = Q R using Householder reflections.
Symmetric matrix inverse via LDL^T.
constexpr auto apply(const Mat &A) const
Compute the inverse by solving against identity columns.
static constexpr std::size_t N
linalg::remove_cvref_t< MatIn > Mat
constexpr auto operator()(const Mat &A) const
Compute the inverse by solving against identity columns.
Owning, fixed-size vector container.