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

FoundationClasses
TKMath
math


math_NewtonMinimum Class Reference

#include <math_NewtonMinimum.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_NewtonMinimum (math_MultipleVarFunctionWithHessian &F, const math_Vector &StartingPoint, const Standard_Real Tolerance=1.0e-7, const Standard_Integer NbIterations=40, const Standard_Real Convexity=1.0e-6, const Standard_Boolean WithSingularity=Standard_True)
 -- Given the starting point StartingPoint,
The tolerance required on the solution is given by
Tolerance.
Iteration are stopped if
(!WithSingularity) and H(F(Xi)) is not definite
positive (if the smaller eigenvalue of H < Convexity)
or IsConverged() returns True for 2 successives Iterations.
Warning: Obsolete Constructor (because IsConverged can not be redefined
with this. )

Standard_EXPORT math_NewtonMinimum (math_MultipleVarFunctionWithHessian &F, const Standard_Real Tolerance=1.0e-7, const Standard_Integer NbIterations=40, const Standard_Real Convexity=1.0e-6, const Standard_Boolean WithSingularity=Standard_True)
 The tolerance required on the solution is given by
Tolerance.
Iteration are stopped if
(!WithSingularity) and H(F(Xi)) is not definite
positive (if the smaller eigenvalue of H < Convexity)
or IsConverged() returns True for 2 successives Iterations.
Warning: This constructor do not computation
.
virtual Standard_EXPORT void Delete ()
virtual Standard_EXPORT ~math_NewtonMinimum ()
Standard_EXPORT void Perform (math_MultipleVarFunctionWithHessian &F, const math_Vector &StartingPoint)
 Search the solution.
.
virtual Standard_EXPORT Standard_Boolean IsConverged () const
 This method is called at the end of each
iteration to check the convergence :
|| Xi+1 - Xi || < Tolerance
or || F(Xi+1) - F(Xi)|| < Tolerance * || F(Xi) ||
It can be redefined in a sub-class to implement a specific test.
.
Standard_Boolean IsDone () const
 Tests if an error has occured.
.
Standard_Boolean IsConvex () const
 Tests if the Function is convexe during optimization.
.
const math_VectorLocation () const
 returns the location vector of the minimum.
Exception NotDone is raised if an error has occured.

void Location (math_Vector &Loc) const
 outputs the location vector of the minimum in Loc.
Exception NotDone is raised if an error has occured.
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 an error has occured.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 in the
calculation of the minimum.
The exception NotDone is raised if an error has occured.

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_Status TheStatus
math_Vector TheLocation
math_Vector TheGradient
math_Vector TheStep
math_Matrix TheHessian
Standard_Real PreviousMinimum
Standard_Real TheMinimum
Standard_Real MinEigenValue
Standard_Real XTol
Standard_Real CTol
Standard_Integer nbiter
Standard_Boolean NoConvexTreatement
Standard_Boolean Convex

Private Attributes

Standard_Boolean Done
Standard_Integer Itermax


Constructor & Destructor Documentation

Standard_EXPORT math_NewtonMinimum::math_NewtonMinimum math_MultipleVarFunctionWithHessian F,
const math_Vector StartingPoint,
const Standard_Real  Tolerance = 1.0e-7,
const Standard_Integer  NbIterations = 40,
const Standard_Real  Convexity = 1.0e-6,
const Standard_Boolean  WithSingularity = Standard_True
 

Standard_EXPORT math_NewtonMinimum::math_NewtonMinimum math_MultipleVarFunctionWithHessian F,
const Standard_Real  Tolerance = 1.0e-7,
const Standard_Integer  NbIterations = 40,
const Standard_Real  Convexity = 1.0e-6,
const Standard_Boolean  WithSingularity = Standard_True
 

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


Member Function Documentation

virtual Standard_EXPORT void math_NewtonMinimum::Delete  )  [virtual]
 

Standard_EXPORT void math_NewtonMinimum::Dump Standard_OStream o  )  const
 

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

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

virtual Standard_EXPORT Standard_Boolean math_NewtonMinimum::IsConverged  )  const [virtual]
 

Standard_Boolean math_NewtonMinimum::IsConvex  )  const
 

Standard_Boolean math_NewtonMinimum::IsDone  )  const [inline]
 

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

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

Standard_Real math_NewtonMinimum::Minimum  )  const [inline]
 

Standard_Integer math_NewtonMinimum::NbIterations  )  const [inline]
 

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

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

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

Standard_EXPORT void math_NewtonMinimum::Perform math_MultipleVarFunctionWithHessian F,
const math_Vector StartingPoint
 


Field Documentation

Standard_Boolean math_NewtonMinimum::Convex [protected]
 

Standard_Real math_NewtonMinimum::CTol [protected]
 

Standard_Boolean math_NewtonMinimum::Done [private]
 

Standard_Integer math_NewtonMinimum::Itermax [private]
 

Standard_Real math_NewtonMinimum::MinEigenValue [protected]
 

Standard_Integer math_NewtonMinimum::nbiter [protected]
 

Standard_Boolean math_NewtonMinimum::NoConvexTreatement [protected]
 

Standard_Real math_NewtonMinimum::PreviousMinimum [protected]
 

math_Vector math_NewtonMinimum::TheGradient [protected]
 

math_Matrix math_NewtonMinimum::TheHessian [protected]
 

math_Vector math_NewtonMinimum::TheLocation [protected]
 

Standard_Real math_NewtonMinimum::TheMinimum [protected]
 

math_Status math_NewtonMinimum::TheStatus [protected]
 

math_Vector math_NewtonMinimum::TheStep [protected]
 

Standard_Real math_NewtonMinimum::XTol [protected]
 


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