OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute Class Reference

    #include <AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute.hxx>

    Inheritance diagram for AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute:

    Public Member Functions

     AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute (math_MultipleVarFunctionWithGradient &F, const math_Vector &StartingPoint, const double Tolerance3d, const double Tolerance2d, const double Eps, const int NbIterations=200)
    bool IsSolutionReached (math_MultipleVarFunctionWithGradient &F) const override
     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.
    Public Member Functions inherited from math_BFGS
     math_BFGS (const int NbVariables, const double Tolerance=1.0e-8, const int NbIterations=200, const double ZEPS=1.0e-12)
     Initializes the computation of the minimum of a function with NbVariables. Tolerance, ZEPS and NbIterations are described in the method Perform. Warning: A call to the Perform method must be made after this initialization to effectively compute the minimum of the function F.
    virtual ~math_BFGS ()
    void SetBoundary (const math_Vector &theLeftBorder, const math_Vector &theRightBorder)
     Set boundaries for conditional optimization. The expected indices range of vectors is [1, NbVariables].
    void Perform (math_MultipleVarFunctionWithGradient &F, const math_Vector &StartingPoint)
     Given the starting point StartingPoint, minimization is done on the function F. The solution F = Fi is found when : 2.0 * abs(Fi - Fi-1) <= Tolerance * (abs(Fi) + abs(Fi-1) + ZEPS). Tolerance, ZEPS and maximum number of iterations are given in the constructor.
    bool IsDone () const
     Returns true if the computations are successful, otherwise returns false.
    const math_VectorLocation () const
     returns the location vector of the minimum. Exception NotDone is raised if the minimum was not found.
    void Location (math_Vector &Loc) const
     outputs the location vector of the minimum in Loc. Exception NotDone is raised if the minimum was not found. Exception DimensionError is raised if the range of Loc is not equal to the range of the StartingPoint.
    double Minimum () const
     returns the value of the minimum. Exception NotDone is raised if the minimum was not found.
    const math_VectorGradient () const
     Returns the gradient vector at the minimum. Exception NotDone is raised if the minimum was not found.
    void Gradient (math_Vector &Grad) const
     Returns the value of the gradient vector at the minimum in Grad. Exception NotDone is raised if the minimum was not found. Exception DimensionError is raised if the range of Grad is not equal to the range of the StartingPoint.
    int NbIterations () const
     Returns the number of iterations really done in the calculation of the minimum. The 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 <<.

    Additional Inherited Members

    Protected Attributes inherited from math_BFGS
    math_Status TheStatus
    math_Vector TheLocation
    math_Vector TheGradient
    double PreviousMinimum
    double TheMinimum
    double XTol
    double EPSZ
    int nbiter
    bool myIsBoundsDefined
    math_Vector myLeft
    math_Vector myRight

    Constructor & Destructor Documentation

    ◆ AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute()

    AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute::AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute ( math_MultipleVarFunctionWithGradient & F,
    const math_Vector & StartingPoint,
    const double Tolerance3d,
    const double Tolerance2d,
    const double Eps,
    const int NbIterations = 200 )

    Member Function Documentation

    ◆ IsSolutionReached()

    bool AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute::IsSolutionReached ( math_MultipleVarFunctionWithGradient & F) const
    overridevirtual

    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.

    Reimplemented from math_BFGS.


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