NPL
Neurological Programs and Libraries
|
Implementation of Armijo approximate line search algorithm. More...
#include <linesearch.h>
Public Member Functions | |
Wolfe (const ValFunc &valFunc, const GradFunc &gradFunc) | |
Constructs a line search that satisfies the wolfe conditions (Armijo and curvature condition). This requires both the gradient and value. More... | |
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_minstep |
Minimum non-zero step, once alpha drops below this, returns 0. More... | |
double | opt_s |
Maximum step. More... | |
double | opt_beta |
Power function base, values closer to 0 will decrease step size faster than ones close to 1. More... | |
double | opt_c1 |
Theshold for stopping based on function values. More... | |
double | opt_c2 |
Theshold for stopping based on curvature. More... | |
int | opt_maxIt |
Maximum number of iterations. More... | |
Implementation of Armijo approximate line search algorithm.
Definition at line 88 of file linesearch.h.
Constructs a line search that satisfies the wolfe conditions (Armijo and curvature condition). This requires both the gradient and value.
valFunc | |
gradFunc |
double npl::Wolfe::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.
init_val | Initial energy/function value |
init_x | Initial state |
init_g | Initial gradient |
direction | Direction to search |
double npl::Wolfe::opt_beta |
Power function base, values closer to 0 will decrease step size faster than ones close to 1.
Definition at line 116 of file linesearch.h.
double npl::Wolfe::opt_c1 |
Theshold for stopping based on function values.
Definition at line 121 of file linesearch.h.
double npl::Wolfe::opt_c2 |
Theshold for stopping based on curvature.
Definition at line 126 of file linesearch.h.
int npl::Wolfe::opt_maxIt |
Maximum number of iterations.
Definition at line 131 of file linesearch.h.
double npl::Wolfe::opt_minstep |
Minimum non-zero step, once alpha drops below this, returns 0.
Definition at line 105 of file linesearch.h.
double npl::Wolfe::opt_s |
Maximum step.
Definition at line 110 of file linesearch.h.