Difference between revisions of "Lbfgs.m"
(→Returns) |
|||
| Line 4: | Line 4: | ||
==Syntax== | ==Syntax== | ||
| − | direction=lbfgs(dx_hist,dg_hist,g | + | direction=lbfgs(dx_hist,dg_hist,g) |
==Arguments== | ==Arguments== | ||
| Line 15: | Line 15: | ||
g - current gradient | g - current gradient | ||
| − | |||
| − | |||
| − | |||
==Output== | ==Output== | ||
Revision as of 16:53, 13 August 2018
Calculates an approximation to the Newton-Raphson search direction using past gradients to build a serviceable substitute to a Hessian. The Hessian matrix is never explicitly formed or inverted. This function is the implementation from section 4 of http://dx.doi.org/10.1090/S0025-5718-1980-0572855-7
Contents
Syntax
direction=lbfgs(dx_hist,dg_hist,g)
Arguments
dx_hist - history of x increments,
bookshelf array
dg_hist - history of gradient increments,
bookshelf array
g - current gradient
Output
direction - LBFGS approximation to the
search direction
Notes
The L-BFGS algorithm is the default of fminnewton.m, and is a good mix of computational efficiency and fast convergence.
See also
fminnewton.m, hessreg.m, linesearch.m
Version 2.2, authors: Ilya Kuprov, David Goodwin