M1CG1 - A solver of symmetric linear systems by conjugate gradient iterations, using/building a BFGS/l-BFGS preconditionner - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport Année : 2011

M1CG1 - A solver of symmetric linear systems by conjugate gradient iterations, using/building a BFGS/l-BFGS preconditionner

Résumé

The module M1CG1 solves for x in Rn the linear system

   (LS)    Ax=b,
by a possibly preconditioned Fletcher-Reeves conjugate gradient (CG) algorithm. In this system, the n x n matrix A and the vector b in Rn are supposed to be known. It is assumed that the matrix A is symmetric. Therefore, solving the linear system is equivalent to finding a stationary point of the minimization problem

   (QP)    infx  (½)xT Ax-bT x.
To be sure to be able to solve the linear system (LS) [resp. the minimization problem (QP)] for an arbitrary b in Rn, the matrix A must be nonsingular [resp. positive definite]. When A is positive definite, (LS) and (QP) are equivalent. If the CG algorithm encounters a quasi-negative curvature direction, which is a conjugate direction v satisfying

   vT Av ≤ ν ∥ v ∥2,
for some given threshold ν≥0, M1CG1 just stops. In this inequality, ∥ ∙ ∥ denotes the Euclidean norm.

The way A is actually stored is irrelevant for M1CG1, since the algorithm requires only products Av of A times various vectors v and since this operation is supposed to be done in a user-supplied subroutine. This gives the possibility to use the code even when A is not known explicitly.

M1CG1 has the nice feature of being able to build itself a preconditioning matrix while it solves the linear system (LS). This matrix is an approximation of A-1 and can then be used to precondition a subsequent linear system with the same matrix A or a matrix close to A, and a different right-hand side. The preconditioning matrix is formed by BFGS updates. It is also possible to form an l-BFGS preconditioning matrix, so that the solver is adapted to problems of very large dimension. M1CG1 can also improve a previously built preconditioner; this feature is however presently limited by the fact that the method used to improve the preconditioner (i.e., full BFGS updates or l-BFGS updates with a given selection procedure) must be the same as the one used to build the previous preconditioner.

Another feature of M1CG1 is to be able to solve in parallel two linear systems: (LS) and

   (LS')    Ax'=b',
The latter system uses the same matrix A as in (LS), but another right-hand side b'. The second linear system (LS') is solved using the conjugate directions generated by the CG iterations for solving (LS). This means that the two systems are solved without increasing the number of matrix-vector products. This feature is useful for the truncated SQP algorithm in constrained optimization.
Fichier principal
Vignette du fichier
gilbert-2011.pdf (172.76 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Licence : CC BY NC ND - Paternité - Pas d'utilisation commerciale - Pas de modification

Dates et versions

hal-04148144 , version 1 (02-07-2023)

Licence

Paternité - Pas d'utilisation commerciale - Pas de modification

Identifiants

  • HAL Id : hal-04148144 , version 1

Citer

Jean Charles Gilbert. M1CG1 - A solver of symmetric linear systems by conjugate gradient iterations, using/building a BFGS/l-BFGS preconditionner. INRIA Rocquencourt, Domaine de Voluceau, BP 105, 78153 Le Chesnay Cedex, France. 2011. ⟨hal-04148144⟩

Collections

INRIA INRIA2 LARA
17 Consultations
9 Téléchargements

Partager

Gmail Facebook X LinkedIn More