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

FoundationClasses
TKMath
math


math_BissecNewton Class Reference

This class implements a combination of Newton-Raphson and bissection
methods to find the root of the function between two bounds.
Knowledge of the derivative is required.
.

#include <math_BissecNewton.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_BissecNewton (math_FunctionWithDerivative &F, const Standard_Real Bound1, const Standard_Real Bound2, const Standard_Real TolX, const Standard_Integer NbIterations=100)
 A combination of Newton-Raphson and bissection methods is done to find
the root of the function F between the bounds Bound1 and Bound2.
on the function F.
The tolerance required on the root is given by TolX.
The solution is found when :
abs(Xi - Xi-1) <= TolX and F(Xi) * F(Xi-1) <= 0
The maximum number of iterations allowed is given by NbIterations.
.
virtual Standard_EXPORT Standard_Boolean IsSolutionReached (math_FunctionWithDerivative &F)
 This method is called at the end of each iteration to check if the
solution has been found.
It can be redefined in a sub-class to implement a specific test to
stop the iterations.
.
Standard_Boolean IsDone () const
 Tests is the root has been successfully found.
.
Standard_Real Root () const
 returns the value of the root.
Exception NotDone is raised if the minimum was not found.

Standard_Real Derivative () const
 returns the value of the derivative at the root.
Exception NotDone is raised if the minimum was not found.

Standard_Real Value () const
 returns the value of the function at the root.
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 redifine the operator <<.
.

Protected Member Functions

Standard_EXPORT void Perform (math_FunctionWithDerivative &F, const Standard_Real Bound1, const Standard_Real Bound2, const Standard_Integer NbIterations)

Protected Attributes

math_Status TheStatus
Standard_Real XTol
Standard_Real x
Standard_Real dx
Standard_Real f
Standard_Real df

Private Attributes

Standard_Boolean Done


Constructor & Destructor Documentation

Standard_EXPORT math_BissecNewton::math_BissecNewton math_FunctionWithDerivative F,
const Standard_Real  Bound1,
const Standard_Real  Bound2,
const Standard_Real  TolX,
const Standard_Integer  NbIterations = 100
 


Member Function Documentation

Standard_Real math_BissecNewton::Derivative  )  const [inline]
 

Standard_EXPORT void math_BissecNewton::Dump Standard_OStream o  )  const
 

Standard_Boolean math_BissecNewton::IsDone  )  const [inline]
 

virtual Standard_EXPORT Standard_Boolean math_BissecNewton::IsSolutionReached math_FunctionWithDerivative F  )  [virtual]
 

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

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

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

Standard_EXPORT void math_BissecNewton::Perform math_FunctionWithDerivative F,
const Standard_Real  Bound1,
const Standard_Real  Bound2,
const Standard_Integer  NbIterations
[protected]
 

Standard_Real math_BissecNewton::Root  )  const [inline]
 

Standard_Real math_BissecNewton::Value  )  const [inline]
 


Field Documentation

Standard_Real math_BissecNewton::df [protected]
 

Standard_Boolean math_BissecNewton::Done [private]
 

Standard_Real math_BissecNewton::dx [protected]
 

Standard_Real math_BissecNewton::f [protected]
 

math_Status math_BissecNewton::TheStatus [protected]
 

Standard_Real math_BissecNewton::x [protected]
 

Standard_Real math_BissecNewton::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