import { MatN } from '../math/matn.js'; export interface SymmetricEigenOptions { /** Relative convergence threshold for the off-diagonal Frobenius norm. */ tolerance?: number; /** Relative tolerance used to validate that the input is symmetric. */ symmetryTolerance?: number; /** Maximum number of complete cyclic Jacobi sweeps. */ maxSweeps?: number; } export interface SymmetricEigensystem { /** Eigenvalues in ascending order. */ readonly values: Float64Array; /** Orthonormal eigenvectors stored as columns. */ readonly vectors: MatN; /** Absolute Euclidean residual ||A v_i - lambda_i v_i|| for each pair. */ readonly residualNorms: Float64Array; readonly sweeps: number; readonly rotations: number; readonly maxResidual: number; /** Max absolute entry of V^T V - I. */ readonly orthogonalityError: number; } /** * Deterministic Float64 eigendecomposition of a real symmetric matrix. * * A cyclic Jacobi iteration is used as the auditable dense reference path. * It is intentionally not a sparse large-matrix solver. Equal and nearly * equal eigenvalues define an invariant eigenspace, but the individual basis * vectors returned inside that space are not mathematically unique. */ export declare function symmetricEigenDecomposition(matrix: MatN, options?: SymmetricEigenOptions): SymmetricEigensystem; //# sourceMappingURL=symmetric-eigen.d.ts.map