Algorithm 809: PREQN: Fortran 77 subroutines for preconditioning the conjugate gradient method 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 A i x=b i , i=1⋯,t, where the coefficient matrices A i 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 A i v 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