LBFGS++
|
#include <LineSearchNocedalWright.h>
Static Public Member Functions | |
template<typename Foo > | |
static void | LineSearch (Foo &f, const LBFGSParam< Scalar > ¶m, const Vector &xp, const Vector &drt, const Scalar &step_max, Scalar &step, Scalar &fx, Vector &grad, Scalar &dg, Vector &x) |
A line search algorithm for the strong Wolfe condition. Implementation based on:
"Numerical Optimization" 2nd Edition, Jorge Nocedal and Stephen J. Wright, Chapter 3. Line Search Methods, page 60.
Definition at line 21 of file LineSearchNocedalWright.h.
|
inlinestatic |
Line search by Nocedal and Wright (2006).
f | A function object such that f(x, grad) returns the objective function value at x , and overwrites grad with the gradient. |
param | Parameters for the L-BFGS algorithm. |
xp | The current point. |
drt | The current moving direction. |
step_max | The upper bound for the step size that makes x feasible. Can be ignored for the L-BFGS solver. |
step | In: The initial step length. Out: The calculated step length. |
fx | In: The objective function value at the current point. Out: The function value at the new point. |
grad | In: The current gradient vector. Out: The gradient at the new point. |
dg | In: The inner product between drt and grad. Out: The inner product between drt and the new gradient. |
x | Out: The new point moved to. |
Definition at line 84 of file LineSearchNocedalWright.h.