IML++, or the Iterative Methods Library, is a C++ library for solving linear systems of equations. It is said to be "templated" in the sense that the same source code works for dense, sparse, and distributed matrices.
Some of the supported solutions methods are:
- Richardson Iteration
- Chebyshev Iteration
- Conjugate Gradient (CG)
- Conjugate Gradient Squared (CGS)
- BiConjugate Gradient (BiCG)
- BiConjugate Gradient Stabilized (BiCGSTAB)
- Generalized Minimum Residual (GMRES)
- Quasi-Minimal Residual Without Lookahead (QMR)
IML++ was developed by the National Institute of Standards and Technology, and is in the public domain. However, it is no longer being actively developed. It has been largely superseded by the Template Numerical Toolkit.