Class MoreThuente#

Inheritance Relationships#

Base Type#

Class Documentation#

class MoreThuente : public pele::LineSearch#

Public Functions

inline MoreThuente(
GradientOptimizer *opt,
double alpha_max = 1e15,
double alpha_min = 1e-15,
double x_tol = 1e-15,
double f_tol = 1e-10,
double g_tol = 1e-4,
double x_trapf = 4,
double max_fev = 40,
double alphainit = 1.0
)#
inline ~MoreThuente()#
virtual double line_search(Array<double> &x, Array<double> step)#

Interfacing function for general line search methods in pele.

inline void set_xold_gold_(Array<double> &xold, Array<double> &gold)#
inline void set_g_f_ptr(Array<double> &g)#
inline scalar_t search(const vector_t &x, const vector_t &search_direction)#
int cvsrch(vector_t &x, scalar_t f, vector_t &g, scalar_t &stp, vector_t &s)#

use MoreThuente Rule for (strong) Wolfe conditiions

[long description

Parameters:
  • search_direction – search direction for next update step

  • function – handle to problem

Returns:

step-width

int cstep(
scalar_t &stx,
scalar_t &fx,
scalar_t &dx,
scalar_t &sty,
scalar_t &fy,
scalar_t &dy,
scalar_t &stp,
scalar_t &fp,
scalar_t &dp,
bool &brackt,
scalar_t &stpmin,
scalar_t &stpmax,
int &info
)#