This package contains the iterative Davidson algorithm for computing the lowest few eigenvalues/eigenvectors of a symmetric matrix A, implemented in Rust.
The library examples represent A using the ndarray::ArrayBase
type, but the matrix A does not need to be dense. Sparse or other representations are handled by implementing the DavidsonEngine
trait.
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.