#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.
1.5.8