HCL_LinCombLinearOp_d is a concrete class implementing a linear combination of one or more linear operators
HCL_LinCombLinearOp_d ( HCL_VectorSpace_d * d, HCL_VectorSpace_d * r, int n ) Usual constructor | |
HCL_LinCombLinearOp_d ( HCL_LinearOp_d * op1, double a1, HCL_LinearOp_d * op2, double a2 ) Provided for convenience | |
virtual HCL_VectorSpace_d& | Domain () const Domain space access |
virtual HCL_VectorSpace_d& | Range () const Range space access |
Table& | Parameters () Access to parameter table |
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 returns an error message (unimplemented). |
virtual void | InvAdjImage (const HCL_Vector_d & x, HCL_Vector_d & y) const InvAdjImage returns an error message (unimplemented) |
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 | 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 |
void | SetNext ( HCL_LinearOp_d * L, double a ) SetNext is used for initializing the terms in the linear combination |
virtual ostream& | Write ( ostream & str ) const Debugging information |
HCL_LinCombLinearOp_d is a concrete class implementing a linear combination of one or more linear operators. 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_LinearOp_d. In addition, the Parameters method allows the weights in the linear combination to be accessed or changed.
There are two constructors. The usual constructor takes (pointers to) the domain and range spaces, as well as the number of operators in the sum. The operators and their weights are then specified one-by-one using the SetNext method. Here is an example:
// X and Y are instances of HCL_VectorSpace_d, and L1,L2,L3 are instances // of HCL_LinearOp_d, each with domain X and range Y. // The following constructs the operator M = 2L1-3.7L2+L3. HCL_LinCombLinearOp_d M( &X,&Y,3 ); M.SetNext( &L1,2.0 ); M.SetNext( &L2,-3.7 ); M.SetNext( &L3,1.0 ); // M is now ready to use.The second constructor is provided for convenience in the special case of a linear combination of two operators.
// The next line constructs the operator M = 2L1-3.7L2. HCL_LinCombLinearOp_d M( &L1,2.0,&L2,-3.7 ); // M is now ready to use.
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