LBFGS

References: Byrd1995

Provides parameters to tune the limited memory BFGS (LBFGS) optimization [Edit on GitHub]

Keywords

Keyword descriptions

MAX_F_PER_ITER: integer = 20

Usage: MAX_F_PER_ITER {integer}

Maximum number of force evaluations per iteration (used for the line search) [Edit on GitHub]

MAX_H_RANK: integer = 5

Usage: MAX_H_RANK {integer}

Maximum rank (and consequently size) of the approximate Hessian matrix used by the LBFGS optimizer. Larger values (e.g. 30) will accelerate the convergence behaviour at the cost of a larger memory consumption. [Edit on GitHub]

PRINT_LEVEL: enum = LOW

Usage: PRINT_LEVEL MEDIUM

Valid values:

  • SILENT Almost no output

  • LOW Little output about f and |proj g| every iteration

  • MEDIUM Quite some output about details every iteration

  • HIGH Lots of output about changes of active set and final x

  • DEBUG Everything is written out, useful for debugging purposes only

How much output is written out by the LBFGS algorithm. [Edit on GitHub]

TRUST_RADIUS: real = -5.29177209E-001 [angstrom]

Usage: TRUST_RADIUS {real}

Trust radius used in LBFGS. Not completely in depth tested. Negativ values means no trust radius is used. [Edit on GitHub]

WANTED_PROJ_GRADIENT: real = 1.00000000E-016 [internal_cp2k]

Usage: WANTED_PROJ_GRADIENT {real}

Convergence criterion (overrides the general ones): Requested norm threshold of the gradient multiplied by the approximate Hessian. [Edit on GitHub]

WANTED_REL_F_ERROR: real = 1.00000000E-016 [internal_cp2k]

Usage: WANTED_REL_F_ERROR {real}

Convergence criterion (overrides the general ones): Requested relative error on the objective function of the optimizer (the energy) [Edit on GitHub]

__CONTROL_VAL: integer = -1

Hidden parameter that controls the printing behavior of the LBFGS optimizer for advanced debug purposes. This option overrides PRINT_LEVEL setting if explicit. [Edit on GitHub]