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

FoundationClasses
TKMath
math


math_NewtonFunctionRoot Class Reference

This class implements the calculation of a root of a function of
a single variable starting from an initial near guess using the
Newton algorithm. Knowledge of the derivative is required.
.

#include <math_NewtonFunctionRoot.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_NewtonFunctionRoot (math_FunctionWithDerivative &F, const Standard_Real Guess, const Standard_Real EpsX, const Standard_Real EpsF, const Standard_Integer NbIterations=100)
 The Newton method is done to find the root of the function F
from the initial guess Guess.
The tolerance required on the root is given by Tolerance.
The solution is found when :
abs(Xi - Xi-1) <= EpsX and abs(F(Xi))<= EpsF
The maximum number of iterations allowed is given by NbIterations.
.
Standard_EXPORT math_NewtonFunctionRoot (math_FunctionWithDerivative &F, const Standard_Real Guess, const Standard_Real EpsX, const Standard_Real EpsF, const Standard_Real A, const Standard_Real B, const Standard_Integer NbIterations=100)
 The Newton method is done to find the root of the function F
from the initial guess Guess.
The solution must be inside the interval [A, B].
The tolerance required on the root is given by Tolerance.
The solution is found when :
abs(Xi - Xi-1) <= EpsX and abs(F(Xi))<= EpsF
The maximum number of iterations allowed is given by NbIterations.
.
Standard_EXPORT math_NewtonFunctionRoot (const Standard_Real A, const Standard_Real B, const Standard_Real EpsX, const Standard_Real EpsF, const Standard_Integer NbIterations=100)
 is used in a sub-class to initialize correctly all the fields
of this class.

Standard_EXPORT void Perform (math_FunctionWithDerivative &F, const Standard_Real Guess)
 is used internally by the constructors.

Standard_Boolean IsDone () const
 Returns true if the computations are successful, otherwise returns false.
.
Standard_Real Root () const
 Returns the value of the root of function <f>.
Exception NotDone is raised if the root was not found.
.
Standard_Real Derivative () const
 returns the value of the derivative at the root.
Exception NotDone is raised if the root was not found.

Standard_Real Value () const
 returns the value of the function at the root.
Exception NotDone is raised if the root was not found.

Standard_Integer NbIterations () const
 Returns the number of iterations really done on the
computation of the Root.
Exception NotDone is raised if the root was not found.
.
Standard_EXPORT void Dump (Standard_OStream &o) const
 Prints information on the current state of the object.
.

Private Attributes

Standard_Boolean Done
Standard_Real X
Standard_Real Fx
Standard_Real DFx
Standard_Integer It
Standard_Real EpsilonX
Standard_Real EpsilonF
Standard_Integer Itermax
Standard_Real Binf
Standard_Real Bsup


Constructor & Destructor Documentation

Standard_EXPORT math_NewtonFunctionRoot::math_NewtonFunctionRoot math_FunctionWithDerivative F,
const Standard_Real  Guess,
const Standard_Real  EpsX,
const Standard_Real  EpsF,
const Standard_Integer  NbIterations = 100
 

Standard_EXPORT math_NewtonFunctionRoot::math_NewtonFunctionRoot math_FunctionWithDerivative F,
const Standard_Real  Guess,
const Standard_Real  EpsX,
const Standard_Real  EpsF,
const Standard_Real  A,
const Standard_Real  B,
const Standard_Integer  NbIterations = 100
 

Standard_EXPORT math_NewtonFunctionRoot::math_NewtonFunctionRoot const Standard_Real  A,
const Standard_Real  B,
const Standard_Real  EpsX,
const Standard_Real  EpsF,
const Standard_Integer  NbIterations = 100
 


Member Function Documentation

Standard_Real math_NewtonFunctionRoot::Derivative  )  const [inline]
 

Standard_EXPORT void math_NewtonFunctionRoot::Dump Standard_OStream o  )  const
 

Standard_Boolean math_NewtonFunctionRoot::IsDone  )  const [inline]
 

Standard_Integer math_NewtonFunctionRoot::NbIterations  )  const [inline]
 

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

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

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

Standard_EXPORT void math_NewtonFunctionRoot::Perform math_FunctionWithDerivative F,
const Standard_Real  Guess
 

Standard_Real math_NewtonFunctionRoot::Root  )  const [inline]
 

Standard_Real math_NewtonFunctionRoot::Value  )  const [inline]
 


Field Documentation

Standard_Real math_NewtonFunctionRoot::Binf [private]
 

Standard_Real math_NewtonFunctionRoot::Bsup [private]
 

Standard_Real math_NewtonFunctionRoot::DFx [private]
 

Standard_Boolean math_NewtonFunctionRoot::Done [private]
 

Standard_Real math_NewtonFunctionRoot::EpsilonF [private]
 

Standard_Real math_NewtonFunctionRoot::EpsilonX [private]
 

Standard_Real math_NewtonFunctionRoot::Fx [private]
 

Standard_Integer math_NewtonFunctionRoot::It [private]
 

Standard_Integer math_NewtonFunctionRoot::Itermax [private]
 

Standard_Real math_NewtonFunctionRoot::X [private]
 


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