/** * Dense linear-algebra kernels used by the discriminant-analysis estimators. * * Both routines are Jacobi methods: slower than LAPACK-style algorithms but * unconditionally convergent, fully deterministic, and accurate to machine * precision for the small/medium matrices this library targets. Unlike the * top-k power iteration in `src/algebra/eigen.ts` they return the FULL * spectrum, which the sklearn-style tol-based rank cutting requires. */ /** * Thin singular value decomposition (values + right singular vectors) of an * n x p matrix via one-sided (Hestenes) Jacobi rotations. * * Returns `S` (length min(n, p), descending, all >= 0) and `Vt` * (min(n, p) x p, orthonormal rows) such that A ~= U diag(S) Vt. The left * singular vectors are not materialized because no caller needs them. */ export declare function jacobiSVD(A: number[][]): { S: number[]; Vt: number[][]; }; /** * Full eigendecomposition of a symmetric matrix via the classical two-sided * Jacobi eigenvalue algorithm. Returns all eigenpairs sorted by eigenvalue * descending; `vectors[i]` is the (unit-norm) eigenvector for `values[i]`. */ export declare function symmetricEigDecomposition(A: number[][]): { values: number[]; vectors: number[][]; }; /** * Cholesky factorization A = L L^T for a symmetric positive-definite matrix. * Returns the lower-triangular factor, or null when A is not (numerically) * positive definite so callers can raise a domain-specific error. */ export declare function cholesky(A: number[][]): number[][] | null; /** Solve L x = b for lower-triangular L (forward substitution). */ export declare function solveLower(L: number[][], b: number[]): number[]; /** Solve L^T x = b for lower-triangular L (backward substitution). */ export declare function solveLowerTransposed(L: number[][], b: number[]): number[];