|
primatologist-gpl 6.0.4
|
Newton's Method for optimization. More...
#include <primatologist/optimization/newton_decl.h>

Public Types | |
| typedef O | Objective |
| typedef L< O > | LineSearch |
| typedef math::Matrix | Matrix |
| typedef math::Vector | Vector |
Public Member Functions | |
| Newton (const Objective &f=Objective(), const Vector &x=Vector()) | |
| Newton (const Newton< O, L > &other) | |
| ~Newton () | |
| Newton< O, L > & | operator= (const Newton< O, L > &other) |
| void | setGamma (float gamma=0.1) |
| void | setStopCriterion (const std::string &crit="absdiff") |
| Can take values: | |
| void | setStopValue (float epsilon=1E-5) |
| void | setLineSearch (const LineSearch &l=LineSearch()) |
| void | setMaximize (bool maximize=false) |
| void | setMaxIterations (int n=- 1) |
| void | setVerbose (int v=carto::verbose) |
| void | setObjectiveFunction (const Objective &f) |
| void | setPosition (const Vector &x=Vector()) |
| float | gamma () const |
| const std::string & | stopCriterion () const |
| float | stopValue () const |
| LineSearch & | lineSearch () |
| bool | maximize () const |
| int | maxIterations () const |
| int | verbose () const |
| const Vector & | position () const |
| const Objective & | objectiveFunction () const |
| Vector | execute () |
Protected Attributes | |
| float | _gamma |
| Fixed Gamma or initial gamma for line search. | |
| Vector | _x |
| position | |
| Objective | _f |
| objectiveFunction | |
| LineSearch | _ls |
| lineSearch | |
| int | _verbose |
| verbosity level | |
| bool | _maximize |
| maximize or minimize | |
| int | _max_it |
| maximum number of iterations | |
| std::string | _crit |
| stop criterion | |
| float | _epsilon |
| stop value | |
Newton's Method for optimization.
| O | Objective function type. It should implement functions value(Vector), derivative(Vector) and hessian(Vector) |
| L | [optional] Line search type. A line search method can be used to select the next position each time a search is found. This can be useful to avoid too small or too large steps. |
Definition at line 31 of file newton_decl.h.
| typedef L<O> aims::Newton< O, L >::LineSearch |
Definition at line 38 of file newton_decl.h.
| typedef math::Matrix aims::Newton< O, L >::Matrix |
Definition at line 39 of file newton_decl.h.
| typedef O aims::Newton< O, L >::Objective |
Definition at line 37 of file newton_decl.h.
| typedef math::Vector aims::Newton< O, L >::Vector |
Definition at line 40 of file newton_decl.h.
| aims::Newton< O, L >::Newton | ( | const Objective & | f = Objective(), |
| const Vector & | x = Vector() ) |
Definition at line 23 of file newton_d.h.
References _f, _x, setGamma(), setLineSearch(), setMaximize(), setMaxIterations(), setStopCriterion(), setStopValue(), and setVerbose().
Referenced by Newton(), and operator=().
| aims::Newton< O, L >::Newton | ( | const Newton< O, L > & | other | ) |
| aims::Newton< O, L >::~Newton | ( | ) |
Definition at line 47 of file newton_d.h.
| Newton< O, L >::Vector aims::Newton< O, L >::execute | ( | ) |
Definition at line 197 of file newton_d.h.
References gamma(), aims::math::invert(), lineSearch(), maximize(), maxIterations(), objectiveFunction(), position(), stopCriterion(), stopValue(), and verbose().
| float aims::Newton< O, L >::gamma | ( | ) | const |
Definition at line 136 of file newton_d.h.
References _gamma.
Referenced by execute(), and setGamma().
| Newton< O, L >::LineSearch & aims::Newton< O, L >::lineSearch | ( | ) |
Definition at line 155 of file newton_d.h.
References _ls.
Referenced by execute(), setLineSearch(), setMaximize(), setObjectiveFunction(), and setVerbose().
| bool aims::Newton< O, L >::maximize | ( | ) | const |
Definition at line 161 of file newton_d.h.
References _maximize.
Referenced by execute(), setLineSearch(), and setMaximize().
| int aims::Newton< O, L >::maxIterations | ( | ) | const |
| const Newton< O, L >::Objective & aims::Newton< O, L >::objectiveFunction | ( | ) | const |
Definition at line 187 of file newton_d.h.
References _f.
Referenced by execute(), and setLineSearch().
| Newton< O, L > & aims::Newton< O, L >::operator= | ( | const Newton< O, L > & | other | ) |
| const Newton< O, L >::Vector & aims::Newton< O, L >::position | ( | ) | const |
| void aims::Newton< O, L >::setGamma | ( | float | gamma = 0.1 | ) |
| void aims::Newton< O, L >::setLineSearch | ( | const LineSearch & | l = LineSearch() | ) |
Definition at line 90 of file newton_d.h.
References _ls, lineSearch(), maximize(), objectiveFunction(), and verbose().
Referenced by Newton().
| void aims::Newton< O, L >::setMaximize | ( | bool | maximize = false | ) |
Definition at line 99 of file newton_d.h.
References _maximize, lineSearch(), and maximize().
Referenced by Newton().
| void aims::Newton< O, L >::setMaxIterations | ( | int | n = - 1 | ) |
| void aims::Newton< O, L >::setObjectiveFunction | ( | const Objective & | f | ) |
Definition at line 119 of file newton_d.h.
References _f, and lineSearch().
| void aims::Newton< O, L >::setPosition | ( | const Vector & | x = Vector() | ) |
Definition at line 126 of file newton_d.h.
References _x.
| void aims::Newton< O, L >::setStopCriterion | ( | const std::string & | crit = "absdiff" | ) |
Can take values:
Definition at line 78 of file newton_d.h.
References _crit.
Referenced by Newton().
| void aims::Newton< O, L >::setStopValue | ( | float | epsilon = 1E-5 | ) |
| void aims::Newton< O, L >::setVerbose | ( | int | v = carto::verbose | ) |
Definition at line 112 of file newton_d.h.
References _verbose, and lineSearch().
Referenced by Newton().
| const std::string & aims::Newton< O, L >::stopCriterion | ( | ) | const |
| float aims::Newton< O, L >::stopValue | ( | ) | const |
| int aims::Newton< O, L >::verbose | ( | ) | const |
Definition at line 173 of file newton_d.h.
References _verbose.
Referenced by execute(), and setLineSearch().
|
protected |
stop criterion
Definition at line 106 of file newton_decl.h.
Referenced by setStopCriterion(), and stopCriterion().
|
protected |
stop value
Definition at line 107 of file newton_decl.h.
Referenced by setStopValue(), and stopValue().
|
protected |
objectiveFunction
Definition at line 101 of file newton_decl.h.
Referenced by Newton(), Newton(), objectiveFunction(), operator=(), and setObjectiveFunction().
|
protected |
Fixed Gamma or initial gamma for line search.
Definition at line 99 of file newton_decl.h.
Referenced by gamma(), Newton(), operator=(), and setGamma().
|
protected |
lineSearch
Definition at line 102 of file newton_decl.h.
Referenced by lineSearch(), Newton(), operator=(), and setLineSearch().
|
protected |
maximum number of iterations
Definition at line 105 of file newton_decl.h.
Referenced by maxIterations(), Newton(), operator=(), and setMaxIterations().
|
protected |
maximize or minimize
Definition at line 104 of file newton_decl.h.
Referenced by maximize(), Newton(), operator=(), and setMaximize().
|
protected |
verbosity level
Definition at line 103 of file newton_decl.h.
Referenced by Newton(), operator=(), setVerbose(), and verbose().
|
protected |
position
Definition at line 100 of file newton_decl.h.
Referenced by Newton(), Newton(), operator=(), position(), and setPosition().