NPL
Neurological Programs and Libraries
npl::GradientOpt Class Reference

#include <gradient.h>

Inherits npl::Optimizer.

Public Member Functions

 GradientOpt (size_t dim, const ValFunc &valfunc, const GradFunc &gradfunc, const ValGradFunc &valgradfunc, const CallBackFunc &callback=noopCallback)
 Constructor for optimizer function. More...
 
 GradientOpt (size_t dim, const ValFunc &valfunc, const GradFunc &gradfunc, const CallBackFunc &callback=noopCallback)
 Constructor for optimizer function. More...
 
StopReason optimize ()
 Perform optimization. More...
 

Static Public Member Functions

static std::string explainStop (StopReason r)
 Provides a string that describes the stop reason. More...
 

Public Attributes

double opt_maxstep
 Maximum step size, step will be rescaled to this length if it exceeds it after other scaling is complete. More...
 
double opt_init_scale
 Initial scale to use during optimization, actual scale may differ due to other options. More...
 
double opt_rdec_scale
 Multiply scale by this value after each iteration ( 0 < v < 1 ). Values <= 0 will be considered unused. More...
 
VectorXd state_x
 State variable, set to initialize. More...
 
double stop_G
 Stop when graient magnitde falls below this value. More...
 
double stop_X
 Stop when step size drops below this value. More...
 
double stop_F
 Stop when change in function value drops below this value. More...
 
double stop_F_over
 Stop immediately when value goes above this. More...
 
double stop_F_under
 Stop immediately when value goes below this. More...
 
int stop_Its
 Stop after this many iterations (does not include linesearch) More...
 

Protected Attributes

ValGradFunc m_compFG
 
GradFunc m_compG
 
ValFunc m_compF
 
CallBackFunc m_callback
 

Detailed Description

Definition at line 36 of file gradient.h.

Constructor & Destructor Documentation

npl::GradientOpt::GradientOpt ( size_t  dim,
const ValFunc valfunc,
const GradFunc gradfunc,
const ValGradFunc valgradfunc,
const CallBackFunc callback = noopCallback 
)

Constructor for optimizer function.

Parameters
dimDimensionality of state vector
valfuncFunction which computes the energy of the underlying mathematical function
gradfuncFunction which computes the gradient of energy in the underlying mathematical function
valgradfuncFunction which computes the both the energy and gradient in the underlying mathematical function
callbackFunction which should be called at the end of each iteration (for instance, to debug)
npl::GradientOpt::GradientOpt ( size_t  dim,
const ValFunc valfunc,
const GradFunc gradfunc,
const CallBackFunc callback = noopCallback 
)

Constructor for optimizer function.

Parameters
dimDimensionality of state vector
valfuncFunction which computes the energy of the underlying mathematical function
gradfuncFunction which computes the gradient of energy in the underlying mathematical function
callbackFunction which should be called at the end of each iteration (for instance, to debug)

Member Function Documentation

static std::string npl::Optimizer::explainStop ( StopReason  r)
staticinherited

Provides a string that describes the stop reason.

Parameters
r
StopReason npl::GradientOpt::optimize ( )
virtual

Perform optimization.

Returns
StopReason

Reimplemented from npl::Optimizer.

Member Data Documentation

CallBackFunc npl::Optimizer::m_callback
protectedinherited

Definition at line 245 of file opt.h.

ValFunc npl::Optimizer::m_compF
protectedinherited

Definition at line 244 of file opt.h.

ValGradFunc npl::Optimizer::m_compFG
protectedinherited

Definition at line 242 of file opt.h.

GradFunc npl::Optimizer::m_compG
protectedinherited

Definition at line 243 of file opt.h.

double npl::GradientOpt::opt_init_scale

Initial scale to use during optimization, actual scale may differ due to other options.

Definition at line 49 of file gradient.h.

double npl::GradientOpt::opt_maxstep

Maximum step size, step will be rescaled to this length if it exceeds it after other scaling is complete.

Definition at line 43 of file gradient.h.

double npl::GradientOpt::opt_rdec_scale

Multiply scale by this value after each iteration ( 0 < v < 1 ). Values <= 0 will be considered unused.

Definition at line 55 of file gradient.h.

VectorXd npl::Optimizer::state_x
inherited

State variable, set to initialize.

Definition at line 162 of file opt.h.

double npl::Optimizer::stop_F
inherited

Stop when change in function value drops below this value.

Definition at line 177 of file opt.h.

double npl::Optimizer::stop_F_over
inherited

Stop immediately when value goes above this.

Definition at line 182 of file opt.h.

double npl::Optimizer::stop_F_under
inherited

Stop immediately when value goes below this.

Definition at line 187 of file opt.h.

double npl::Optimizer::stop_G
inherited

Stop when graient magnitde falls below this value.

Definition at line 167 of file opt.h.

int npl::Optimizer::stop_Its
inherited

Stop after this many iterations (does not include linesearch)

Definition at line 192 of file opt.h.

double npl::Optimizer::stop_X
inherited

Stop when step size drops below this value.

Definition at line 172 of file opt.h.


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