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

- math_BissecNewton.hxx
- math_BissecNewton.lxx