class HCL_SymSparseRCSMatOp_d : public HCL_LinearOp_d

HCL_SymSparseRCSMatOp_d makes a sparse symmetric matrix into a linear operator in the HCL sense

Inheritance:


Public Fields

SymSparseRCSMatrix_d* Matrix
Matrix is a pointer to the underlying SymSparseRCSMatrix_d, which is the matrix representing the linear operator

Public Methods

HCL_SymSparseRCSMatOp_d ( SymSparseRCSMatrix_d * AA, int flag, HCL_VectorSpace_d * d )
Usual constructor; requires the matrix and the domain
HCL_SymSparseRCSMatOp_d ( SymSparseRCSMatrix_d * AA, int flag, HCL_VectorSpace_d * d, HCL_VectorSpace_d * r )
Usual constructor; requires the matrix, the domain, and the range
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
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

HCL_SymSparseRCSMatOp_d makes a sparse symmetric matrix into a linear operator in the HCL sense. Note that the matrix is an instance of the class SymSparseRCSMatrix_d, which implements a sparse matrix in Row Compressed Storage, and it must be provided to the constructor.

The methods of this class are the methods of the base class HCL_LinearOp_d, and the documentation for the base class can be consulted for more information.

SymSparseRCSMatrix_d* Matrix
Matrix is a pointer to the underlying SymSparseRCSMatrix_d, which is the matrix representing the linear operator. The matrix is public so that its methods are available.

HCL_SymSparseRCSMatOp_d( SymSparseRCSMatrix_d * AA, int flag, HCL_VectorSpace_d * d )
Usual constructor; requires the matrix and the domain. (The range is assumed to equal the domain.) Also, a flag must be passed to indicate whether the matrix is to be deleted upon destruction of the operator (nonzero = delete, zero = no delete).

HCL_SymSparseRCSMatOp_d( SymSparseRCSMatrix_d * AA, int flag, HCL_VectorSpace_d * d, HCL_VectorSpace_d * r )
Usual constructor; requires the matrix, the domain, and the range. Note that the dimensions of the domain and range must agree. Also, a flag must be passed to indicate whether the matrix is to be deleted upon destruction of the operator (nonzero = delete, zero = no delete).

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