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

FoundationClasses
TKMath
math


math_FRPR Class Reference

this class implements the Fletcher-Reeves-Polak_Ribiere minimization
algorithm of a function of multiple variables.
Knowledge of the function's gradient is required.

#include <math_FRPR.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_FRPR (math_MultipleVarFunctionWithGradient &F, const math_Vector &StartingPoint, const Standard_Real Tolerance, const Standard_Integer NbIterations=200, const Standard_Real ZEPS=1.0e-12)
 Computes FRPR minimization function F from input vector
StartingPoint. 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_FRPR (math_MultipleVarFunctionWithGradient &F, const Standard_Real Tolerance, const Standard_Integer NbIterations=200, const Standard_Real ZEPS=1.0e-12)
 Purpose
Initializes the computation of the minimum of F.
Warning
A call to the Perform method must be made after this
initialization to compute the minimum of the function.
.
virtual Standard_EXPORT void Delete ()
virtual Standard_EXPORT ~math_FRPR ()
Standard_EXPORT void Perform (math_MultipleVarFunctionWithGradient &F, const math_Vector &StartingPoint)
 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_MultipleVarFunctionWithGradient &F)
 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_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.

const math_VectorGradient () const
 returns the gradient vector at the minimum.
Exception NotDone is raised if the minimum was not found.

void Gradient (math_Vector &Grad) const
 outputs the gradient vector at the minimum in Grad.
Exception NotDone is raised if the minimum was not found.
Exception DimensionError is raised if the range of Grad is not
equal to the range of the StartingPoint.

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 on the stream o information on the current state
of the object.
Is used to redefine the operator <<.
.

Protected Attributes

math_Vector TheLocation
math_Vector TheGradient
Standard_Real TheMinimum
Standard_Real PreviousMinimum
Standard_Real XTol
Standard_Real EPSZ

Private Attributes

Standard_Boolean Done
Standard_Integer Iter
Standard_Integer State
math_Status TheStatus
Standard_Integer Itermax


Constructor & Destructor Documentation

Standard_EXPORT math_FRPR::math_FRPR math_MultipleVarFunctionWithGradient F,
const math_Vector StartingPoint,
const Standard_Real  Tolerance,
const Standard_Integer  NbIterations = 200,
const Standard_Real  ZEPS = 1.0e-12
 

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

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


Member Function Documentation

virtual Standard_EXPORT void math_FRPR::Delete  )  [virtual]
 

Standard_EXPORT void math_FRPR::Dump Standard_OStream o  )  const
 

void math_FRPR::Gradient math_Vector Grad  )  const [inline]
 

const math_Vector & math_FRPR::Gradient  )  const [inline]
 

Standard_Boolean math_FRPR::IsDone  )  const [inline]
 

virtual Standard_EXPORT Standard_Boolean math_FRPR::IsSolutionReached math_MultipleVarFunctionWithGradient F  )  [virtual]
 

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

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

Standard_Real math_FRPR::Minimum  )  const [inline]
 

Standard_Integer math_FRPR::NbIterations  )  const [inline]
 

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

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

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

Standard_EXPORT void math_FRPR::Perform math_MultipleVarFunctionWithGradient F,
const math_Vector StartingPoint
 


Field Documentation

Standard_Boolean math_FRPR::Done [private]
 

Standard_Real math_FRPR::EPSZ [protected]
 

Standard_Integer math_FRPR::Iter [private]
 

Standard_Integer math_FRPR::Itermax [private]
 

Standard_Real math_FRPR::PreviousMinimum [protected]
 

Standard_Integer math_FRPR::State [private]
 

math_Vector math_FRPR::TheGradient [protected]
 

math_Vector math_FRPR::TheLocation [protected]
 

Standard_Real math_FRPR::TheMinimum [protected]
 

math_Status math_FRPR::TheStatus [private]
 

Standard_Real math_FRPR::XTol [protected]
 


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