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.
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.
