Open CASCADE Technology
7.7.0
|
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. More... | |
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. More... | |
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. More... | |
void | Perform (math_FunctionWithDerivative &F, const Standard_Real Guess) |
is used internally by the constructors. More... | |
Standard_Boolean | IsDone () const |
Returns true if the computations are successful, otherwise returns false. More... | |
Standard_Real | Root () const |
Returns the value of the root of function <F>. Exception NotDone is raised if the root was not found. More... | |
Standard_Real | Derivative () const |
returns the value of the derivative at the root. Exception NotDone is raised if the root was not found. More... | |
Standard_Real | Value () const |
returns the value of the function at the root. Exception NotDone is raised if the root was not found. More... | |
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. More... | |
void | Dump (Standard_OStream &o) const |
Prints information on the current state of the object. More... | |
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.
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::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::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.
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.
void math_NewtonFunctionRoot::Dump | ( | Standard_OStream & | o | ) | const |
Prints information on the current state of the object.
Standard_Boolean math_NewtonFunctionRoot::IsDone | ( | ) | const |
Returns true if the computations are successful, otherwise returns false.
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.
void math_NewtonFunctionRoot::Perform | ( | math_FunctionWithDerivative & | F, |
const Standard_Real | Guess | ||
) |
is used internally by the constructors.
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.
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.