Public Member Functions | Private Member Functions | Private Attributes

ExtremeFinderND Class Reference

Finds the nearest local extreme position in ND's. More...

Inheritance diagram for ExtremeFinderND:
SequentialTask Task NamedObject CallBacker

List of all members.

Public Member Functions

 ExtremeFinderND (const FloatMathFunctionND &, bool max, int itermax)
virtual ~ExtremeFinderND ()
template<class IDXABL >
void setStartPos (const IDXABL &sp)
int nextStep ()
int nrIter () const
float extremeVal ()
const float * extremePos ()
template<class IDXABL >
void extremePos (IDXABL &sp) const
 Sets the sp variable to the extreme position.

Private Member Functions

float linExtreme (float *)

Private Attributes

float * p
ObjectSet< float > xi
float ftol
int n
int iter
float fret
float * pt
const bool max
const int itermax
const FloatMathFunctionNDfunc

Detailed Description

Finds the nearest local extreme position in ND's.

Implementation of Powell's Quadratically Convergent Method

Note:
The implementation is not tested (yet) 030512.

Constructor & Destructor Documentation

ExtremeFinderND::ExtremeFinderND ( const FloatMathFunctionND ,
bool  max,
int  itermax 
)
Parameters:
func The function to be searched
max Specifies wether a min or max should be searched for
itermax The maximum number of iterations
virtual ExtremeFinderND::~ExtremeFinderND (  )  [virtual]

Member Function Documentation

const float* ExtremeFinderND::extremePos (  )  [inline]
Returns:
A pointer to the extreme positions
template<class IDXABL >
void ExtremeFinderND::extremePos ( IDXABL &  sp  )  const [inline]

Sets the sp variable to the extreme position.

float ExtremeFinderND::extremeVal (  )  [inline]
Returns:
The extreme value
float ExtremeFinderND::linExtreme ( float *   )  [private]
int ExtremeFinderND::nextStep (  )  [virtual]

Implements SequentialTask.

int ExtremeFinderND::nrIter (  )  const
Returns:
The number of iterations
template<class IDXABL >
void ExtremeFinderND::setStartPos ( const IDXABL &  sp  )  [inline]

Member Data Documentation

float ExtremeFinderND::fret [private]
float ExtremeFinderND::ftol [private]
int ExtremeFinderND::iter [private]
const int ExtremeFinderND::itermax [private]
const bool ExtremeFinderND::max [private]
int ExtremeFinderND::n [private]
float* ExtremeFinderND::p [private]
float* ExtremeFinderND::pt [private]
ObjectSet<float> ExtremeFinderND::xi [private]