OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    math_BrentMinimum Class Reference

    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 double TolX, const int NbIterations=100, const double ZEPS=1.0e-12)
     This constructor should be used in a sub-class to initialize correctly all the fields of this class.
     math_BrentMinimum (const double TolX, const double Fbx, const int NbIterations=100, const double 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 ~math_BrentMinimum ()
     Destructor.
    void Perform (math_Function &F, const double Ax, const double Bx, const double 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;.
    virtual bool 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.
    bool IsDone () const
     Returns true if the computations are successful, otherwise returns false.
    double Location () const
     returns the location value of the minimum. Exception NotDone is raised if the minimum was not found.
    double Minimum () const
     returns the value of the minimum. Exception NotDone is raised if the minimum was not found.
    int 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 Dump (Standard_OStream &o) const
     Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.

    Protected Attributes

    double a
    double b
    double x
    double fx
    double fv
    double fw
    double XTol
    double EPSZ

    Detailed Description

    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.

    Constructor & Destructor Documentation

    ◆ math_BrentMinimum() [1/2]

    math_BrentMinimum::math_BrentMinimum ( const double TolX,
    const int NbIterations = 100,
    const double ZEPS = 1.0e-12 )

    This constructor should be used in a sub-class to initialize correctly all the fields of this class.

    ◆ math_BrentMinimum() [2/2]

    math_BrentMinimum::math_BrentMinimum ( const double TolX,
    const double Fbx,
    const int NbIterations = 100,
    const double 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.

    ◆ ~math_BrentMinimum()

    virtual math_BrentMinimum::~math_BrentMinimum ( )
    virtual

    Destructor.

    Member Function Documentation

    ◆ Dump()

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

    ◆ IsDone()

    bool math_BrentMinimum::IsDone ( ) const

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

    ◆ IsSolutionReached()

    virtual bool math_BrentMinimum::IsSolutionReached ( math_Function & theFunction)
    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.

    ◆ Location()

    double math_BrentMinimum::Location ( ) const

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

    ◆ Minimum()

    double math_BrentMinimum::Minimum ( ) const

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

    ◆ NbIterations()

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

    ◆ Perform()

    void math_BrentMinimum::Perform ( math_Function & F,
    const double Ax,
    const double Bx,
    const double 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;.

    Field Documentation

    ◆ a

    double math_BrentMinimum::a
    protected

    ◆ b

    double math_BrentMinimum::b
    protected

    ◆ EPSZ

    double math_BrentMinimum::EPSZ
    protected

    ◆ fv

    double math_BrentMinimum::fv
    protected

    ◆ fw

    double math_BrentMinimum::fw
    protected

    ◆ fx

    double math_BrentMinimum::fx
    protected

    ◆ x

    double math_BrentMinimum::x
    protected

    ◆ XTol

    double math_BrentMinimum::XTol
    protected

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