OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    FairCurve_Newton Class Reference

    Algorithm of Optimization used to make "FairCurve". More...

    #include <FairCurve_Newton.hxx>

    Inheritance diagram for FairCurve_Newton:

    Public Member Functions

     FairCurve_Newton (const math_MultipleVarFunctionWithHessian &theFunction, const double theSpatialTolerance=1.0e-7, const double theCriteriumTolerance=1.0e-7, const int theNbIterations=40, const double theConvexity=1.0e-6, const bool theWithSingularity=true)
     The tolerance required on the solution is given by Tolerance. Iteration are stopped if (!WithSingularity) and H(F(Xi)) is not definite positive (if the smaller eigenvalue of H < Convexity) or IsConverged() returns True for 2 successives Iterations. Warning: This constructor do not computation.
    bool IsConverged () const override
     This method is called at the end of each iteration to check the convergence: || Xi+1 - Xi || < SpatialTolerance/100 Or || Xi+1 - Xi || < SpatialTolerance and |F(Xi+1) - F(Xi)| < CriteriumTolerance * |F(xi)| It can be redefined in a sub-class to implement a specific test.
    Public Member Functions inherited from math_NewtonMinimum
     math_NewtonMinimum (const math_MultipleVarFunctionWithHessian &theFunction, const double theTolerance=Precision::Confusion(), const int theNbIterations=40, const double theConvexity=1.0e-6, const bool theWithSingularity=true)
     The tolerance required on the solution is given by Tolerance. Iteration are stopped if (!WithSingularity) and H(F(Xi)) is not definite positive (if the smaller eigenvalue of H < Convexity) or IsConverged() returns True for 2 successives Iterations. Warning: This constructor does not perform computation.
    void Perform (math_MultipleVarFunctionWithHessian &theFunction, const math_Vector &theStartingPoint)
     Search the solution.
    virtual ~math_NewtonMinimum ()
     Destructor.
    bool IsDone () const
     Tests if an error has occurred.
    bool IsConvex () const
     Tests if the Function is convexe during optimization.
    const math_VectorLocation () const
     returns the location vector of the minimum. Exception NotDone is raised if an error has occurred.
    void Location (math_Vector &Loc) const
     outputs the location vector of the minimum in Loc. Exception NotDone is raised if an error has occurred. Exception DimensionError is raised if the range of Loc is not equal to the range of the StartingPoint.
    void SetBoundary (const math_Vector &theLeftBorder, const math_Vector &theRightBorder)
     Set boundaries.
    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 an error has occurred. The minimum was not found.
    void Gradient (math_Vector &Grad) const
     outputs 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 an error has occurred.
    math_Status GetStatus () const
     Returns the Status of computation. The exception NotDone is raised if an error has occurred.
    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_NewtonMinimum
    math_Status TheStatus
    math_Vector TheLocation
    math_Vector TheGradient
    math_Vector TheStep
    math_Matrix TheHessian
    double PreviousMinimum
    double TheMinimum
    double MinEigenValue
    double XTol
    double CTol
    int nbiter
    bool NoConvexTreatement
    bool Convex
    bool myIsBoundsDefined
    math_Vector myLeft
    math_Vector myRight

    Detailed Description

    Algorithm of Optimization used to make "FairCurve".

    Constructor & Destructor Documentation

    ◆ FairCurve_Newton()

    FairCurve_Newton::FairCurve_Newton ( const math_MultipleVarFunctionWithHessian & theFunction,
    const double theSpatialTolerance = 1.0e-7,
    const double theCriteriumTolerance = 1.0e-7,
    const int theNbIterations = 40,
    const double theConvexity = 1.0e-6,
    const bool theWithSingularity = true )

    The tolerance required on the solution is given by Tolerance. Iteration are stopped if (!WithSingularity) and H(F(Xi)) is not definite positive (if the smaller eigenvalue of H < Convexity) or IsConverged() returns True for 2 successives Iterations. Warning: This constructor do not computation.

    Member Function Documentation

    ◆ IsConverged()

    bool FairCurve_Newton::IsConverged ( ) const
    overridevirtual

    This method is called at the end of each iteration to check the convergence: || Xi+1 - Xi || < SpatialTolerance/100 Or || Xi+1 - Xi || < SpatialTolerance and |F(Xi+1) - F(Xi)| < CriteriumTolerance * |F(xi)| It can be redefined in a sub-class to implement a specific test.

    Reimplemented from math_NewtonMinimum.


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