class HCL_LinCombLinearOpNormal_d : public HCL_LinearOpNormal_d

HCL_LinCombLinearOpNormal_d is a concrete class implementing a linear combination of one or more linear operators, each with adjoint and normal

Inheritance:


Public Methods

virtual void AdjImage ( const HCL_Vector_d & y, HCL_Vector_d & x )
AdjImage computes the action of the adjoint on y, giving x.
virtual HCL_VectorSpace_d& Domain ()
Domain space access
HCL_LinCombLinearOpNormal_d ( HCL_VectorSpace_d * dom, HCL_VectorSpace_d * range, int n )
Usual constructor
HCL_LinCombLinearOpNormal_d ( HCL_LinearOpNormal_d * op1, double a1, HCL_LinearOpNormal_d * op2, double a2 )
Provided for convenience
virtual void Image ( const HCL_Vector_d & x, HCL_Vector_d & y )
Image computes the action of the operator on x, giving y.
virtual void NormalImage ( const HCL_Vector_d & x, HCL_Vector_d & z )
NormalImage computes the action of the normal on x, giving z.
Table& Parameters ()
Access to parameter table
virtual HCL_VectorSpace_d& Range ()
Range space access
void SetNext ( HCL_LinearOpNormal_d * L, double a )
SetNext is used for initializing the terms in the linear combination
virtual ostream& Write ( ostream & str )
Debugging information

Inherited from HCL_LinearOpNormal_d:

Public Methods

int TestNormal( int display = 1, double tol = 100 )

Inherited from HCL_LinearOpAdj_d:

Public Methods

int TestAdj(int Display = 1, double tol = 1000 )

Inherited from HCL_LinearOp_d:


Inherited from HCL_Base:

Public Methods

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

Private Fields

int ReferenceCount

Documentation

HCL_LinCombLinearOpNormal_d is a concrete class implementing a linear combination of one or more linear operators, each with adjoint and normal. This class is useful for combining existing linear operators to create a new operator.

The primary methods are exactly the same as those of HCL_LinearOpAdj_d. In addition, the Parameters method allows the weights in the linear combination to be accessed or changed.

HCL_LinCombLinearOpNormal_d( HCL_VectorSpace_d * dom, HCL_VectorSpace_d * range, int n )
Usual constructor. Requires that the domain and range space be given (for error checking), along with the number of terms in the sum. The operators and weights are added one-by-one using the SetNext method.

HCL_LinCombLinearOpNormal_d( HCL_LinearOpNormal_d * op1, double a1, HCL_LinearOpNormal_d * op2, double a2 )
Provided for convenience. This constructor makes it easy to create a linear combination with two terms. Pointers to the two operators (Op1 and Op2) and their weights (a1 and a2) must be given.

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

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

Table& Parameters()
Access to parameter table. The weights for the linear combination can be accessed with Parameters().GetArrayValue( "Weights",i,val ) or changed with Parameters().PutArrayValue( "Weights",i,val ).

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

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

virtual void NormalImage( const HCL_Vector_d & x, HCL_Vector_d & z )
NormalImage computes the action of the normal on x, giving z.

void SetNext( HCL_LinearOpNormal_d * L, double a )
SetNext is used for initializing the terms in the linear combination. A pointer to the next operator (L) and its weight (a) must be given.

virtual ostream& Write( ostream & str )
Debugging information. Prints out the weights in the linear combination, and invokes the Write method for each linear 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