class HCL_BandedMatInv_d : public HCL_LinearOpAdjInv_d

HCL_BandedMatInv_d is the HCL object representing banded matrices

Inheritance:


Public Methods

virtual ostream& Write ( ostream & str)
Prints out debugging information

Public

Constructors
HCL_BandedMatInv_d ()
Default constructor
HCL_BandedMatInv_d (const HCL_BandedMatInv_d &)
Copy constructor
HCL_BandedMatInv_d (const HCL_Matrix_d &)
Constructs a banded matrix from any other sparse or dense matrix
HCL_BandedMatInv_d (HCL_RnSpace_d * d, int DiagLeft, int DiagRight )
Builds a matrix with domain and range d, and specified diagonals.
HCL_BandedMatInv_d (int n, int DiagLeft, int DiagRight )
Builds matrix with n rows, n columns, and specified diagonals.
HCL_BandedMatInv_d ( char * fname )
Initializes matrix from file
Data Access
virtual double operator) (int i, int j)
Returns element i,j of matrix
virtual double& operator) (int i, int j)
Returns reference to element i,j of matrix
double EntryOpt (int i, int j)
Optimized Data Access. Non-virtual form of operator(),can be inlined
double& EntryOpt (int i, int j)
Optimized Data Access. Non-virtual form of operator(),can be inlined
int CheckIndices (int i, int j)
Returns 0 if indices are not valid, -1 otherwise
void AddIndices (int i, int j)
Adds the index i, j to the sparse matrix..
Data information
double* DataPtr ()
Returns a pointer to compressed matrix data
Destructor
virtual ~HCL_BandedMatInv_d ()
Deletes a HCL_BandedMatInv_d Object
Domain and Range Information
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)
Stores the image of matrix on xx in yy
virtual void InvImage (const HCL_Vector_d & y, HCL_Vector_d & x)
InvImage computes the action of the inverse on y, giving x.
virtual void AdjImage (const HCL_Vector_d & xx, HCL_Vector_d &yy)
Stores the adjoint image of matrix on xx in yy
virtual void InvAdjImage (const HCL_Vector_d & y, HCL_Vector_d & x)
InvAdjImage computes the action of the inverse on y, giving x.
Row and Column Information
virtual int Rows ()
Returns number of rows in matrix
virtual int Cols ()
Returns number of columns in matrix
int RowsOpt ()
Optimized, non-virtual form of Rows()
int ColsOpt ()
Optimized, non-virtual form of Cols()

Protected Fields

double* Data
A pointer to the compressed matrix data
int DiagLeft
The number of diagonals to the left of the main diagonal
int DiagRight
The number of diagonals to the right of the main diagonal
double* InvData
A pointer to the factored matrix (NULL if not yet factored).
int n
Domain and Range spaces of the operator
int ndat
Data length
int numdiags
The number of diagonals

Inherited from HCL_LinearOpAdjInv_d:

Public Methods

virtual void AdjImage(const HCL_Vector_d & y, HCL_Vector_d & x)
virtual HCL_VectorSpace_d& Domain()
virtual void Image(const HCL_Vector_d & x, HCL_Vector_d & y)
virtual void InvAdjImage(const HCL_Vector_d & x, HCL_Vector_d & y)
virtual void InvImage(const HCL_Vector_d & y, HCL_Vector_d & x)
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_BandedMatInv_d is the HCL object representing banded matrices. The storage format is that used by LAPACK; see the "LAPACK User's Guide" (2nd edition) by Anderson, Bai, et al. (SIAM, 1994).
int n
Domain and Range spaces of the operator

int DiagLeft
The number of diagonals to the left of the main diagonal

int DiagRight
The number of diagonals to the right of the main diagonal

int numdiags
The number of diagonals

int ndat
Data length

double* Data
A pointer to the compressed matrix data

double* InvData
A pointer to the factored matrix (NULL if not yet factored).

Constructors

HCL_BandedMatInv_d()
Default constructor

HCL_BandedMatInv_d(const HCL_BandedMatInv_d &)
Copy constructor

HCL_BandedMatInv_d(const HCL_Matrix_d &)
Constructs a banded matrix from any other sparse or dense matrix

HCL_BandedMatInv_d(HCL_RnSpace_d * d, int DiagLeft, int DiagRight )
Builds a matrix with domain and range d, and specified diagonals.

HCL_BandedMatInv_d(int n, int DiagLeft, int DiagRight )
Builds matrix with n rows, n columns, and specified diagonals.

HCL_BandedMatInv_d( char * fname )
Initializes matrix from file. The format for the file is: rows, columns, subdiagonals, superdiagonals, and the entries from the matrix. The entries are given in the LAPACK format for banded matrices, in which an m x n matrix A with dl subdiagonals and dr superdiagonals is compressed into a (dl+dr+1) x n matrix V. A(i,j) is stored in V(dr+1+i-j,j). This matrix V must be given by columns (entries of V not corresponding to entries of A must be included but are not referenced. They can be set to zero.)

Destructor

virtual ~HCL_BandedMatInv_d()
Deletes a HCL_BandedMatInv_d Object

Domain and Range Information

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

Row and Column Information

virtual int Rows()
Returns number of rows in matrix

virtual int Cols()
Returns number of columns in matrix

int RowsOpt()
Optimized, non-virtual form of Rows()

int ColsOpt()
Optimized, non-virtual form of Cols()

Data information

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

Operations

virtual void Image(const HCL_Vector_d & xx, HCL_Vector_d & yy)
Stores the image of matrix on xx in yy

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

virtual void AdjImage(const HCL_Vector_d & xx, HCL_Vector_d &yy)
Stores the adjoint image of matrix on xx in yy

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

Data Access

virtual double operator) (int i, int j)
Returns element i,j of matrix

virtual double& operator) (int i, int j)
Returns reference to element i,j of matrix

double EntryOpt(int i, int j)
Optimized Data Access. Non-virtual form of operator(),can be inlined

double& EntryOpt(int i, int j)
Optimized Data Access. Non-virtual form of operator(),can be inlined

int CheckIndices(int i, int j)
Returns 0 if indices are not valid, -1 otherwise

void AddIndices(int i, int j)
Adds the index i, j to the sparse matrix..

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