|
Open CASCADE Technology
6.7.1
|
Algorithme of Optimization used to make "FairCurve"
More...
#include <FairCurve_Newton.hxx>

Public Member Functions | |
| FairCurve_Newton (math_MultipleVarFunctionWithHessian &F, const math_Vector &StartingPoint, const Standard_Real SpatialTolerance=1.0e-7, const Standard_Real CriteriumTolerance=1.0e-2, const Standard_Integer NbIterations=40, const Standard_Real Convexity=1.0e-6, const Standard_Boolean WithSingularity=Standard_True) | |
-- Given the starting point StartingPoint, <br>
The tolerance required on the solution is given by <br>
Tolerance. <br>
Iteration are stopped if <br>
(!WithSingularity) and H(F(Xi)) is not definite <br>
positive (if the smaller eigenvalue of H < Convexity) <br>
or IsConverged() returns True for 2 successives Iterations. <br>
Warning: Obsolete Constructor (because IsConverged can not be redefined | |
| FairCurve_Newton (math_MultipleVarFunctionWithHessian &F, const Standard_Real SpatialTolerance=1.0e-7, const Standard_Real Tolerance=1.0e-7, const Standard_Integer NbIterations=40, const Standard_Real Convexity=1.0e-6, const Standard_Boolean WithSingularity=Standard_True) | |
The tolerance required on the solution is given by <br>
Tolerance. <br>
Iteration are stopped if <br>
(!WithSingularity) and H(F(Xi)) is not definite <br>
positive (if the smaller eigenvalue of H < Convexity) <br>
or IsConverged() returns True for 2 successives Iterations. <br>
Warning: This constructor do not computation | |
| virtual Standard_Boolean | IsConverged () const |
| 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. More... | |
Public Member Functions inherited from math_NewtonMinimum | |
| math_NewtonMinimum (math_MultipleVarFunctionWithHessian &F, const math_Vector &StartingPoint, const Standard_Real Tolerance=1.0e-7, const Standard_Integer NbIterations=40, const Standard_Real Convexity=1.0e-6, const Standard_Boolean WithSingularity=Standard_True) | |
-- Given the starting point StartingPoint, <br>
The tolerance required on the solution is given by <br>
Tolerance. <br>
Iteration are stopped if <br>
(!WithSingularity) and H(F(Xi)) is not definite <br>
positive (if the smaller eigenvalue of H < Convexity) <br>
or IsConverged() returns True for 2 successives Iterations. <br>
Warning: Obsolete Constructor (because IsConverged can not be redefined | |
| math_NewtonMinimum (math_MultipleVarFunctionWithHessian &F, const Standard_Real Tolerance=1.0e-7, const Standard_Integer NbIterations=40, const Standard_Real Convexity=1.0e-6, const Standard_Boolean WithSingularity=Standard_True) | |
The tolerance required on the solution is given by <br>
Tolerance. <br>
Iteration are stopped if <br>
(!WithSingularity) and H(F(Xi)) is not definite <br>
positive (if the smaller eigenvalue of H < Convexity) <br>
or IsConverged() returns True for 2 successives Iterations. <br>
Warning: This constructor do not computation | |
| virtual void | Delete () |
| virtual | ~math_NewtonMinimum () |
| void | Perform (math_MultipleVarFunctionWithHessian &F, const math_Vector &StartingPoint) |
| Search the solution. More... | |
| Standard_Boolean | IsDone () const |
| Tests if an error has occured. More... | |
| Standard_Boolean | IsConvex () const |
| Tests if the Function is convexe during optimization. More... | |
| const math_Vector & | Location () const |
returns the location vector of the minimum. <br> Exception NotDone is raised if an error has occured. | |
| void | Location (math_Vector &Loc) const |
outputs the location vector of the minimum in Loc. <br> Exception NotDone is raised if an error has occured. | |
| Standard_Real | Minimum () const |
returns the value of the minimum. <br> Exception NotDone is raised if the minimum was not found. | |
| const math_Vector & | Gradient () const |
returns the gradient vector at the minimum. <br> Exception NotDone is raised if an error has occured.the minimum was not found. | |
| void | Gradient (math_Vector &Grad) const |
outputs the gradient vector at the minimum in Grad. <br> Exception NotDone is raised if the minimum was not found. | |
| Standard_Integer | NbIterations () const |
returns the number of iterations really done in the <br>
calculation of the minimum. <br>
The exception NotDone is raised if an error has occured. | |
| 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... | |
Additional Inherited Members | |
Protected Attributes inherited from math_NewtonMinimum | |
| math_Status | TheStatus |
| math_Vector | TheLocation |
| math_Vector | TheGradient |
| math_Vector | TheStep |
| math_Matrix | TheHessian |
| Standard_Real | PreviousMinimum |
| Standard_Real | TheMinimum |
| Standard_Real | MinEigenValue |
| Standard_Real | XTol |
| Standard_Real | CTol |
| Standard_Integer | nbiter |
| Standard_Boolean | NoConvexTreatement |
| Standard_Boolean | Convex |
Algorithme of Optimization used to make "FairCurve"
| FairCurve_Newton::FairCurve_Newton | ( | math_MultipleVarFunctionWithHessian & | F, |
| const math_Vector & | StartingPoint, | ||
| const Standard_Real | SpatialTolerance = 1.0e-7, |
||
| const Standard_Real | CriteriumTolerance = 1.0e-2, |
||
| const Standard_Integer | NbIterations = 40, |
||
| const Standard_Real | Convexity = 1.0e-6, |
||
| const Standard_Boolean | WithSingularity = Standard_True |
||
| ) |
-- Given the starting point StartingPoint, <br>
The tolerance required on the solution is given by <br>
Tolerance. <br>
Iteration are stopped if <br>
(!WithSingularity) and H(F(Xi)) is not definite <br>
positive (if the smaller eigenvalue of H < Convexity) <br>
or IsConverged() returns True for 2 successives Iterations. <br>
Warning: Obsolete Constructor (because IsConverged can not be redefined
with this. )
| FairCurve_Newton::FairCurve_Newton | ( | math_MultipleVarFunctionWithHessian & | F, |
| const Standard_Real | SpatialTolerance = 1.0e-7, |
||
| const Standard_Real | Tolerance = 1.0e-7, |
||
| const Standard_Integer | NbIterations = 40, |
||
| const Standard_Real | Convexity = 1.0e-6, |
||
| const Standard_Boolean | WithSingularity = Standard_True |
||
| ) |
The tolerance required on the solution is given by <br>
Tolerance. <br>
Iteration are stopped if <br>
(!WithSingularity) and H(F(Xi)) is not definite <br>
positive (if the smaller eigenvalue of H < Convexity) <br>
or IsConverged() returns True for 2 successives Iterations. <br>
Warning: This constructor do not computation
|
virtual |
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.
1.8.5