The IterativeSolvers.jl package is currently lacking some well-known iterative methods such as QMR and BiCGStab(l) for solving linear systems and IRAM and Jacobi-Davidson for eigenvalue problems. The first two methods are probably the last low-hanging fruit type of algorithms, while the latter two are quite specialized.

Implementing Jacobi-Davidson and IRAM is important, since currently Lanczos is the only eigensolver available, which applies to hermitian matrices only. Jacobi-Davidson and IRAM are quite subtle to implement correctly and efficiently (they require specialized restarts for instance), which probably explains why they are currently not yet available.

A benefit of having implicit restart available is that it can improve restarted GMRES as well.



Harmen Stoppels


  • Andreas Noack