M1QN3/std M1QN3/std#


M1QN3 is a quasi-Newtonian optimization algorithm originally developed at INRIA to minimize functions with a very high number of variables. The algorithm is described in Gilbert and Lemaréchal, 1989. The original code was written in Fortran; F. Chevallier translated it to Python in 2005.

M1QN3 is distributed under the GNU General Public License and listed in the Free Software Directory.

YAML arguments#

The following arguments are used to configure the plugin. pyCIF will return an exception at the initialization if mandatory arguments are not specified, or if any argument does not fit accepted values or type:

Optional arguments#

niter : int, optional

maximum number of iterations

nsim : int, optional

maximum number of simulations

maxiter : int, optional, default 1

maximum number of iterations; if one of the two previousis missing, niter is set to maxiter and nsim to 2 times maxiter

dxmin : float, optional, default 1e-20

absolute precision on x; optional

df1 : float, optional, default 0.01

expected decrease for f

epsg : float, optional, default 1e-20

relative precision on the gradient

mode : int, optional, default 0

mode more M1QN3; for expert users only; see M1QN3 documentation for further details

nupdates : int, optional, default 5

number of updates; for experts only


The current plugin requires the present plugins to run properly:

Requirement name

Requirement type

Explicit definition

Any valid

Default name

Default version







YAML template#

Please find below a template for a YAML configuration:

 2  plugin:
 3    name: M1QN3
 4    version: std
 5    type: minimizer
 7    # Optional arguments
 8    niter: XXXXX  # int
 9    nsim: XXXXX  # int
10    maxiter: XXXXX  # int
11    dxmin: XXXXX  # float
12    df1: XXXXX  # float
13    epsg: XXXXX  # float
14    mode: XXXXX  # int
15    nupdates: XXXXX  # int