LBFGS++
Loading...
Searching...
No Matches
LBFGSpp::LineSearchBracketing< Scalar > Class Template Reference

#include <LineSearchBracketing.h>

Static Public Member Functions

template<typename Foo >
static void LineSearch (Foo &f, const LBFGSParam< Scalar > &param, const Vector &xp, const Vector &drt, const Scalar &step_max, Scalar &step, Scalar &fx, Vector &grad, Scalar &dg, Vector &x)
 

Detailed Description

template<typename Scalar>
class LBFGSpp::LineSearchBracketing< Scalar >

The bracketing line search algorithm for L-BFGS. Mainly for internal use.

Definition at line 17 of file LineSearchBracketing.h.

Member Function Documentation

◆ LineSearch()

template<typename Scalar >
template<typename Foo >
static void LBFGSpp::LineSearchBracketing< Scalar >::LineSearch ( Foo &  f,
const LBFGSParam< Scalar > &  param,
const Vector &  xp,
const Vector &  drt,
const Scalar &  step_max,
Scalar &  step,
Scalar &  fx,
Vector &  grad,
Scalar &  dg,
Vector &  x 
)
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.

Parameters
fA function object such that f(x, grad) returns the objective function value at x, and overwrites grad with the gradient.
paramParameters for the L-BFGS algorithm.
xpThe current point.
drtThe current moving direction.
step_maxThe upper bound for the step size that makes x feasible. Can be ignored for the L-BFGS solver.
stepIn: The initial step length. Out: The calculated step length.
fxIn: The objective function value at the current point. Out: The function value at the new point.
gradIn: The current gradient vector. Out: The gradient at the new point.
dgIn: The inner product between drt and grad. Out: The inner product between drt and the new gradient.
xOut: The new point moved to.

Definition at line 47 of file LineSearchBracketing.h.


The documentation for this class was generated from the following file: