Jl. Morales et J. Nocedal, Algorithm 809: PREQN: Fortran 77 subroutines for preconditioning the conjugate gradient method, ACM T MATH, 27(1), 2001, pp. 83-91
PREQN is a package of Fortran 77 subroutines for automatically generating p
reconditioners for the conjugate gradient method. It is designed for solvin
g a sequence of linear systems A(i)x = bi, i = 1, ..., t, where the coeffic
ient matrices Ai are symmetric and positive definite and vary slowly. Probl
ems of this type arise, for example, in nonlinear optimization. The precond
itioners are based on limited-memory quasi-Newton updating and are recommen
ded for problems in which (i) the coefficient matrices are not explicitly k
nown and only matrix-vector products of the form Aiv can be computed; or (i
i) the coefficient matrices are not sparse. PREQN is written so that a sing
le call from a conjugate gradient routine performs the preconditioning oper
ation and stores information needed for the generation of a new preconditio
ner.