torch_sim.optimizers.lbfgs

L-BFGS (Limited-memory BFGS) optimizer implementation.

This module provides a batched L-BFGS optimizer for atomic structure relaxation. L-BFGS is a quasi-Newton method that approximates the inverse Hessian using a limited history of position and gradient differences, making it memory-efficient for large systems while achieving superlinear convergence near the minimum.

When cell_filter is active, forces are transformed using the deformation gradient to work in the same scaled coordinate space as ASE’s UnitCellFilter/FrechetCellFilter. The prev_forces and prev_positions are stored in the scaled/fractional space to match ASE’s behavior exactly.

Functions

lbfgs_init

Create an initial LBFGSState from a SimState or state dict.

lbfgs_step

Advance one L-BFGS iteration using the two-loop recursion.

Classes

TYPE_CHECKING

bool(x) -> bool