Skip to main content

eig

pub fn eig(matrix: &Array2<f64>) -> Result<(Array1<f64>, Array2<f64>), String>
Expand description

Real symmetric eigensolver using the cyclic Jacobi eigenvalue algorithm.

This is a pure-Rust fallback used when the scirs2 feature is disabled. It assumes the input matrix is symmetric (e.g. covariance or Fisher information matrices). For robustness the input is symmetrized as (A + Aᵀ) / 2 before the iteration begins.

Returns (eigenvalues, eigenvectors) where the columns of the eigenvector matrix are orthonormal. A non-square input is an honest error.