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

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

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

Destructor.

## Member Function Documentation

 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: