class HCL_NonSymSparseMat_d : public HCL_Matrix_d

HCL_NonSymSparseMat_d is the HCL object representing nonsymmetric sparse matrices

Inheritance:


Public

Constructors
HCL_NonSymSparseMat_d ()
Default constructor
HCL_NonSymSparseMat_d ( const HCL_NonSymSparseMat_d & D )
Copy constructor
HCL_NonSymSparseMat_d ( HCL_RnSpace_d * d, HCL_RnSpace_d * r, int Maxnz, char * sname = NULL )
Creates a sparse matrix with a domain of d, range of r, Maxnz non-zeroes, and loads from an optional file name
HCL_NonSymSparseMat_d ( int m, int n, int Maxnz, char * sname = NULL )
Creates a sparse matrix with m rows, n columns, Maxnz non-zeroes, and loads from an optional file name
Data Access
virtual double operator) (int i, int j)
Returns the data stored in i,j
virtual double& operator) (int i, int j)
Returns a reference to the data stored in i, j
double EntryOpt (int i, int j)
Optimized element access, non-virtual
int* IA_ptr ()
Returns a pointer to the column index data
int* JA_ptr ()
Returns a pointer to the row pointer data
double* A_ptr ()
Returns a pointer to compressed matrix data
int MaxNz ()
Returns the maximum number of non-zeroes
int Nz ()
Returns the number of non-zeros
Dimension Access
int Rows ()
Returns the number of rows in the matrix
int Cols ()
Returns the number of columns in the matrix
int RowsOpt ()
Returns the number of rows in matrix (optimized)
int ColsOpt ()
Returns the number of columns in the matrix (optimized)
Input/Output
virtual void save ( char * fname )
Saves to a file
virtual void save_struct ( char * fname )
Saves to a file
virtual ostream& Write ( ostream & str )
Prints debugging information
Operations
virtual void Image ( const HCL_Vector_d & xx, HCL_Vector_d & yy )
Computes the image of the matrix on xx, and stores the result in yy
virtual void AdjImage ( const HCL_Vector_d & xx, HCL_Vector_d & yy )
Computes the adjoint image of the matrix on xx, and stores the result in yy
virtual void Add ( int k, int l, double e )
Adds the matrix element (k,l) to the matrix and stores e in it
virtual void Zero ()
Zeroes out all matrix elements
Range and Domain space access
virtual HCL_VectorSpace_d& Domain ()
Returns a reference to the domain of the matrix
virtual HCL_VectorSpace_d& Range ()
Returns a reference to the range of the matrix
virtual HCL_EuclideanVectorSpace_d& EucRange ()
Returns a reference to the range of the matrix

Inherited from HCL_Matrix_d:

Public Methods

virtual ostream& Write( ostream & str )

Public

Operators

virtual void Image( const HCL_Vector_d & x, HCL_Vector_d & y )
Computes the action of the matrix on the HCL_Vector_d x,and stores the result in HCL_Vector_d y
virtual void AdjImage( const HCL_Vector_d & x, HCL_Vector_d & y )
Computes the action of the adjoint operator on HCL_Vector_d x, and stores the result in HCL_Vector_d y

Range and Domain Space Access

virtual HCL_VectorSpace_d& Domain()
Returns a reference to the domain of the matrix, which is a HCL_VectorSpace_d
virtual HCL_VectorSpace_d& Range()
Returns a reference to the range of the matrix, which is a HCL_VectorSpace_d
virtual HCL_EuclideanVectorSpace_d& EucRange()
Returns a reference to the range of the matrix, which is a HCL_EuclideanVectorSpace_d

Inherited from HCL_LinearOpAdjEucRange_d:

Public Methods

virtual void AdjImage( const HCL_Vector_d & y, HCL_Vector_d & x )
virtual HCL_VectorSpace_d& Domain()
virtual HCL_EuclideanVectorSpace_d& EucRange()
virtual void Image( const HCL_Vector_d & x, HCL_Vector_d & y )
virtual HCL_VectorSpace_d& Range()

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_NonSymSparseMat_d is the HCL object representing nonsymmetric sparse matrices
Constructors

HCL_NonSymSparseMat_d()
Default constructor

HCL_NonSymSparseMat_d( const HCL_NonSymSparseMat_d & D )
Copy constructor

HCL_NonSymSparseMat_d( HCL_RnSpace_d * d, HCL_RnSpace_d * r, int Maxnz, char * sname = NULL )
Creates a sparse matrix with a domain of d, range of r, Maxnz non-zeroes, and loads from an optional file name

HCL_NonSymSparseMat_d( int m, int n, int Maxnz, char * sname = NULL )
Creates a sparse matrix with m rows, n columns, Maxnz non-zeroes, and loads from an optional file name

Dimension Access

int Rows()
Returns the number of rows in the matrix

int Cols()
Returns the number of columns in the matrix

int RowsOpt()
Returns the number of rows in matrix (optimized)

int ColsOpt()
Returns the number of columns in the matrix (optimized)

Data Access

virtual double operator)(int i, int j)
Returns the data stored in i,j

virtual double& operator)(int i, int j)
Returns a reference to the data stored in i, j

double EntryOpt(int i, int j)
Optimized element access, non-virtual

int* IA_ptr()
Returns a pointer to the column index data

int* JA_ptr()
Returns a pointer to the row pointer data

double* A_ptr()
Returns a pointer to compressed matrix data

int MaxNz()
Returns the maximum number of non-zeroes

int Nz()
Returns the number of non-zeros

Range and Domain space access

virtual HCL_VectorSpace_d& Domain()
Returns a reference to the domain of the matrix

virtual HCL_VectorSpace_d& Range()
Returns a reference to the range of the matrix

virtual HCL_EuclideanVectorSpace_d& EucRange()
Returns a reference to the range of the matrix

Operations

virtual void Image( const HCL_Vector_d & xx, HCL_Vector_d & yy )
Computes the image of the matrix on xx, and stores the result in yy

virtual void AdjImage( const HCL_Vector_d & xx, HCL_Vector_d & yy )
Computes the adjoint image of the matrix on xx, and stores the result in yy

virtual void Add( int k, int l, double e )
Adds the matrix element (k,l) to the matrix and stores e in it

virtual void Zero()
Zeroes out all matrix elements

Input/Output

virtual void save( char * fname )
Saves to a file

virtual void save_struct( char * fname )
Saves to a file

virtual ostream& Write( ostream & str )
Prints 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