Open CASCADE Technology  6.8.0
Public Member Functions | Protected Attributes
math_NewtonMinimum Class Reference

#include <math_NewtonMinimum.hxx>

Inheritance diagram for math_NewtonMinimum:
Inheritance graph
[legend]

Public Member Functions

 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. ) More...
 
 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. More...
 
virtual void Delete ()
 
virtual ~math_NewtonMinimum ()
 
void Perform (math_MultipleVarFunctionWithHessian &F, const math_Vector &StartingPoint)
 Search the solution. More...
 
virtual 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. More...
 
Standard_Boolean IsDone () const
 Tests if an error has occured. More...
 
Standard_Boolean IsConvex () const
 Tests if the Function is convexe during optimization. More...
 
const math_VectorLocation () const
 returns the location vector of the minimum. Exception NotDone is raised if an error has occured. More...
 
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. More...
 
Standard_Real Minimum () const
 returns the value of the minimum. Exception NotDone is raised if the minimum was not found. More...
 
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. More...
 
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. More...
 
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. More...
 
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 <<. More...
 

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
 

Constructor & Destructor Documentation

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 
)

– 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. )

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 
)

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 math_NewtonMinimum::~math_NewtonMinimum ( )
inlinevirtual

Member Function Documentation

virtual void math_NewtonMinimum::Delete ( )
virtual
void math_NewtonMinimum::Dump ( Standard_OStream o) const

Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.

const math_Vector& math_NewtonMinimum::Gradient ( ) const

returns the gradient vector at the minimum. Exception NotDone is raised if an error has occured.the minimum was not found.

void math_NewtonMinimum::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.

virtual Standard_Boolean math_NewtonMinimum::IsConverged ( ) const
virtual

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.

Reimplemented in FairCurve_Newton.

Standard_Boolean math_NewtonMinimum::IsConvex ( ) const

Tests if the Function is convexe during optimization.

Standard_Boolean math_NewtonMinimum::IsDone ( ) const

Tests if an error has occured.

const math_Vector& math_NewtonMinimum::Location ( ) const

returns the location vector of the minimum. Exception NotDone is raised if an error has occured.

void math_NewtonMinimum::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 math_NewtonMinimum::Minimum ( ) const

returns the value of the minimum. Exception NotDone is raised if the minimum was not found.

Standard_Integer math_NewtonMinimum::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.

void math_NewtonMinimum::Perform ( math_MultipleVarFunctionWithHessian F,
const math_Vector StartingPoint 
)

Search the solution.

Field Documentation

Standard_Boolean math_NewtonMinimum::Convex
protected
Standard_Real math_NewtonMinimum::CTol
protected
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 file: