class HCL_RestrictedFunctional_d : public HCL_Functional_d

HCL_RestrictedFunctional_d is a concrete class which creates a new functional from a functional defined on a product space, by fixing all but one of the components of the independent variable

Inheritance:


Public Methods

HCL_RestrictedFunctional_d ( HCL_FunctionalProductDomain_d * ff, const HCL_ProductVector_d & x, int i )
Usual constructor; just needs the underlying functional (defined on a product space) and the index of the free component of the independent variable
HCL_RestrictedFunctional_d ( HCL_FunctionalProductDomain_d * ff, HCL_ProductVector_d * x, int i )
Usual constructor; just needs the underlying functional (defined on a product space) and the index of the free component of the independent variable
virtual HCL_VectorSpace_d& Domain () const
Domain space access
virtual HCL_EvaluateFunctional_d* Evaluate ( const HCL_Vector_d & x ) const
Evaluate creates an "evaluation" object, which knows how to compute the function value, gradient and Hessian at the given x
virtual ostream& Write ( ostream & str ) const
Debugging information

Inherited from HCL_Functional_d:

Public Methods

virtual double MaxStep( const HCL_Vector_d & x, const HCL_Vector_d & dir) const
virtual double Value( const HCL_Vector_d & x ) const
virtual void Gradient( const HCL_Vector_d & x, HCL_Vector_d & g ) const
virtual HCL_LinearOp_d* Hessian( const HCL_Vector_d & x ) const
void Scan( const HCL_Vector_d & x, const HCL_Vector_d & dx, int N, double hmin, double hmax, char * fname = NULL )
int CheckGrad( const HCL_Vector_d & x, const HCL_Vector_d & y, ostream & str, int n=10, double hmin=0.1, double hmax=1.0 )
int CheckHess( const HCL_Vector_d &, const HCL_Vector_d &, ostream & str, int n=10, double hmin=0.1, double hmax=1.0 )

Protected Methods

virtual double Value1( const HCL_Vector_d & x ) const
virtual void Gradient1( const HCL_Vector_d & x, HCL_Vector_d & y ) const
virtual void HessianImage( const HCL_Vector_d & x, const HCL_Vector_d & dx, HCL_Vector_d & dy ) const
virtual void HessianInvImage( const HCL_Vector_d & x, const HCL_Vector_d & dy, HCL_Vector_d & dx ) const
virtual HCL_LinearOp_d* Hessian1( const HCL_Vector_d & x ) const

Inherited from HCL_Base:

Public Methods

void IncCount() const
void DecCount() const
int Count() const

Documentation

HCL_RestrictedFunctional_d is a concrete class which creates a new functional from a functional defined on a product space, by fixing all but one of the components of the independent variable. That is, given an instance of HCL_FunctionalProductDomain_d representing , the class HCL_RestrictedFunctional_d implements defined by , where are fixed.

See the documentation of HCL_Functional_d and HCL_FunctionalProductDomain_d for more information.

HCL_RestrictedFunctional_d( HCL_FunctionalProductDomain_d * ff, const HCL_ProductVector_d & x, int i )
Usual constructor; just needs the underlying functional (defined on a product space) and the index of the free component of the independent variable. (Creates a copy of the vector.)

HCL_RestrictedFunctional_d( HCL_FunctionalProductDomain_d * ff, HCL_ProductVector_d * x, int i )
Usual constructor; just needs the underlying functional (defined on a product space) and the index of the free component of the independent variable. (Copies the pointer to the vector.) Note that the ith component of x will be changed when the functional is evaluated.

virtual HCL_VectorSpace_d& Domain() const
Domain space access. Returns a reference to the HCL_VectorSpace_d which forms the domain of the functional.

virtual HCL_EvaluateFunctional_d* Evaluate( const HCL_Vector_d & x ) const
Evaluate creates an "evaluation" object, which knows how to compute the function value, gradient and Hessian at the given x

virtual ostream& Write( ostream & str ) const
Debugging information. Write must be implemented in derived classes, and should print a description of the object that will be useful for debugging.


This class has no child classes.

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