Open CASCADE Technology 7.8.0
Public Member Functions
math_NewtonFunctionRoot Class Reference

This class implements the calculation of a root of a function of a single variable starting from an initial near guess using the Newton algorithm. Knowledge of the derivative is required. More...

#include <math_NewtonFunctionRoot.hxx>

Public Member Functions

 math_NewtonFunctionRoot (math_FunctionWithDerivative &F, const Standard_Real Guess, const Standard_Real EpsX, const Standard_Real EpsF, const Standard_Integer NbIterations=100)
 The Newton method is done to find the root of the function F from the initial guess Guess. The tolerance required on the root is given by Tolerance. The solution is found when : abs(Xi - Xi-1) <= EpsX and abs(F(Xi))<= EpsF The maximum number of iterations allowed is given by NbIterations.
 
 math_NewtonFunctionRoot (math_FunctionWithDerivative &F, const Standard_Real Guess, const Standard_Real EpsX, const Standard_Real EpsF, const Standard_Real A, const Standard_Real B, const Standard_Integer NbIterations=100)
 The Newton method is done to find the root of the function F from the initial guess Guess. The solution must be inside the interval [A, B]. The tolerance required on the root is given by Tolerance. The solution is found when : abs(Xi - Xi-1) <= EpsX and abs(F(Xi))<= EpsF The maximum number of iterations allowed is given by NbIterations.
 
 math_NewtonFunctionRoot (const Standard_Real A, const Standard_Real B, const Standard_Real EpsX, const Standard_Real EpsF, const Standard_Integer NbIterations=100)
 is used in a sub-class to initialize correctly all the fields of this class.
 
void Perform (math_FunctionWithDerivative &F, const Standard_Real Guess)
 is used internally by the constructors.
 
Standard_Boolean IsDone () const
 Returns true if the computations are successful, otherwise returns false.
 
Standard_Real Root () const
 Returns the value of the root of function <F>. Exception NotDone is raised if the root was not found.
 
Standard_Real Derivative () const
 returns the value of the derivative at the root. Exception NotDone is raised if the root was not found.
 
Standard_Real Value () const
 returns the value of the function at the root. Exception NotDone is raised if the root was not found.
 
Standard_Integer NbIterations () const
 Returns the number of iterations really done on the computation of the Root. Exception NotDone is raised if the root was not found.
 
void Dump (Standard_OStream &o) const
 Prints information on the current state of the object.
 

Detailed Description

This class implements the calculation of a root of a function of a single variable starting from an initial near guess using the Newton algorithm. Knowledge of the derivative is required.

Constructor & Destructor Documentation

◆ math_NewtonFunctionRoot() [1/3]

math_NewtonFunctionRoot::math_NewtonFunctionRoot ( math_FunctionWithDerivative F,
const Standard_Real  Guess,
const Standard_Real  EpsX,
const Standard_Real  EpsF,
const Standard_Integer  NbIterations = 100 
)

The Newton method is done to find the root of the function F from the initial guess Guess. The tolerance required on the root is given by Tolerance. The solution is found when : abs(Xi - Xi-1) <= EpsX and abs(F(Xi))<= EpsF The maximum number of iterations allowed is given by NbIterations.

◆ math_NewtonFunctionRoot() [2/3]

math_NewtonFunctionRoot::math_NewtonFunctionRoot ( math_FunctionWithDerivative F,
const Standard_Real  Guess,
const Standard_Real  EpsX,
const Standard_Real  EpsF,
const Standard_Real  A,
const Standard_Real  B,
const Standard_Integer  NbIterations = 100 
)

The Newton method is done to find the root of the function F from the initial guess Guess. The solution must be inside the interval [A, B]. The tolerance required on the root is given by Tolerance. The solution is found when : abs(Xi - Xi-1) <= EpsX and abs(F(Xi))<= EpsF The maximum number of iterations allowed is given by NbIterations.

◆ math_NewtonFunctionRoot() [3/3]

math_NewtonFunctionRoot::math_NewtonFunctionRoot ( const Standard_Real  A,
const Standard_Real  B,
const Standard_Real  EpsX,
const Standard_Real  EpsF,
const Standard_Integer  NbIterations = 100 
)

is used in a sub-class to initialize correctly all the fields of this class.

Member Function Documentation

◆ Derivative()

Standard_Real math_NewtonFunctionRoot::Derivative ( ) const

returns the value of the derivative at the root. Exception NotDone is raised if the root was not found.

◆ Dump()

void math_NewtonFunctionRoot::Dump ( Standard_OStream o) const

Prints information on the current state of the object.

◆ IsDone()

Standard_Boolean math_NewtonFunctionRoot::IsDone ( ) const

Returns true if the computations are successful, otherwise returns false.

◆ NbIterations()

Standard_Integer math_NewtonFunctionRoot::NbIterations ( ) const

Returns the number of iterations really done on the computation of the Root. Exception NotDone is raised if the root was not found.

◆ Perform()

void math_NewtonFunctionRoot::Perform ( math_FunctionWithDerivative F,
const Standard_Real  Guess 
)

is used internally by the constructors.

◆ Root()

Standard_Real math_NewtonFunctionRoot::Root ( ) const

Returns the value of the root of function <F>. Exception NotDone is raised if the root was not found.

◆ Value()

Standard_Real math_NewtonFunctionRoot::Value ( ) const

returns the value of the function at the root. Exception NotDone is raised if the root was not found.


The documentation for this class was generated from the following file: