BFGS is a quasi-Newton method. It builds an approximation of the inverse Hessian from gradient differences and steps along . With , and :

The update keeps positive definite as long as , which a Wolfe Line Search guarantees.

Limited memory (L-BFGS). Dense is impossible for – unknowns. L-BFGS stores only the last pairs , typically –, and applies with the two-loop recursion in operations. The initial matrix with sets the scale. A problem-adapted , such as the inverse Mass Matrix, makes the method mesh-independent (see Gradient Representation and the Riesz Map).

For EIT. It needs only objective values and gradients, one state and one adjoint solve per pattern and evaluation (see Adjoint State Method). Curvature is learned along the way. It usually converges much faster than steepest descent, with superlinear local convergence. For bound constraints use L-BFGS-B.

In ModularEIT.jl: LBFGS.

References

  1. D. C. Liu, J. Nocedal (1989). On the limited memory BFGS method for large scale optimization. Math. Program. 45, 503–528. doi:10.1007/BF01589116
  2. J. Nocedal, S. J. Wright (2006). Numerical Optimization, 2nd ed., Ch. 6–7. Springer. doi:10.1007/978-0-387-40065-5