Documentation


animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real > Class Template Reference

#include <frprMinimizer.h>

List of all members.


Detailed Description

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
class animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >

Function optimization using gradient.

Definition at line 22 of file frprMinimizer.h.

Public Member Functions

 FrprMinimizer (ValueFunction &valueFunction, GradientFunction &gradientFunction, Real mainTol=0.01, int mainMaxIter=1, Real linminTol=0.01, int linminMaxIter=10, bool profiling=false, int restartFreq=1000000, Real linminEps=1.0e-10, Real dumpThreshold=1.0e-9)
 Link to external data and tune parameters.

void profile (bool b)
 If true, print info on processing.

void operator() (Parameter &param, Real maxStep)
 Optimize the parameters starting from given value(s).

void initSearchDirection (const Parameter &point)
 void initSearchDirection( const Parameter& point ) Next (and only next) search will start along the given direction.

void printFunction (Parameter &p)
 Display current value and gradient.


Static Public Member Functions

Real nullGradientThreshold ()
 criterion for "small enough" gradient


Public Attributes

ValueFunction & valueFunction
 computes the value of the function

GradientFunction & gradientFunction
 computes the gradient of the function

Real mainTol
 desired precision

unsigned int mainMaxIter
 max number of iterations

int restartFreq
 restart frequency

Real linminTol
 desired precision in line minimization

int linminMaxIter
 max number of iterations in the dbrent part of line minimization; bracketting the minimum can take an arbitrary number of function evaluation.

Real linminEps
 epsilon in line minimization

Real previousStep
 stored for temporal coherency

bool nullGradient
 iff gradient is small enough

bool precisionReached
 iff desired precision is reached

bool maxStepReached
 iff max number of iterations is reached

Real cumulatedStep
 cumulated steps along the search directions

bool tooManyIterationsDbrent
 iff too many iterations in the one-dimensional optimization

bool negativeStep
 iff a negative step is encountered (this sould never happen)

Real finalValue
 value at the end of the optimization

unsigned int nbIterations
 actual number of iterations

bool profiling
 print info on last optimization performed

Real dumpThreshold
 step threshold under which a function profile is dumped (for debug purpose)

int nbValueEvaluations
 (profile) number of function evaluations

int nbGradientEvaluations
 (profile) number of gradient evaluations


Private Member Functions

void printLog (Real)
 write detail on minization

void init (int s)
 Resize the auxiliary vectors, initialize the counters and flags.

Real f1dim (Real x)
 auxiliary function for line minimization

Real df1dim (Real x)
 auxiliary function for line minimization

Real linemin (Parameter &p, Parameter &xi, Real *fret, Real maxStep, Real finit, Real TOL=2.0e-4)
 line minimization: auxiliary function for optimization. Return the length of the step performed.

void mnbrak (Real *ax, Real *bx, Real *cx, Real *fa, Real *fb, Real *fc)
 Bracket the minimum of a funtion.

template<class T> T MAX (const T &a, const T &b)
 Maximum of two values. Operator > must be defined.

template<class T> T SIGN (const T &a, const T &b)
 Strange function used in some Numerical Recipes programs.

Real dbrent (Real ax, Real bx, Real cx, Real tol, Real *xmin, Real ZEPS=1.0e-10)
 Finds the minimum of a funtion using derivative and a variant of parabolic interpolation.

void dumpPotential (Real stepMin, Real stepMax, int resolution, const char *filename="potential.plo")
 DUmp a gnuplot profile of the potential function around the current state in the acceleration direction".

Real Rfabs (Real a)
 Absolute value.


Private Attributes

int nitermod
 auxiliary variable for periodic restart

bool followGivenDirection
 if true, use a previously given direction for the first iteration

unsigned int size
 dimension of the space

Parameter g
 auxiliary vector for minimization

Parameter h
 auxiliary vector for minimization

Parameter xi
 auxiliary vector for minimization

Parameter pcom
 auxiliary vector for minimization

Parameter xicom
 auxiliary vector for minimization

Parameter xt
 auxiliary vector for minimization

Parameter df
 auxiliary vector for minimization

Parameter initialDirection
 store an imposed initial search direction


Constructor & Destructor Documentation

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::FrprMinimizer ValueFunction &  valueFunction,
GradientFunction &  gradientFunction,
Real  mainTol = 0.01,
int  mainMaxIter = 1,
Real  linminTol = 0.01,
int  linminMaxIter = 10,
bool  profiling = false,
int  restartFreq = 1000000,
Real  linminEps = 1.0e-10,
Real  dumpThreshold = 1.0e-9
[inline]
 

Link to external data and tune parameters.

Definition at line 63 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dumpThreshold, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::followGivenDirection, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linminEps, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::previousStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profiling, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::tooManyIterationsDbrent.


Member Function Documentation

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent Real  ax,
Real  bx,
Real  cx,
Real  tol,
Real *  xmin,
Real  ZEPS = 1.0e-10
[inline, private]
 

Finds the minimum of a funtion using derivative and a variant of parabolic interpolation.

Given a bracketing triplet of abcissas ax, bx and cx (such that bx is between ax and cx and f(bx) is less than both f(ax) and f(cx)), this routine performs a search for the minimum, isolating it to a fractional precision of about tol. The abcissa of the minimum is returned as *xmin, and the minimum function value is the returned value.

Parameters:
ax start or end of the bracketing interval
bx somewhere in the bracketing interval, xith values less than at both bounds
cx the other bound of the interval
tol tolerance
xmin return value
ZEPS auxiliary numerical value

Definition at line 448 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linminMaxIter, MOV3, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profiling, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::Rfabs(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::SIGN(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::tooManyIterationsDbrent.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim Real  x  )  [inline, private]
 

auxiliary function for line minimization

Definition at line 278 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::gradientFunction, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::pcom, animal::size(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::size, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xicom, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xt.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
void animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dumpPotential Real  stepMin,
Real  stepMax,
int  resolution,
const char *  filename = "potential.plo"
[inline, private]
 

DUmp a gnuplot profile of the potential function around the current state in the acceleration direction".

Definition at line 553 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::valueFunction.

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim Real  x  )  [inline, private]
 

auxiliary function for line minimization

Definition at line 268 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::pcom, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profiling, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::size, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::valueFunction, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xicom, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xt.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dumpPotential(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
void animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init int  s  )  [inline, private]
 

Resize the auxiliary vectors, initialize the counters and flags.

Definition at line 231 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::cumulatedStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::followGivenDirection, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::g, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::h, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initialDirection, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::maxStepReached, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbIterations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::negativeStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nitermod, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nullGradient, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::pcom, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::precisionReached, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::size, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::tooManyIterationsDbrent, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xi, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xicom, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xt.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printFunction().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
void animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initSearchDirection const Parameter &  point  )  [inline]
 

void initSearchDirection( const Parameter& point ) Next (and only next) search will start along the given direction.

Subsequent searches will start normally unless this method is applied again.

Definition at line 186 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::followGivenDirection, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::gradientFunction, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initialDirection, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xi.

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin Parameter &  p,
Parameter &  xi,
Real *  fret,
Real  maxStep,
Real  finit,
Real  TOL = 2.0e-4
[inline, private]
 

line minimization: auxiliary function for optimization. Return the length of the step performed.

Definition at line 292 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::pcom, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::previousStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profiling, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::size, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xicom.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
template<class T>
T animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::MAX const T &  a,
const T &  b
[inline, private]
 

Maximum of two values. Operator > must be defined.

Definition at line 429 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
void animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak Real *  ax,
Real *  bx,
Real *  cx,
Real *  fa,
Real *  fb,
Real *  fc
[inline, private]
 

Bracket the minimum of a funtion.

Given distinct initial points *ax and *bx, this routines searches in downhill direction (defined by the function evaluated at the initial points) and returns new points *ax, *bx, *cx that bracket a minimum of the function. The abcissa of the minimum is somewhere between *ax and *cx. Also returned are the function values at the three points, *fa, *fb and *fc.

Definition at line 356 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::MAX(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profiling, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::Rfabs(), SHFT, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::SIGN().

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nullGradientThreshold  )  [inline, static]
 

criterion for "small enough" gradient

Definition at line 50 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator() Parameter &  param,
Real  maxStep
[inline]
 

Optimize the parameters starting from given value(s).

Limit the displacement to maxStep.

Definition at line 93 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::cumulatedStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::finalValue, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::followGivenDirection, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::g, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::gradientFunction, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::h, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initialDirection, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linminEps, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linminTol, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mainMaxIter, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mainTol, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::maxStepReached, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbIterations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::negativeStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nitermod, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nullGradient, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nullGradientThreshold(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::precisionReached, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::previousStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profiling, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::restartFreq, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::Rfabs(), animal::size(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::size, animal::v_eq(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::valueFunction, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xi.

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
void animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printFunction Parameter &  p  )  [inline]
 

Display current value and gradient.

Definition at line 196 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::gradientFunction, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations, animal::v_output(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::valueFunction, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xi.

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
void animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog Real   )  [inline, private]
 

write detail on minization

Definition at line 211 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::cumulatedStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::finalValue, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mainMaxIter, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::maxStepReached, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbIterations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::negativeStep, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nullGradient, animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::precisionReached, and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::valueFunction.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
void animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profile bool  b  )  [inline]
 

If true, print info on processing.

Definition at line 87 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profiling.

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::Rfabs Real  a  )  [inline, private]
 

Absolute value.

Definition at line 569 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::SIGN().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
template<class T>
T animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::SIGN const T &  a,
const T &  b
[inline, private]
 

Strange function used in some Numerical Recipes programs.

Definition at line 434 of file frprMinimizer.h.

References animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::Rfabs().

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak().


Member Data Documentation

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::cumulatedStep
 

cumulated steps along the search directions

Definition at line 46 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Parameter animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df [private]
 

auxiliary vector for minimization

Definition at line 264 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dumpThreshold
 

step threshold under which a function profile is dumped (for debug purpose)

Definition at line 56 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::FrprMinimizer().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::finalValue
 

value at the end of the optimization

Definition at line 53 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
bool animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::followGivenDirection [private]
 

if true, use a previously given direction for the first iteration

Definition at line 34 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::FrprMinimizer(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initSearchDirection(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Parameter animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::g [private]
 

auxiliary vector for minimization

Definition at line 258 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
GradientFunction& animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::gradientFunction
 

computes the gradient of the function

Definition at line 26 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initSearchDirection(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printFunction().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Parameter animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::h [private]
 

auxiliary vector for minimization

Definition at line 259 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Parameter animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initialDirection [private]
 

store an imposed initial search direction

Definition at line 265 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initSearchDirection(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linminEps
 

epsilon in line minimization

Definition at line 39 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::FrprMinimizer(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
int animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linminMaxIter
 

max number of iterations in the dbrent part of line minimization; bracketting the minimum can take an arbitrary number of function evaluation.

Definition at line 38 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linminTol
 

desired precision in line minimization

Definition at line 37 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
unsigned int animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mainMaxIter
 

max number of iterations

Definition at line 30 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mainTol
 

desired precision

Definition at line 29 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
bool animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::maxStepReached
 

iff max number of iterations is reached

Definition at line 45 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
int animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbGradientEvaluations
 

(profile) number of gradient evaluations

Definition at line 58 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initSearchDirection(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printFunction(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
unsigned int animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbIterations
 

actual number of iterations

Definition at line 54 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
int animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nbValueEvaluations
 

(profile) number of function evaluations

Definition at line 57 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initSearchDirection(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printFunction(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
bool animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::negativeStep
 

iff a negative step is encountered (this sould never happen)

Definition at line 48 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
int animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nitermod [private]
 

auxiliary variable for periodic restart

Definition at line 33 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
bool animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::nullGradient
 

iff gradient is small enough

Definition at line 43 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Parameter animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::pcom [private]
 

auxiliary vector for minimization

Definition at line 261 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
bool animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::precisionReached
 

iff desired precision is reached

Definition at line 44 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Real animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::previousStep
 

stored for temporal coherency

Definition at line 40 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::FrprMinimizer(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
bool animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profiling
 

print info on last optimization performed

Definition at line 55 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::FrprMinimizer(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::mnbrak(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::profile().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
int animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::restartFreq
 

restart frequency

Definition at line 31 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
unsigned int animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::size [private]
 

dimension of the space

Definition at line 257 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
bool animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::tooManyIterationsDbrent
 

iff too many iterations in the one-dimensional optimization

Definition at line 47 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dbrent(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::FrprMinimizer(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
ValueFunction& animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::valueFunction
 

computes the value of the function

Definition at line 25 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::dumpPotential(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printFunction(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printLog().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Parameter animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xi [private]
 

auxiliary vector for minimization

Definition at line 260 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::initSearchDirection(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::operator()(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::printFunction().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Parameter animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xicom [private]
 

auxiliary vector for minimization

Definition at line 262 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::linemin().

template<class ValueFunction, class GradientFunction, class Parameter, class Real>
Parameter animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::xt [private]
 

auxiliary vector for minimization

Definition at line 263 of file frprMinimizer.h.

Referenced by animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::df1dim(), animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::f1dim(), and animal::FrprMinimizer< ValueFunction, GradientFunction, Parameter, Real >::init().


The documentation for this class was generated from the following file:
Generated on Thu Dec 23 13:52:29 2004 by doxygen 1.3.6