bfgs_init

torch_sim.optimizers.bfgs.bfgs_init(state, model, *, max_step=0.2, alpha=70.0, cell_filter=None, **filter_kwargs)[source]

Create an initial BFGSState.

Initializes the Hessian as Identity matrix * alpha.

Shape notation:

N = total atoms across all systems (n_atoms) S = number of systems (n_systems) M = max atoms per system (max_atoms) D = 3*M (position DOFs) D_ext = 3*M + 9 (extended DOFs with cell)

Parameters:
  • state (SimState | dict[Literal['positions', 'masses', 'cell', 'pbc', 'atomic_numbers', 'system_idx'], ~torch.Tensor]) – Input state

  • model (ModelInterface) – Model

  • max_step (float) – Maximum step size (Angstrom)

  • alpha (float) – Initial Hessian stiffness (eV/A^2)

  • cell_filter (CellFilter | CellFilterFuncs | None) – Filter for cell optimization (None for position-only optimization)

  • **filter_kwargs (Any) – Additional arguments passed to cell filter initialization

Returns:

BFGSState or CellBFGSState if cell_filter is provided

Return type:

BFGSState | CellBFGSState