The routine M1CG1 has been designed to minimize a strictly convex quadratic function depending on a very large number of variables, no subject to constraints. This is equivalent to solving a linear system (LS) with a symmetric positive definite matrix. The code implements a possibly preconditioned Fletcher-Reeves conjugate gradient algorithm. While solving the LS, a BFGS or an L-BFGS preconditionner may be built. This one can be used to speed-up computing the solution of a LS with the same matrix or a similar one.

The software is written in Fortran 77. Only a double precision version is available. The routine is part of the MODULOPT library and uses its communication protocol (direct communication).

The code is being used for solving problems in oceanography and meteorology. It is currently used for the every day weather forecasting in France (Météo France).