class HCL_CompLinearOp_d : public HCL_LinearOp_d

HCL_CompLinearOp_d is a concrete class implementing a composition of two or more linear operators

Inheritance:


Public Methods

HCL_CompLinearOp_d ( HCL_VectorSpace_d * d, HCL_VectorSpace_d * r, int n )
Usual constructor
HCL_CompLinearOp_d ( HCL_LinearOp_d * A1, HCL_LinearOp_d * A2 )
Provided for convenience
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 NormalImage ( const HCL_Vector_d & y, HCL_Vector_d & x ) const
NormalImage computes the action of the normal operator 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 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
ImageAdd implements
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
AdjImageAdd implements
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
NormalImageAdd implements
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
InvImageAdd implements
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
InvAdjImageAdd implements
virtual void ImageAdd (const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
ImageAdd implements
virtual void AdjImageAdd (const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
AdjImageAdd implements
virtual void NormalImageAdd (const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
NormalImageAdd implements
virtual void InvImageAdd (const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
InvImageAdd implements
virtual void InvAdjImageAdd (const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
InvAdjImageAdd implements
void SetNext ( HCL_LinearOp_d * L )
SetNext is used for initializing the terms in the composition
virtual ostream& Write ( ostream & str ) const
Write prints out the operators in the composition.

Inherited from HCL_LinearOp_d:

Public Methods

int CheckAdj(int Display = 1, double tol = 1000 )
int CheckNormal( int display = 1, double tol = 100 )

Inherited from HCL_Base:

Public Methods

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

Documentation

HCL_CompLinearOp_d is a concrete class implementing a composition of two or more linear operators. That is, if are linear operators represented by instances of HCL_LinearOp_d, then this class represents the composition .
HCL_CompLinearOp_d( HCL_VectorSpace_d * d, HCL_VectorSpace_d * r, int n )
Usual constructor. Requires that the domain and range space be given (for error checking), along with the number of factors in the composition. The operators are added one-by-one using the SetNext method, beginning with the "innermost" operator. That is, if the composition is , then the method SetNext must be invoked on in that order.

HCL_CompLinearOp_d( HCL_LinearOp_d * A1, HCL_LinearOp_d * A2 )
Provided for convenience. This constructor makes it easy to create a composition with two factors. Pointers to the two operators (A1 and A2) must be given; the composition is then .

virtual HCL_VectorSpace_d& Domain() const
Domain space access. Returns a reference to the vector space forming the domain of the operator.

virtual HCL_VectorSpace_d& Range() const
Range space access. Returns a reference to the vector space forming the range of the operator.

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 NormalImage( const HCL_Vector_d & y, HCL_Vector_d & x ) const
NormalImage computes the action of the normal operator 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 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
ImageAdd implements

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
AdjImageAdd implements

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
NormalImageAdd implements

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
InvImageAdd implements

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
InvAdjImageAdd implements

virtual void ImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
ImageAdd implements

virtual void AdjImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
AdjImageAdd implements

virtual void NormalImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
NormalImageAdd implements

virtual void InvImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
InvImageAdd implements

virtual void InvAdjImageAdd(const HCL_Vector_d & x, HCL_Vector_d & y, double a=1.0, double b=1.0) const
InvAdjImageAdd implements

void SetNext( HCL_LinearOp_d * L )
SetNext is used for initializing the terms in the composition. A pointer to the next operator (L) must be given. Note that the operators must be specified in order, beginning with the "innermost". That is, if the composition is , then the method SetNext must be invoked on in that order.

virtual ostream& Write( ostream & str ) const
Write prints out the operators in the composition.


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