| Open CASCADE Technology
    7.4.0
    | 
This class implements the Brent's method to find the minimum of a function of a single variable. No knowledge of the derivative is required. More...
#include <math_BrentMinimum.hxx>
| Public Member Functions | |
| math_BrentMinimum (const Standard_Real TolX, const Standard_Integer NbIterations=100, const Standard_Real ZEPS=1.0e-12) | |
| This constructor should be used in a sub-class to initialize correctly all the fields of this class.  More... | |
| math_BrentMinimum (const Standard_Real TolX, const Standard_Real Fbx, const Standard_Integer NbIterations=100, const Standard_Real ZEPS=1.0e-12) | |
| This constructor should be used in a sub-class to initialize correctly all the fields of this class. It has to be used if F(Bx) is known.  More... | |
| virtual | ~math_BrentMinimum () | 
| Destructor.  More... | |
| void | Perform (math_Function &F, const Standard_Real Ax, const Standard_Real Bx, const Standard_Real Cx) | 
| Brent minimization is performed on function F from a given bracketing triplet of abscissas Ax, Bx, Cx (such that Bx is between Ax and Cx, F(Bx) is less than both F(Bx) and F(Cx)) The solution is found when: abs(Xi - Xi-1) <= TolX * abs(Xi) + ZEPS;.  More... | |
| virtual Standard_Boolean | IsSolutionReached (math_Function &theFunction) | 
| This method is called at the end of each iteration to check if the solution is found. It can be redefined in a sub-class to implement a specific test to stop the iterations.  More... | |
| Standard_Boolean | IsDone () const | 
| Returns true if the computations are successful, otherwise returns false.  More... | |
| Standard_Real | Location () const | 
| returns the location value of the minimum. Exception NotDone is raised if the minimum was not found.  More... | |
| Standard_Real | Minimum () const | 
| returns the value of the minimum. 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 minimum. 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 redefine the operator <<.  More... | |
| Protected Attributes | |
| Standard_Real | a | 
| Standard_Real | b | 
| Standard_Real | x | 
| Standard_Real | fx | 
| Standard_Real | fv | 
| Standard_Real | fw | 
| Standard_Real | XTol | 
| Standard_Real | EPSZ | 
This class implements the Brent's method to find the minimum of a function of a single variable. No knowledge of the derivative is required.
| math_BrentMinimum::math_BrentMinimum | ( | const Standard_Real | TolX, | 
| const Standard_Integer | NbIterations = 100, | ||
| const Standard_Real | ZEPS = 1.0e-12 | ||
| ) | 
This constructor should be used in a sub-class to initialize correctly all the fields of this class.
| math_BrentMinimum::math_BrentMinimum | ( | const Standard_Real | TolX, | 
| const Standard_Real | Fbx, | ||
| const Standard_Integer | NbIterations = 100, | ||
| const Standard_Real | ZEPS = 1.0e-12 | ||
| ) | 
This constructor should be used in a sub-class to initialize correctly all the fields of this class. It has to be used if F(Bx) is known.
| 
 | virtual | 
Destructor.
| void math_BrentMinimum::Dump | ( | Standard_OStream & | o | ) | const | 
Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.
| Standard_Boolean math_BrentMinimum::IsDone | ( | ) | const | 
Returns true if the computations are successful, otherwise returns false.
| 
 | virtual | 
This method is called at the end of each iteration to check if the solution is found. It can be redefined in a sub-class to implement a specific test to stop the iterations.
| Standard_Real math_BrentMinimum::Location | ( | ) | const | 
returns the location value of the minimum. Exception NotDone is raised if the minimum was not found.
| Standard_Real math_BrentMinimum::Minimum | ( | ) | const | 
returns the value of the minimum. Exception NotDone is raised if the minimum was not found.
| Standard_Integer math_BrentMinimum::NbIterations | ( | ) | const | 
returns the number of iterations really done during the computation of the minimum. Exception NotDone is raised if the minimum was not found.
| void math_BrentMinimum::Perform | ( | math_Function & | F, | 
| const Standard_Real | Ax, | ||
| const Standard_Real | Bx, | ||
| const Standard_Real | Cx | ||
| ) | 
Brent minimization is performed on function F from a given bracketing triplet of abscissas Ax, Bx, Cx (such that Bx is between Ax and Cx, F(Bx) is less than both F(Bx) and F(Cx)) The solution is found when: abs(Xi - Xi-1) <= TolX * abs(Xi) + ZEPS;.
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
| 
 | protected | 
 1.8.13
 1.8.13