An optimizer using the Quasi Newton method, also known as the variable metrics method. More...
Public Member Functions | |
const Matrix | data () |
const Matrix | data () |
index_t | dimension () |
index_t | dimension () |
void | Eval (double *pt) |
void | Eval (double *pt) |
void | Init (long double(*fun)(Vector &, const Matrix &, Vector *), Matrix &data, datanode *opt_module) |
void | Init (long double(*fun)(Vector &, const Matrix &, Vector *), Matrix &data, datanode *opt_module) |
void | LineSearch_ (Vector pold, long double fold, Vector *grad, Vector *xi, Vector *pnew, long double *f_min, long double maximum_step_length) |
void | LineSearch_ (Vector pold, long double fold, Vector *grad, Vector *xi, Vector *pnew, long double *f_min, long double maximum_step_length) |
An optimizer using the Quasi Newton method, also known as the variable metrics method.
It does multivariate minimization of an objective function using only the function value and the gradients.
Example use:
double init_pt[d]; index_t number_of_iters; struct datanode *opt_module = fx_submodule(NULL,"QuasiNewton","opt_module"); Matrix data; index_t dim_param_space; ... QuasiNewton opt; opt.Init(obj_function, data, dim_param_space, opt_module); ... opt.Eval(init_pt); // init_pt contains the optimal point found
Definition at line 182 of file optimizers.h.