Algorithm 809: PREQN Fortran 77 subroutines for preconditioning the conjugate gradient method. - Morales, José Luis (ACM transactions on mathematical software.)
PREQN is a package of Fortran 77 subroutins for automatically generating preconditioners for the conjugate gradient method. It is designed for solving a sequence of linear systems Aix = bi, i = 1?, t, where the coefficient matrices Ai are symmetric and positive definite and vary slowly. Problems of this type arise, for example, in nonlinear optimization. The preconditioners are based on limited-memory quasi-Newton updating and are recommended for problems in which (i) the coefficient matrices are not explicitly known and only matrix-vector products of the form Aiv can be computed; or (ii) the coefficient matrices are not sparse. PREQN is written so that a single call from a conjugate gradient routine performs the preconditioning operation and stores information needed for the generation of a new preconditioner.