LBFGS++
|
#include <LineSearchBracketing.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) |
The bracketing line search algorithm for L-BFGS. Mainly for internal use.
Definition at line 17 of file LineSearchBracketing.h.
|
inlinestatic |
Line search by bracketing. Similar to the backtracking line search except that it actively maintains an upper and lower bound of the current search range.
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 47 of file LineSearchBracketing.h.