Open CASCADE Technology  7.7.0.dev
Public Member Functions

math_BracketedRoot Class Reference

This class implements the Brent method to find the root of a function located within two bounds. No knowledge of the derivative is required. More...

#include <math_BracketedRoot.hxx>

Public Member Functions

 math_BracketedRoot (math_Function &F, const Standard_Real Bound1, const Standard_Real Bound2, const Standard_Real Tolerance, const Standard_Integer NbIterations=100, const Standard_Real ZEPS=1.0e-12)
 The Brent method is used to find the root of the function F between the bounds Bound1 and Bound2 on the function F. If F(Bound1)*F(Bound2) >0 the Brent method fails. The tolerance required for the root is given by Tolerance. The solution is found when : abs(Xi - Xi-1) <= Tolerance; The maximum number of iterations allowed is given by NbIterations. 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. 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...
 
Standard_Integer NbIterations () const
 returns the number of iterations really done during the computation of 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. More...
 

Detailed Description

This class implements the Brent method to find the root of a function located within two bounds. No knowledge of the derivative is required.

Constructor & Destructor Documentation

◆ math_BracketedRoot()

math_BracketedRoot::math_BracketedRoot ( math_Function F,
const Standard_Real  Bound1,
const Standard_Real  Bound2,
const Standard_Real  Tolerance,
const Standard_Integer  NbIterations = 100,
const Standard_Real  ZEPS = 1.0e-12 
)

The Brent method is used to find the root of the function F between the bounds Bound1 and Bound2 on the function F. If F(Bound1)*F(Bound2) >0 the Brent method fails. The tolerance required for the root is given by Tolerance. The solution is found when : abs(Xi - Xi-1) <= Tolerance; The maximum number of iterations allowed is given by NbIterations.

Member Function Documentation

◆ Dump()

void math_BracketedRoot::Dump ( Standard_OStream o) const

Prints on the stream o information on the current state of the object.

◆ IsDone()

Standard_Boolean math_BracketedRoot::IsDone ( ) const

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

◆ NbIterations()

Standard_Integer math_BracketedRoot::NbIterations ( ) const

returns the number of iterations really done during the computation of the Root. Exception NotDone is raised if the minimum was not found.

◆ Root()

Standard_Real math_BracketedRoot::Root ( ) const

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

◆ Value()

Standard_Real math_BracketedRoot::Value ( ) const

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


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