Skip to main content
← OpenMECP Documentation

update_hessian_bofill

Function update_hessian_bofill 

Source
pub fn update_hessian_bofill(
    hessian: &DMatrix<f64>,
    delta_x: &DVector<f64>,
    delta_g: &DVector<f64>,
) -> DMatrix<f64>
Expand description

Bofill weighted update for saddle points.

Implements Bofill’s formula from J. Comput. Chem. 1994, 15, 1-11:

H_new = H + φ·Powell_term + (1-φ)·MS_term

where:

  • φ = 1 - (Δx·Δg - Δx·H·Δx)² / (|Δx|² · |Δg - H·Δx|²)
  • Powell_term = symmetric rank-one update
  • MS_term = Murtagh-Sargent update

This weighted combination provides good convergence for both minima and saddle points.