19template <SquareMatrix Mat>
31 static_assert(
N > 1,
"GG^T requires as least 2x2 matrix");
65 constexpr void factor(Mat
A) {
66 auto chol = [&]<std::size_t
j = 0>(
this auto&&
self) {
70 constexpr std::size_t
next =
j + 1;
72 if constexpr (
j > 0) {
constexpr auto get_diag(const Mat &A)
get the diagonal of a matrix A
constexpr auto transpose(const Vec &x)
tranpose of a vector
constexpr auto get_lower_triangle_with_diag(const Mat &A)
get lower triangle with diag
constexpr T constexpr_sqrt_safe(T x, T floor=T(0), T g=1e-10, T tol=1e-10)
Return a scalar square root with a sanitized fallback radicand.
constexpr std::size_t mat_rows_v
Registered compile-time row count after cv/ref normalization.
Configuration for generic numerical factorizations.
Factors a real positive-definite matrix as A = G G^T.
constexpr Cholesky(const Mat &A)
Factor A as G G^T using Cholesky column updates.
constexpr Cholesky(const Mat &A, const config::FactorConfig< T > &config_in)
Compute Cholesky factors with explicit settings.
constexpr auto G() const
Reconstruct the lower-triangular Cholesky factor.
std::complex< ScalarT > ComplexT
matrix_scalar_t< Mat > T
alias helpers for types
static constexpr std::size_t N
helper to extract N
forward declaration for symmetric operator
static constexpr std::size_t DIM
helpers to get DIM from mat
constexpr void compute_definiteness(const Vector< DiagT, N > &diag, const ScalarT &tol)
compute definiteness
constexpr const Cholesky< Mat > & self() const
self