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

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

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.

Member Function Documentation

◆ LineSearch()

template<typename Scalar >
template<typename Foo >
static void LBFGSpp::LineSearchNocedalWright< 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 Nocedal and Wright (2006).

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 84 of file LineSearchNocedalWright.h.


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