LBFGS++
Searching...
No Matches
LBFGSpp::LBFGSSolver< Scalar, LineSearch > Class Template Reference

#include <LBFGS.h>

## Public Member Functions

LBFGSSolver (const LBFGSParam< Scalar > &param)

template<typename Foo >
int minimize (Foo &f, Vector &x, Scalar &fx)

const Vector & final_grad () const

## Detailed Description

template<typename Scalar, template< class > class LineSearch = LineSearchNocedalWright>
class LBFGSpp::LBFGSSolver< Scalar, LineSearch >

L-BFGS solver for unconstrained numerical optimization

Definition at line 22 of file LBFGS.h.

## ◆ LBFGSSolver()

template<typename Scalar , template< class > class LineSearch = LineSearchNocedalWright>
 LBFGSpp::LBFGSSolver< Scalar, LineSearch >::LBFGSSolver ( const LBFGSParam< Scalar > & param )
inline

Constructor for the L-BFGS solver.

Parameters
 param An object of LBFGSParam to store parameters for the algorithm

Definition at line 59 of file LBFGS.h.

## ◆ minimize()

template<typename Scalar , template< class > class LineSearch = LineSearchNocedalWright>
template<typename Foo >
 int LBFGSpp::LBFGSSolver< Scalar, LineSearch >::minimize ( Foo & f, Vector & x, Scalar & fx )
inline

Minimizing a multivariate function using the L-BFGS algorithm. Exceptions will be thrown if error occurs.

Parameters
 f A function object such that f(x, grad) returns the objective function value at x, and overwrites grad with the gradient. x In: An initial guess of the optimal point. Out: The best point found. fx Out: The objective function value at x.
Returns
Number of iterations used.

Definition at line 79 of file LBFGS.h.

template<typename Scalar , template< class > class LineSearch = LineSearchNocedalWright>
 const Vector & LBFGSpp::LBFGSSolver< Scalar, LineSearch >::final_grad ( ) const
inline

Returning the gradient vector on the last iterate. Typically used to debug and test convergence. Should only be called after the minimize() function.

Returns
A const reference to the gradient vector.

Definition at line 182 of file LBFGS.h.