Open CASCADE Technology
7.5.0

This class implements a combination of NewtonRaphson and bissection methods to find the root of the function between two bounds. Knowledge of the derivative is required. More...
#include <math_BissecNewton.hxx>
Public Member Functions  
math_BissecNewton (const Standard_Real theXTolerance)  
Constructor. More...  
void  Perform (math_FunctionWithDerivative &F, const Standard_Real Bound1, const Standard_Real Bound2, const Standard_Integer NbIterations=100) 
A combination of NewtonRaphson 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  Xi1) <= TolX and F(Xi) * F(Xi1) <= 0 The maximum number of iterations allowed is given by NbIterations. More...  
virtual Standard_Boolean  IsSolutionReached (math_FunctionWithDerivative &theFunction) 
This method is called at the end of each iteration to check if the solution has been found. It can be redefined in a subclass to implement a specific test to stop the iterations. More...  
Standard_Boolean  IsDone () const 
Tests is the root has been successfully found. More...  
Standard_Real  Root () const 
returns the value of the root. Exception NotDone is raised if the minimum was not found. More...  
Standard_Real  Derivative () const 
returns the value of the derivative at the root. Exception NotDone is raised if the minimum was not found. More...  
Standard_Real  Value () const 
returns the value of the function at the root. Exception NotDone is raised if the minimum was not found. More...  
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 <<. More...  
virtual  ~math_BissecNewton () 
Destructor. More...  
Protected Attributes  
math_Status  TheStatus 
Standard_Real  XTol 
Standard_Real  x 
Standard_Real  dx 
Standard_Real  f 
Standard_Real  df 
This class implements a combination of NewtonRaphson and bissection methods to find the root of the function between two bounds. Knowledge of the derivative is required.
math_BissecNewton::math_BissecNewton  (  const Standard_Real  theXTolerance  ) 
Constructor.
theXTolerance   algorithm tolerance. 

virtual 
Destructor.
Standard_Real math_BissecNewton::Derivative  (  )  const 
returns the value of the derivative at the root. Exception NotDone is raised if the minimum was not found.
void math_BissecNewton::Dump  (  Standard_OStream &  o  )  const 
Prints on the stream o information on the current state of the object. Is used to redifine the operator <<.
Standard_Boolean math_BissecNewton::IsDone  (  )  const 
Tests is the root has been successfully found.

virtual 
This method is called at the end of each iteration to check if the solution has been found. It can be redefined in a subclass to implement a specific test to stop the iterations.
void math_BissecNewton::Perform  (  math_FunctionWithDerivative &  F, 
const Standard_Real  Bound1,  
const Standard_Real  Bound2,  
const Standard_Integer  NbIterations = 100 

) 
A combination of NewtonRaphson 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  Xi1) <= TolX and F(Xi) * F(Xi1) <= 0 The maximum number of iterations allowed is given by NbIterations.
Standard_Real math_BissecNewton::Root  (  )  const 
returns the value of the root. Exception NotDone is raised if the minimum was not found.
Standard_Real math_BissecNewton::Value  (  )  const 
returns the value of the function at the root. Exception NotDone is raised if the minimum was not found.

protected 

protected 

protected 

protected 

protected 

protected 