class HCL_OpDefaultDeriv_d : public HCL_LinearOp_d

HCL_OpDefaultDeriv_d is a linear operator class implementing the derivative of a nonlinear operator

Inheritance:


Public Methods

HCL_OpDefaultDeriv_d ( const HCL_EvaluateOp_d * ev )
Usual constructor; just needs an operator'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 computes the action of the operator 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
Write prints a description of the operator

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

HCL_OpDefaultDeriv_d is a linear operator class implementing the derivative of a nonlinear operator. It exists to relieve the implementor of an operator class from the necessity of creating a distinct class to represent the derivative if there is no (efficiency) advantage gained by creating such a class. In order to use this default derivative class, the implementor of the operator class must implement the protected virtual functions DerivImage, DerivAdjImage, etc.

The various mechanisms for implementing operator classes, including the use of this default class, are explained in detail, with concrete examples, in the report

"Implementing operators in HCL", Technical Report 99-22, Department of Computational and Applied Mathematics, Rice University, Houston, TX 77251-1892.

downloadable from the HCL home page.

This class is concrete: all of its methods are implemented, and are not intended to be overridden.

HCL_OpDefaultDeriv_d( const HCL_EvaluateOp_d * ev )
Usual constructor; just needs an operator's evaluation object

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

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

virtual void Image( const HCL_Vector_d & x, HCL_Vector_d & y ) const
Image computes the action of the operator 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
Write prints a description of the operator


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