Quasi-Newton Hessian Update Methods

Four update formulas are available via HessianUpdateMethod, selected with the Update keyword in the OPT section:

OPT
  Update  bfgs | psb | ms | bofill | sr1 | dfp | bfgs_powell | ts-bfgs
END

MSP (Mixed Symmetric Powell — default for minimisations)

Adaptively blends BFGS and Murtagh–Sargent updates via a mixing parameter where :

BFGS (Broyden–Fletcher–Goldfarb–Shanno)

The classic rank-2 update:

Preserves positive-definiteness when ; unsuitable for TS searches.

TS-BFGS (Transition-State BFGS — default for saddle-point searches)

Standard BFGS drives the Hessian positive-definite, which destroys the negative curvature direction needed for TS optimization. TS-BFGS replaces the curvature metric with (using the absolute-value Hessian , obtained by diagonalizing and flipping negative eigenvalues to their absolute values) so that the negative eigenvalue directions are maintained across steps.

The rank-2 single-step formula:

where is the IC-space displacement and is the gradient change.

Properties:

  • The quasi-Newton secant condition is approximately satisfied
  • Negative eigenvalues are preserved, not destroyed
  • Reduces exactly to standard BFGS when is positive-definite

SR1 (Symmetric Rank-1)

SR1 can build indefinite Hessian approximations naturally (no positive-definite constraint). Can be unstable if is small, so a skip condition is applied.

DFP (Davidon–Fletcher–Powell)

DFP is the inverse-Hessian analogue of BFGS. It preserves positive-definiteness but can be slow to converge on ill-conditioned surfaces.

Bofill (Bofill Weighted Update — default for TS searches)

The Bofill update blends the Powell-Symmetric-Broyden (PSB) and Murtagh-Sargent (MS) updates with a weight that measures how well the secant condition is satisfied:

Properties:

  • When : pure PSB (good for TS, preserves curvature information)
  • When : pure MS (good for minima, rank-1 correction)
  • Automatically adapts between PSB and MS based on the local surface curvature

PSB (Powell-Symmetric-Broyden)

PSB is a symmetric rank-2 update that does not preserve positive-definiteness. It is used as part of the Bofill update and is suitable for TS searches where the Hessian must remain indefinite.

MS (Murtagh-Sargent)

MS is a rank-1 update that can produce indefinite Hessians naturally. It is used as part of the Bofill update and is the simplest update that allows negative eigenvalues.

BFGS/Powell Mixed

if is_ts:
    H_new = Bofill(H,s,y)    # φ·PSB + (1-φ)·MS
else:
    H_new = BFGS(H,s,y)      # Standard BFGS

This method automatically selects BFGS for minima and Bofill for TS searches, providing a seamless transition between the two regimes.

Summary

MethodFormulaPreserves PDTS-SuitableDefault For
MSPNoYesMinima
BFGSYesNo
TS-BFGSUses in metricNoYesTS (Sella)
SR1NoYes
DFPYesNo
BofillNoYesTS (Berny)
PSBNoYes
MSNoYes
BFGS/PowellBFGS or Bofill based on modeAutoAuto