Difference between revisions of "Lbfgs.m"
(→Arguments) |
(Sync syntax/arguments/outputs with current Spinach source) |
||
| Line 1: | Line 1: | ||
| − | {{DISPLAYTITLE:lbfgs.m}} | + | {{DISPLAYTITLE:lbfgs.m}} __NOTOC__ |
| + | |||
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 | 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 | ||
==Syntax== | ==Syntax== | ||
| − | + | direction=lbfgs(dx_hist,dg_hist,g) | |
==Arguments== | ==Arguments== | ||
| − | + | ||
| − | + | dx_hist - history of x increments, a stack | |
of column vectors, from the latest | of column vectors, from the latest | ||
to the earliest | to the earliest | ||
| − | + | ||
dg_hist - history of gradient increments, | dg_hist - history of gradient increments, | ||
| − | a stack of column vectors, from | + | a stack of column vectors, from |
the latest to the earliest | the latest to the earliest | ||
| − | + | ||
g - current gradient | g - current gradient | ||
| − | + | Returns: | |
| + | |||
| + | direction - LBFGS approximation to the | ||
| + | maximisation step vector | ||
| − | + | david.goodwin@inano.au.dk | |
| − | + | ilya.kuprov@weizmann.ac.il | |
==Notes== | ==Notes== | ||
| + | |||
The L-BFGS algorithm is the default of [[fminnewton.m]], and is a good mix of computational efficiency and fast convergence. | The L-BFGS algorithm is the default of [[fminnewton.m]], and is a good mix of computational efficiency and fast convergence. | ||
==See also== | ==See also== | ||
| + | |||
[[fminnewton.m]], [[hessreg.m]], [[linesearch.m]] | [[fminnewton.m]], [[hessreg.m]], [[linesearch.m]] | ||
''Version 2.2, authors: [[Ilya Kuprov]], [[David Goodwin]]'' | ''Version 2.2, authors: [[Ilya Kuprov]], [[David Goodwin]]'' | ||
| + | |||
| + | ==Output== | ||
| + | |||
| + | direction - LBFGS approximation to the | ||
| + | search direction | ||
Revision as of 15:06, 5 April 2026
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
Syntax
direction=lbfgs(dx_hist,dg_hist,g)
Arguments
dx_hist - history of x increments, a stack
of column vectors, from the latest
to the earliest
dg_hist - history of gradient increments,
a stack of column vectors, from
the latest to the earliest
g - current gradient
Returns:
direction - LBFGS approximation to the
maximisation step vector
david.goodwin@inano.au.dk ilya.kuprov@weizmann.ac.il
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
Output
direction - LBFGS approximation to the
search direction