This package contains some iterative algorithms for computing the eigenvalues/eigenvectors of a symmetric matrix H, implemented in Rust.
The library examples represent H using the nalgebra DMatrix type, but the matrix H does not need to be dense. Sparse or other representations are handled by implementing the Matrixoperations
trait.
- Davidson using either Diagonal-Preconditioned-Residue (DPR) or Generalized Jacobi Davidson (GJD). See Davidson Diagonalization Method
- Lanczos, see Hermitian Lanczos
The Davidson method is suitable for diagonal-dominant symmetric matrices that are quite common in certain scientific problems like electronic structure calculations. The Davidson method could be not practical for other kind of symmetric matrices.