The purpose of the class HCL_FunctionalDefaultEval is to relieve the implementor of a derived functional class from the necessity of also defining a derived evaluation class if there is no need to do so
HCL_FunctionalDefaultEval_d ( const HCL_Functional_d * ff, const HCL_Vector_d & in ) Usual constructor; requires a pointer to a functional and a reference to the input vector | |
virtual HCL_VectorSpace_d& | Domain () const Domain returns a reference to the domain of the underlying functional |
virtual double | Value () const Value computes the value of the functional at x. |
virtual void | Gradient (HCL_Vector_d & y ) const Gradient computes the gradient of the functional at x and stores it in y |
virtual HCL_LinearOp_d* | Hessian () const Hessian computes the Hessian of the functional |
virtual ostream& | Write ( ostream & str ) const Debugging information |
virtual void | HessianImage ( const HCL_Vector_d & dx, HCL_Vector_d & dy ) const HessianImage computes the image of the Hessian on dx, yielding dy |
virtual void | HessianInvImage ( const HCL_Vector_d & dy, HCL_Vector_d & dx ) const HessianInvImage computes the image of the inverse Hessian on dy, yielding dx |
The purpose of the class HCL_FunctionalDefaultEval is to relieve the implementor of a derived functional class from the necessity of also defining a derived evaluation class if there is no need to do so. The purpose of the evaluation class is to represent the triple . If the implementor of the derived functional class has overridden the protected methods Value1, Gradient1, and either Hessian1 or HessianImage, HessianInvImage, then this default evaluation class can call those methods to compute the value, gradient, or Hessian of the functional. To make this possible, the constructor of HCL_FunctionalDefaultEval saves a copy of x and a pointer to the functional class.See the documentation for HCL_EvaluateFunctional for more information about evaluation objects for functionals.
This class is concrete: all of its methods are implemented.
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