OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKMath
math


math_Powell Class Reference

This class implements the Powell method to find the minimum of
function of multiple variables (the gradient does not have to be known).
.

#include <math_Powell.hxx>


Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT math_Powell (math_MultipleVarFunction &F, const math_Vector &StartingPoint, const math_Matrix &StartingDirections, const Standard_Real Tolerance, const Standard_Integer NbIterations=200, const Standard_Real ZEPS=1.0e-12)
 Computes Powell minimization on the function F given
StartingPoint, and an initial matrix StartingDirection
whose columns contain the initial set of directions. The
solution F = Fi is found when 2.0 * abs(Fi - Fi-1) =
<Tolerance * (abs(Fi) + abs(Fi-1) + ZEPS). The maximum
number of iterations allowed is given by NbIterations.
.
Standard_EXPORT math_Powell (math_MultipleVarFunction &F, const Standard_Real Tolerance, const Standard_Integer NbIterations=200, const Standard_Real ZEPS=1.0e-12)
 is used in a sub-class to initialize correctly all the fields
of this class.

virtual Standard_EXPORT void Delete ()
virtual Standard_EXPORT ~math_Powell ()
Standard_EXPORT void Perform (math_MultipleVarFunction &F, const math_Vector &StartingPoint, const math_Matrix &StartingDirections)
 Use this method after a call to the initialization constructor
to compute the minimum of function F.
Warning
The initialization constructor must have been called before
the Perform method is called.
.
virtual Standard_EXPORT Standard_Boolean IsSolutionReached (math_MultipleVarFunction &F)
 solution F = Fi is found when :
2.0 * abs(Fi - Fi-1) <= Tolerance * (abs(Fi) + abs(Fi-1)) + ZEPS.
The maximum number of iterations allowed is given by NbIterations.

Standard_Boolean IsDone () const
 Returns true if the computations are successful, otherwise returns false.
.
const math_VectorLocation () const
 returns the location vector of the minimum.
Exception NotDone is raised if the minimum was not found.

void Location (math_Vector &Loc) const
 outputs the location vector of the minimum in Loc.
Exception NotDone is raised if the minimum was not found.
Exception DimensionError is raised if the range of Loc is not
equal to the range of the StartingPoint.

Standard_Real Minimum () const
 Returns the value of the minimum.
Exception NotDone is raised if the minimum was not found.
.
Standard_Integer NbIterations () const
 Returns the number of iterations really done during the
computation of the minimum.
Exception NotDone is raised if the minimum was not found.
.
Standard_EXPORT void Dump (Standard_OStream &o) const
 Prints information on the current state of the object.
Is used to redefine the operator <<.
.

Protected Attributes

math_Vector TheLocation
Standard_Real TheMinimum
Standard_Real TheLocationError
Standard_Real PreviousMinimum
Standard_Real XTol
Standard_Real EPSZ

Private Attributes

Standard_Boolean Done
Standard_Integer Iter
math_Status TheStatus
math_Matrix TheDirections
Standard_Integer State
Standard_Integer Itermax


Constructor & Destructor Documentation

Standard_EXPORT math_Powell::math_Powell math_MultipleVarFunction F,
const math_Vector StartingPoint,
const math_Matrix StartingDirections,
const Standard_Real  Tolerance,
const Standard_Integer  NbIterations = 200,
const Standard_Real  ZEPS = 1.0e-12
 

Standard_EXPORT math_Powell::math_Powell math_MultipleVarFunction F,
const Standard_Real  Tolerance,
const Standard_Integer  NbIterations = 200,
const Standard_Real  ZEPS = 1.0e-12
 

virtual Standard_EXPORT math_Powell::~math_Powell  )  [inline, virtual]
 


Member Function Documentation

virtual Standard_EXPORT void math_Powell::Delete  )  [virtual]
 

Standard_EXPORT void math_Powell::Dump Standard_OStream o  )  const
 

Standard_Boolean math_Powell::IsDone  )  const [inline]
 

virtual Standard_EXPORT Standard_Boolean math_Powell::IsSolutionReached math_MultipleVarFunction F  )  [virtual]
 

void math_Powell::Location math_Vector Loc  )  const [inline]
 

const math_Vector & math_Powell::Location  )  const [inline]
 

Standard_Real math_Powell::Minimum  )  const [inline]
 

Standard_Integer math_Powell::NbIterations  )  const [inline]
 

void math_Powell::operator delete void *  anAddress  )  [inline]
 

void* math_Powell::operator new size_t  size  )  [inline]
 

void* math_Powell::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT void math_Powell::Perform math_MultipleVarFunction F,
const math_Vector StartingPoint,
const math_Matrix StartingDirections
 


Field Documentation

Standard_Boolean math_Powell::Done [private]
 

Standard_Real math_Powell::EPSZ [protected]
 

Standard_Integer math_Powell::Iter [private]
 

Standard_Integer math_Powell::Itermax [private]
 

Standard_Real math_Powell::PreviousMinimum [protected]
 

Standard_Integer math_Powell::State [private]
 

math_Matrix math_Powell::TheDirections [private]
 

math_Vector math_Powell::TheLocation [protected]
 

Standard_Real math_Powell::TheLocationError [protected]
 

Standard_Real math_Powell::TheMinimum [protected]
 

math_Status math_Powell::TheStatus [private]
 

Standard_Real math_Powell::XTol [protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:12:47 2008 for OpenCASCADE by  doxygen 1.4.1