|
| AppDef_Gradient_BFGSOfMyGradientbisOfBSplineCompute (math_MultipleVarFunctionWithGradient &F, const math_Vector &StartingPoint, const Standard_Real Tolerance3d, const Standard_Real Tolerance2d, const Standard_Real Eps, const Standard_Integer NbIterations=200) |
|
virtual Standard_Boolean | 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.
|
|
| math_BFGS (const Standard_Integer NbVariables, const Standard_Real Tolerance=1.0e-8, const Standard_Integer NbIterations=200, const Standard_Real 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.
|
|
Standard_Boolean | IsDone () const |
| Returns true if the computations are successful, otherwise returns false.
|
|
const math_Vector & | Location () 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.
|
|
Standard_Real | Minimum () const |
| returns the value of the minimum. Exception NotDone is raised if the minimum was not found.
|
|
const math_Vector & | Gradient () 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.
|
|
Standard_Integer | 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 <<.
|
|