| 
    Open CASCADE Technology
    7.8.0.dev
    
   | 
 
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. 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 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.  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 sub-class 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 Newton-Raphson 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 sub-class 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 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.
| 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 | 
 1.8.13