SAS/IML software provides subroutines that implement iterative and direct algorithms for solving large
sparse systems of linear equations of the form *x*=**b**, where
**A** is a nonsingular square matrix. The
ITSOLVER subroutine supports the following classes of iterative solvers:

- conjugate gradient for symmetric positive-definite systems
- conjugate gradient squared for general nonsingular systems
- minimum residual for symmetric indefinite systems
- biconjugate gradient for general nonsingular systems

Convergence of an iterative method depends upon the distribution of eigenvalues for the matrix **A**,
and it can be rather slow for badly conditioned matrices. For such cases SAS/IML offers the following hybrid
algorithms, which combine an incomplete factorization (a modified direct method) used in the preconditioning
phase with an iterative refinement procedure:

- incomplete Cholesky factorization
- diagonal Jacobi preconditioner
- modified incomplete LU factorization

The SOLVELIN subroutine supports the following direct sparse solvers for symmetric positive-definite systems:

- symbolic LDL
- Cholesky