NPL
Neurological Programs and Libraries
npl::Armijo Class Reference

Implementation of Armijo approximate line search algorithm. More...

#include <linesearch.h>

Public Member Functions

 Armijo (const ValFunc &valFunc)
 
double search (double init_val, const VectorXd &init_x, const VectorXd &init_g, const VectorXd &direction)
 Performs a line search to find the alpha (step size) that satifies the armijo rule. More...
 

Public Attributes

double opt_s
 Maximum step. More...
 
double opt_minstep
 Minimum non-zero step, once alpha drops below this, returns 0. More...
 
double opt_beta
 Power function base, values closer to 0 will decrease step size faster than ones close to 1. More...
 
double opt_sigma
 Theshold for stopping. More...
 
int opt_maxIt
 Maximum number of iterations. More...
 

Detailed Description

Implementation of Armijo approximate line search algorithm.

/addtogroup Optimizers

Definition at line 36 of file linesearch.h.

Constructor & Destructor Documentation

npl::Armijo::Armijo ( const ValFunc valFunc)

Member Function Documentation

double npl::Armijo::search ( double  init_val,
const VectorXd &  init_x,
const VectorXd &  init_g,
const VectorXd &  direction 
)

Performs a line search to find the alpha (step size) that satifies the armijo rule.

Parameters
init_valInitial energy/function value
init_xInitial state
init_gInitial gradient
directionDirection to search
Returns

Member Data Documentation

double npl::Armijo::opt_beta

Power function base, values closer to 0 will decrease step size faster than ones close to 1.

Definition at line 55 of file linesearch.h.

int npl::Armijo::opt_maxIt

Maximum number of iterations.

Definition at line 65 of file linesearch.h.

double npl::Armijo::opt_minstep

Minimum non-zero step, once alpha drops below this, returns 0.

Definition at line 49 of file linesearch.h.

double npl::Armijo::opt_s

Maximum step.

Definition at line 44 of file linesearch.h.

double npl::Armijo::opt_sigma

Theshold for stopping.

Definition at line 60 of file linesearch.h.


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