class HCL_EvalRestrictedFunctionalGrad_d : public HCL_EvaluateFunctionalGrad_d

HCL_EvalRestrictedFunctionalGrad_d is the evaluation class for HCL_RestrictedFunctionalGrad_d, which is the concrete class which turns a functional defined on a product space into an ordinary functional by fixing all but one of the components

Inheritance:


Public Methods

virtual HCL_VectorSpace_d& Domain ()
Domain space access
virtual HCL_VectorSpace_d& Domain ()
Domain returns a reference to the domain of the underlying function.
virtual HCL_VectorSpace_d& Domain ()
Domain returns a reference to the domain of the underlying function.
virtual HCL_VectorSpace_d& Domain ()
Domain returns a reference to the domain of the underlying function
virtual HCL_VectorSpace_d& Domain ()
Domain space access
virtual HCL_EvaluateFunctionalGrad_d* EvaluateGrad ( const HCL_Vector_d & x )
EvaluateGrad creates an "evaluation" object, which knows how to compute the function value and gradient at the given x
virtual HCL_EvaluateFunctionalHess_d* EvaluateHess ( const HCL_Vector_d & x )
EvaluateHess creates an "evaluation" object, which knows how to compute the function value, gradient,and Hessian at the given x
virtual void Gradient ( HCL_Vector_d & g )
Gradient computes the gradient of the function
virtual void Gradient ( HCL_Vector_d & g )
Gradient computes the gradient of the function
virtual void Gradient ( HCL_Vector_d & g )
Gradient computes the gradient of the function
virtual const HCL_Vector_d& GradientRef ()
GradientRef computes the gradient of the function and returns a reference to it
virtual const HCL_Vector_d& GradientRef ()
GradientRef computes the gradient of the function and returns a reference to it
HCL_EvalFunctionalProductDomainGrad_d ( int n )
Constructor called by derived classes; needs the number of factors in the domain space
HCL_EvalFunctionalProductDomainHess_d ( int n )
Constructor called by derived classes; needs the number of factors in the domain space
HCL_EvalRestrictedFunctionalGrad_d ( int i, HCL_EvalFunctionalProductDomainGrad_d * ev )
Usual constructor; just needs the evaluation object from the underlying evaluation object and the index of the free component of the independent variable
virtual HCL_LinearOp_d* Hessian ()
Hessian computes the Hessian of the function
virtual HCL_LinearOpAdj_d* HessianBlock ( int i, int j )
HessianBlock creates the (i,j) block of the Hessian, as a linear operator with adjoint
virtual HCL_LinearOpAdj_d* HessianBlock ( const HCL_Vector_d & x, int i, int j )
HessianBlock computes the (i,j) block of the Hessian operator
virtual const HCL_LinearOpAdj_d& HessianBlockRef ( int i, int j )
HessianBlockRef returns a reference to the (i,j) block of the Hessian
virtual const HCL_LinearOp_d& HessianRef ()
HessianRef computes the Hessian of the function and returns a reference to it
virtual void PartialGradient ( const HCL_Vector_d & x, HCL_Vector_d & g, int i )
PartialGradient computes the gradient with respect to the ith component of the independent variable, at x
virtual void PartialGradient ( const HCL_Vector_d & x, HCL_Vector_d & g, int i )
PartialGradient computes the gradient with respect to the ith component of the independent variable, at x
virtual void PartialGradient ( HCL_Vector_d & g, int i )
PartialGradient computes the component of the gradient corresponding to the ith component of the independent variable
virtual void PartialGradient ( HCL_Vector_d & g, int i )
PartialGradient computes the component of the gradient corresponding to the ith component of the independent variable
virtual const HCL_Vector_d& PartialGradientRef ( int i )
PartialGradientRef returns a reference to the component of the gradient corresponding to the ith component of the independent variable
virtual const HCL_Vector_d& PartialGradientRef ( int i )
PartialGradientRef returns a reference to the component of the gradient corresponding to the ith component of the independent variable
virtual HCL_ProductVectorSpace_d& ProductDomain ()
ProductDomain returns a reference to the domain of the underlying function
virtual HCL_ProductVectorSpace_d& ProductDomain ()
Access to the domain, explicitly as a product vector space
virtual HCL_ProductVectorSpace_d& ProductDomain ()
Access to the domain, explicitly as a product vector space
virtual HCL_ProductVectorSpace_d& ProductDomain ()
ProductDomain returns a reference to the domain of the underlying function
HCL_EvalFunctionalProductDomainGrad_d& UnrestrictedEval ()
Access to the evaluation object of the underlying function defined on a product space
virtual double Value ()
Value computes the value of the function
virtual double Value ()
Value computes the value of the function
virtual double Value ()
Value computes the value of the function
virtual ostream& Write ( ostream & str )
Debugging information
virtual ostream& Write ( ostream & str )
Debugging information
virtual ostream& Write ( ostream & str )
Debugging information
virtual ostream& Write ( ostream & str )
Debugging information
virtual ostream& Write ( ostream & str )
Debugging information

Inherited from HCL_EvaluateFunctionalGrad_d:

Public Methods

virtual double ValueRef()

Inherited from HCL_Base:

Public Methods

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

Private Fields

int ReferenceCount

Documentation

HCL_EvalRestrictedFunctionalGrad_d is the evaluation class for HCL_RestrictedFunctionalGrad_d, which is the concrete class which turns a functional defined on a product space into an ordinary functional by fixing all but one of the components
HCL_EvalFunctionalProductDomainGrad_d( int n )
Constructor called by derived classes; needs the number of factors in the domain space

virtual HCL_VectorSpace_d& Domain()
Domain returns a reference to the domain of the underlying function.

virtual HCL_ProductVectorSpace_d& ProductDomain()
ProductDomain returns a reference to the domain of the underlying function

virtual double Value()
Value computes the value of the function. This function must be implemented in each concrete derived class. It is recommended that any calculations that are required for both the value and derivatives be done in the constructor; Value should then complete the computation of the functional value.

virtual void Gradient( HCL_Vector_d & g )
Gradient computes the gradient of the function. This method is implemented in this (the base) class, using PartialGradient, and need not be re-implemented in a derived class.

virtual void PartialGradient( HCL_Vector_d & g, int i )
PartialGradient computes the component of the gradient corresponding to the ith component of the independent variable

virtual const HCL_Vector_d& GradientRef()
GradientRef computes the gradient of the function and returns a reference to it. This causes the Evaluation object to manage the storage.

virtual const HCL_Vector_d& PartialGradientRef( int i )
PartialGradientRef returns a reference to the component of the gradient corresponding to the ith component of the independent variable. This relieves the calling program of the responsibility of managing the storage of the gradient. This method is implemented in this (the base) class, and need not be re-implemented in derived classes.

virtual ostream& Write( ostream & str )
Debugging information

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

virtual HCL_ProductVectorSpace_d& ProductDomain()
Access to the domain, explicitly as a product vector space

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

virtual void PartialGradient( const HCL_Vector_d & x, HCL_Vector_d & g, int i )
PartialGradient computes the gradient with respect to the ith component of the independent variable, at x. It does so by creating an evaluation object with the EvaluateGrad method, getting the partial gradient from it, and deleting the evaluation object. PartialGradient is defined in this (the base) class, so it need not be redefined in a derived class.

virtual ostream& Write( ostream & str )
Debugging information

HCL_EvalFunctionalProductDomainHess_d( int n )
Constructor called by derived classes; needs the number of factors in the domain space

virtual HCL_VectorSpace_d& Domain()
Domain returns a reference to the domain of the underlying function.

virtual HCL_ProductVectorSpace_d& ProductDomain()
ProductDomain returns a reference to the domain of the underlying function

virtual double Value()
Value computes the value of the function. This function must be implemented in each concrete derived class. It is recommended that any calculations that are required for both the value and derivatives be done in the constructor; Value should then complete the computation of the functional value.

virtual void Gradient( HCL_Vector_d & g )
Gradient computes the gradient of the function. This method is implemented in this (the base) class, using PartialGradient, and need not be re-implemented in a derived class.

virtual void PartialGradient( HCL_Vector_d & g, int i )
PartialGradient computes the component of the gradient corresponding to the ith component of the independent variable

virtual HCL_LinearOp_d* Hessian()
Hessian computes the Hessian of the function. This method is implemented in this (the base) class, using HessianBlock, and need not be re-implemented in a derived class.

virtual HCL_LinearOpAdj_d* HessianBlock( int i, int j )
HessianBlock creates the (i,j) block of the Hessian, as a linear operator with adjoint

virtual const HCL_Vector_d& GradientRef()
GradientRef computes the gradient of the function and returns a reference to it. This causes the Evaluation object to manage the storage.

virtual const HCL_Vector_d& PartialGradientRef( int i )
PartialGradientRef returns a reference to the component of the gradient corresponding to the ith component of the independent variable. This relieves the calling program of the responsibility of managing the storage of the gradient. This method is implemented in this (the base) class, and need not be re-implemented in derived classes.

virtual const HCL_LinearOp_d& HessianRef()
HessianRef computes the Hessian of the function and returns a reference to it. This causes the Evaluation object to manage the storage.

virtual const HCL_LinearOpAdj_d& HessianBlockRef( int i, int j )
HessianBlockRef returns a reference to the (i,j) block of the Hessian. This method is implemented in this (the base) class, and need not be re-implemented in derived classes.

virtual ostream& Write( ostream & str )
Debugging information

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

virtual HCL_ProductVectorSpace_d& ProductDomain()
Access to the domain, explicitly as a product vector space

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

virtual void PartialGradient( const HCL_Vector_d & x, HCL_Vector_d & g, int i )
PartialGradient computes the gradient with respect to the ith component of the independent variable, at x. It does so by creating an evaluation object with the EvaluateGrad method, getting the partial gradient from it, and deleting the evaluation object. PartialGradient is defined in this (the base) class, so it need not be redefined in a derived class.

virtual HCL_LinearOpAdj_d* HessianBlock( const HCL_Vector_d & x, int i, int j )
HessianBlock computes the (i,j) block of the Hessian operator. It does so by creating an evaluation object with the EvaluateHess method, getting the partial gradient from it, and deleting the evaluation object. HessianBlock is defined in this (the base) class, so it need not be redefined in a derived class.

virtual ostream& Write( ostream & str )
Debugging information

HCL_EvalRestrictedFunctionalGrad_d( int i, HCL_EvalFunctionalProductDomainGrad_d * ev )
Usual constructor; just needs the evaluation object from the underlying evaluation object and the index of the free component of the independent variable

virtual HCL_VectorSpace_d& Domain()
Domain returns a reference to the domain of the underlying function

HCL_EvalFunctionalProductDomainGrad_d& UnrestrictedEval()
Access to the evaluation object of the underlying function defined on a product space

virtual double Value()
Value computes the value of the function

virtual void Gradient( HCL_Vector_d & g )
Gradient computes the gradient of the function.

virtual ostream& Write( ostream & str )
Debugging information


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