Open CASCADE Technology: math_BissecNewton Class Reference

Open CASCADE Technology 6.9.1

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions | Protected Attributes
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. 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...
void | Delete () const
| Destructor alias. More...
virtual | ~math_BissecNewton ()

## Protected Attributes
math_Status | TheStatus
Standard_Real | XTol
Standard_Real | x
Standard_Real | dx
Standard_Real | f
Standard_Real | df

## Detailed Description

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.

## Constructor & Destructor Documentation

math_BissecNewton::math_BissecNewton | ( | const Standard_Real | theXTolerance | ) |

Constructor.

Parameters

  theXTolerance | - algorithm tolerance.

virtual math_BissecNewton::~math_BissecNewton | ( |  | ) |
| virtual

## Member Function Documentation

void math_BissecNewton::Delete | ( |  | ) | const

Destructor alias.

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 Standard_Boolean math_BissecNewton::IsSolutionReached | ( | math_FunctionWithDerivative & | theFunction | ) |
| 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.

## Field Documentation

Standard_Real math_BissecNewton::df
| protected

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 file:

- math_BissecNewton.hxx