L-BFGS Optimization

Overview

L-BFGS (Limited-memory Broyden–Fletcher–Goldfarb–Shanno) is a quasi-Newton optimization method that approximates the inverse Hessian matrix using information from a limited number of previous gradient evaluations. By storing only a small set of vector pairs rather than the full Hessian, it achieves near-Newton convergence rates while requiring minimal memory.

L-BFGS is the default and recommended optimizer in MAPLE. It is well suited for the vast majority of molecular systems, providing fast and stable convergence for both small molecules and large biomolecular structures.

Parameters

Parameter Type Default Description
memory int 5 Number of past gradient/position pairs stored for the inverse Hessian approximation.
curvature float 70.0 Initial diagonal Hessian estimate (inverse curvature scaling).
max_step float 0.2 Maximum step length in Angstrom per atom per cycle.
max_iter int 256 Maximum number of optimization cycles.
write_traj bool False Write intermediate geometries to a trajectory file.
traj_every int 1 Write trajectory frame every N optimization steps.
verbose int 1 Output verbosity level (0=energy only, 1=detailed).

Input Example

A minimal input file using L-BFGS optimization with default parameters:

#model=uma
#opt(method=lbfgs)
#device=gpu0

O    0.000000    0.000000    0.117300
H    0.000000    0.757200   -0.469200
H    0.000000   -0.757200   -0.469200

Tips

  • Increase memory (e.g., to 10 or 20) for systems with many soft degrees of freedom, such as large flexible molecules or weakly bound complexes. A larger history window provides a better Hessian approximation and can reduce the total number of steps needed to converge.
  • Reduce max_step (e.g., to 0.1 or 0.05) when the optimization oscillates or the energy increases between steps. Smaller step limits prevent the optimizer from moving too far in a single cycle, which is especially helpful for strained or highly anharmonic geometries.
  • Lower curvature (e.g., to 30) for systems where the initial steps are too aggressive, or raise it (e.g., to 100) if the first few steps are unnecessarily small.
Note

L-BFGS is a minimization algorithm and will converge to the nearest local minimum. It should not be used to locate transition states. For transition-state searches, see the Transition State methods.