class HCL_FunctionalDefaultHessian_d : public HCL_LinearOp_d

The purpose of the class HCL_FunctionalDefaultHessian is to relieve the implementor of a derived functional class from the necessity of also defining a class to represent the Hessian if there is no existing HCL class that can be used for this purpose

Inheritance:


Public Methods

HCL_FunctionalDefaultHessian_d ( const HCL_EvaluateFunctional_d * ev )
Usual constructor; just needs a functional's evaluation object
virtual HCL_VectorSpace_d& Domain () const
Domain space access
virtual HCL_VectorSpace_d& Range () const
Range space access
virtual void Image ( const HCL_Vector_d & x, HCL_Vector_d & y ) const
Image compute the action of the functional on x, giving y.
virtual void AdjImage ( const HCL_Vector_d & y, HCL_Vector_d & x ) const
AdjImage computes the action of the adjoint on y, giving x.
virtual void InvImage (const HCL_Vector_d & y, HCL_Vector_d & x) const
InvImage computes the action of the inverse on y, giving x
virtual void InvAdjImage (const HCL_Vector_d & x, HCL_Vector_d & y) const
InvAdjImage computes the action of the inverse adjoint on x, giving y
virtual ostream& Write ( ostream & str ) const
Debugging information

Inherited from HCL_LinearOp_d:

Public Methods

int CheckAdj(int Display = 1, double tol = 1000 )
virtual void NormalImage( const HCL_Vector_d & x, HCL_Vector_d & z ) const
int CheckNormal( int display = 1, double tol = 100 )
virtual void ImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void AdjImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void NormalImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void InvImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void InvAdjImageAdd(const HCL_Vector_d & x, const HCL_Vector_d & z, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void ImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void AdjImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void NormalImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void InvImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
virtual void InvAdjImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const

Inherited from HCL_Base:

Public Methods

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

Documentation

The purpose of the class HCL_FunctionalDefaultHessian is to relieve the implementor of a derived functional class from the necessity of also defining a class to represent the Hessian if there is no existing HCL class that can be used for this purpose. The implementor need only, in either the derived functional class or the corresponding derived evaluation class, implement the methods HessianImage and (if desired) HessianInvImage. The constructor of HCL_FunctionalDefaultHessian saves a pointer to the evaluation class, and refers calls to Image and InvImage back to HessianImage and HessianInvImage, respectively. (Note that a Hessian is symmetric, so calls to the adjoint methods are handled similarly.)
HCL_FunctionalDefaultHessian_d( const HCL_EvaluateFunctional_d * ev )
Usual constructor; just needs a functional's evaluation object

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

virtual HCL_VectorSpace_d& Range() const
Range space access. Returns a reference to the range of the functional, which is a HCL_VectorSpace_d.

virtual void Image( const HCL_Vector_d & x, HCL_Vector_d & y ) const
Image compute the action of the functional on x, giving y.

virtual void AdjImage( const HCL_Vector_d & y, HCL_Vector_d & x ) const
AdjImage computes the action of the adjoint on y, giving x.

virtual void InvImage(const HCL_Vector_d & y, HCL_Vector_d & x) const
InvImage computes the action of the inverse on y, giving x. Note that this method is enabled only if the underlying functional class has a working HessianInvImage method.

virtual void InvAdjImage(const HCL_Vector_d & x, HCL_Vector_d & y) const
InvAdjImage computes the action of the inverse adjoint on x, giving y. Note that this method is enabled only if the underlying functional class has a working HessianInvAdjImage method.

virtual ostream& Write( ostream & str ) const
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