class HCL_UMinProductDomain_d : public HCL_Base

HCL_UMinProductDomain_d is the abstract base class for unconstrained minimization algorithms designed for problems in which the objective function is defined on a product space

Inheritance:


Public Classes

enum
Termination codes
PossibleMinimizer
Possible local minimizer
PossibleConvergence
Possible convergence
LineSearchFailed
Line search failed
PossibleDivergence
Possible divergence
IterationLimit
Iteration limit reached
InaccurateGradient
Possible inaccurate gradient calculation

Public Methods

virtual Table& Parameters () const
Access to parameter table
virtual HCL_EvalFunctionalProductDomain_d& LastEval () const
LastEval returns a reference to the functional's evaluation object at the most recent point
virtual void SetScaling ( HCL_LinearOp_d * S, HCL_LinearSolver_d * lsolver=NULL )
SetScaling defines a new inner product in terms of a symmetric, positive definite operator S: <x,y> = (x,Sy)
virtual void UnSetScaling ()
UnSetScaling returns the inner product to the default.
virtual int Minimize ( HCL_FunctionalProductDomain_d & f, HCL_ProductVector_d & x )
Minimize attempts to find a local minimizer of the functional f, using x as a starting guess

Inherited from HCL_Base:

Public Methods

void IncCount() const
void DecCount() const
int Count() const
virtual ostream& Write(ostream &) const

Documentation

HCL_UMinProductDomain_d is the abstract base class for unconstrained minimization algorithms designed for problems in which the objective function is defined on a product space. In the context of HCL, this means that an object of this type will minimize a HCL_FunctionalProductDomain_d.

All objects derived from HCL_UMinProductDomain_d have five methods:

enum
Termination codes

PossibleMinimizer
Possible local minimizer. The algorithm has succeeded in reducing the norm of the gradient below the tolerance specified by the user.

PossibleConvergence
Possible convergence. The algorithm took a step shorter than the minimum step length specified by the user.

LineSearchFailed
Line search failed. The line search was unable to reduce the function value.

PossibleDivergence
Possible divergence. The algorithm took 5 consecutive steps exceeding the maximum step length specified by the user.

IterationLimit
Iteration limit reached. The algorithm was unable to meet the stopping criteria in the number of iterations allowed.

InaccurateGradient
Possible inaccurate gradient calculation. The negative gradient was not a descent direction. Note that the minimizer does perform any other check of the accuracy of the gradient calculation. The HCL_Functional_d class has a method CheckGrad to compare the analytic gradient against finite differences, but the implementor of the functional is responsible for calling this method explicitly.

virtual Table& Parameters() const
Access to parameter table. Algorithmic parameters can be accessed with Parameters().GetValue( "NAME",val ) or changed with Parameters().PutValue( "NAME",val ).

virtual HCL_EvalFunctionalProductDomain_d& LastEval() const
LastEval returns a reference to the functional's evaluation object at the most recent point. Thus, after the minimization has completed, the calling routine has access to the last function value and gradient.

virtual void SetScaling( HCL_LinearOp_d * S, HCL_LinearSolver_d * lsolver=NULL )
SetScaling defines a new inner product in terms of a symmetric, positive definite operator S: <x,y> = (x,Sy)

virtual void UnSetScaling()
UnSetScaling returns the inner product to the default.

virtual int Minimize( HCL_FunctionalProductDomain_d & f, HCL_ProductVector_d & x )
Minimize attempts to find a local minimizer of the functional f, using x as a starting guess. The return value is the termination code, as given above.


Direct child classes:
HCL_UMinSubspace_d
HCL_UMinAlternation_d

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de