LBFGS++ 0.4.0
A header-only C++ library for L-BFGS and L-BFGS-B algorithms.
Loading...
Searching...
No Matches
LBFGSpp::LineSearchBacktracking< Scalar > Class Template Reference

#include <LineSearchBacktracking.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::LineSearchBacktracking< Scalar >

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

Definition at line 17 of file LineSearchBacktracking.h.

Member Function Documentation

◆ LineSearch()

template<typename Scalar>
template<typename Foo>
void LBFGSpp::LineSearchBacktracking< 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 backtracking.

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 45 of file LineSearchBacktracking.h.


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