# lbfgs.m

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



## 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.