#include <newton_search.h>
Public Member Functions | |
Newton_Search () | |
Default constructor. | |
~Newton_Search () | |
Destructor. | |
void | set_function (double(*function)(const vec &)) |
Set function pointer. | |
void | set_gradient (vec(*gradient)(const vec &)) |
Set gradient function pointer. | |
void | set_functions (double(*function)(const vec &), vec(*gradient)(const vec &)) |
Set both function and gradient function pointers. | |
void | set_start_point (const vec &x, const mat &D) |
Set start point x for search and approx inverse Hessian at x . | |
void | set_start_point (const vec &x) |
Set start point x for search. | |
vec | get_solution () |
Get solution, function value and gradient at solution point. | |
bool | search () |
Do the line search. | |
bool | search (vec &xn) |
Do the line search and return solution. | |
bool | search (const vec &x0, vec &xn) |
Set starting point, do the Newton search, and return the solution. | |
void | set_stop_values (double epsilon_1, double epsilon_2) |
Set stop criterion values. | |
double | get_epsilon_1 () |
Return stop value rho. | |
double | get_epsilon_2 () |
Return stop value beta. | |
void | set_max_evaluations (int value) |
Set max number of function evaluations. | |
int | get_max_evaluations () |
Return max number of function evaluations. | |
void | set_initial_stepsize (double value) |
Set max stepsize. | |
double | get_initial_stepsize () |
Return max number of iterations. | |
void | set_method (const Newton_Search_Method &method) |
Set Line search method. | |
double | get_function_value () |
get function value at solution point | |
double | get_stop_1 () |
get value of stop criterion 1 at solution point | |
double | get_stop_2 () |
get value of stop criterion 2 at solution point | |
int | get_no_iterations () |
get number of iterations used to reach solution | |
int | get_no_function_evaluations () |
get number of function evaluations used to reach solution | |
void | enable_trace () |
enable trace mode | |
void | disable_trace () |
disable trace | |
void | get_trace (Array< vec > &xvalues, vec &Fvalues, vec &ngvalues, vec &dvalues) |
Newton or Quasi-Newton optimization method that try to minimize the objective function given an initial guess .
The search is stopped when either criterion 1:
or criterion 2:
is fulfilled. Another possibility is that the search is stopped when the number of function evaluations exceeds a threshold (100 per default).
The default update rule for the inverse of the Hessian matrix is the BFGS algorithm with an .
void itpp::Newton_Search::get_trace | ( | Array< vec > & | xvalues, | |
vec & | Fvalues, | |||
vec & | ngvalues, | |||
vec & | dvalues | |||
) |
get trace outputs xvalues
are the solutions of every iteration Fvalues
are the function values ngvalues
are the norm(gradient,inf) values dvalues
are the delta values
References it_warning.