class HCL_SymMat_d : public HCL_Matrix_d

HCL_SymMat_d is the HCL object representing symetrical matrices

Inheritance:


Public Methods

virtual void AdjImage ( const HCL_Vector_d & xx, HCL_Vector_d & yy )
Computes the adjoint image of xx and stores in yy
void CholeskyAdjImage ( const HCL_RnVector_d & x, HCL_RnVector_d & y )
Applies the Cholesky factor R^T to x to get y = Rx
void CholeskyImage ( const HCL_RnVector_d & x, HCL_RnVector_d & y )
Applies the Cholesky factor R to x to get y = Rx
int Cols ()
Returns the number of columns
int ColsOpt ()
Optimized, non-virtual form of Cols()
double* Data ()
Returns a pointer to matrix data
virtual HCL_VectorSpace_d& Domain ()
Returns a reference to domain of matrix
HCL_VectorSpace_d& DomainOpt ()
Optimized, non-virtual form of Domain
double Eigenvalue ( int i )
Computes the eigenvalues of A without simultaneously computing eigenvectors
double& EntryOpt (int i, int j)
Optimized, non-virtual data access
double EntryOpt (int i, int j)
Optimized, non-virtual data access
virtual HCL_EuclideanVectorSpace_d& EucRange ()
Returns a reference to range of matrix
HCL_EuclideanVectorSpace_d& EucRangeOpt ()
Optimized, non-virtual form of EucRange
HCL_SymMat_d ( int n )
Constructs a HCL_SymMat_d with n rows and n columns
HCL_SymMat_d ( char * fname )
Constructs a HCL_SymMat_d from data in file fname
HCL_SymMat_d ( HCL_RnSpace_d * spptr )
Constructs a HCL_SymMat_d with a domain and range of spptr,which is a pointer to a HCL_RnSpace_d
HCL_SymMat_d ( const HCL_SymMat_d & D )
Constructs a HCL_SymMat_d from an existing HCL_SymMat_d
virtual void Image ( const HCL_Vector_d & xx, HCL_Vector_d & yy )
Computes the image of xx and stores in yy
HCL_RnVector_d* LINPACKSmallestSingularVectorEst ()
Computes the LINPACK estimate of the singular vector of R (the Cholesky factor of A) corresponding to the smallest singular vector
void LowerSolve ( const HCL_RnVector_d & b, HCL_RnVector_d & x )
Solve R^Tx = b, where A = R^TR is the Cholesky factorization of A
double OneNorm ()
Computes the one-norm of the matrix
double operator) ( int i, int j )
Returns the value of data at (i,j)
double& operator) ( int i, int j )
Returns a reference to the data at (i,j)
int PositiveDefinite ()
Try to compute the Cholesky factorization, and report whether A is positive definite
void Random ()
Fills matrix with random entries.
virtual HCL_VectorSpace_d& Range ()
Returns a reference to range of matrix
HCL_VectorSpace_d& RangeOpt ()
Optimized, non-virtual form of Range
int Rows ()
Returns the number of rows
int RowsOpt ()
Optimized, non-virtual form of Rows()
void SolvePositiveDefinite ( const HCL_RnVector_d & b, HCL_RnVector_d & x )
Solves Ax=b for x, in the case that A is positive definite
HCL_SymMat_d* SquareRoot ()
Creates the square root of A (if it exists).
void UpperSolve ( const HCL_RnVector_d & b, HCL_RnVector_d & x )
Solve Rx = b, where A = R^TR is the Cholesky factorization of A
virtual ostream& Write ( ostream & str )
Prints debugging information to screen
void Zero ()
Fills matrix elements with 0's

Inherited from HCL_Matrix_d:

Public

Constructors

HCL_Matrix_d()
Default Constructor
HCL_Matrix_d( const HCL_Matrix_d & M )
Copy Constructor

Data Access

virtual double operator) (int i, int j)
Returns the value of the entry (i,j)
virtual double& operator) (int i, int j)
Returns a reference to the entry (i,j)

Dimension Access

virtual int Rows()
Returns number of rows in the matrix
virtual int Cols()
Returns number of columns in the matrix

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:


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_SymMat_d is the HCL object representing symetrical matrices
HCL_SymMat_d( const HCL_SymMat_d & D )
Constructs a HCL_SymMat_d from an existing HCL_SymMat_d

HCL_SymMat_d( HCL_RnSpace_d * spptr )
Constructs a HCL_SymMat_d with a domain and range of spptr,which is a pointer to a HCL_RnSpace_d

HCL_SymMat_d( int n )
Constructs a HCL_SymMat_d with n rows and n columns

HCL_SymMat_d( char * fname )
Constructs a HCL_SymMat_d from data in file fname

int Rows()
Returns the number of rows

int Cols()
Returns the number of columns

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

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

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

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

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

HCL_VectorSpace_d& DomainOpt()
Optimized, non-virtual form of Domain

HCL_VectorSpace_d& RangeOpt()
Optimized, non-virtual form of Range

HCL_EuclideanVectorSpace_d& EucRangeOpt()
Optimized, non-virtual form of EucRange

double& operator)( int i, int j )
Returns a reference to the data at (i,j)

double operator)( int i, int j )
Returns the value of data at (i,j)

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

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

double* Data()
Returns a pointer to matrix data

void Zero()
Fills matrix elements with 0's

void Random()
Fills matrix with random entries.

double OneNorm()
Computes the one-norm of the matrix

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

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

int PositiveDefinite()
Try to compute the Cholesky factorization, and report whether A is positive definite

void LowerSolve( const HCL_RnVector_d & b, HCL_RnVector_d & x )
Solve R^Tx = b, where A = R^TR is the Cholesky factorization of A. The method PositiveDefinite() must be called first to verify that A is really positive definite (and to compute the Cholesky factorization).

void UpperSolve( const HCL_RnVector_d & b, HCL_RnVector_d & x )
Solve Rx = b, where A = R^TR is the Cholesky factorization of A. The method PositiveDefinite() must be called first to verify that A is really positive definite (and to compute the Cholesky factorization).

void SolvePositiveDefinite( const HCL_RnVector_d & b, HCL_RnVector_d & x )
Solves Ax=b for x, in the case that A is positive definite. This method simply combines LowerSolve() and UpperSolve(), and the method PositiveDefinite() must be called first.

void CholeskyImage( const HCL_RnVector_d & x, HCL_RnVector_d & y )
Applies the Cholesky factor R to x to get y = Rx. The method PositiveDefinite() must be called first.

void CholeskyAdjImage( const HCL_RnVector_d & x, HCL_RnVector_d & y )
Applies the Cholesky factor R^T to x to get y = Rx. The method PositiveDefinite() must be called first.

HCL_RnVector_d* LINPACKSmallestSingularVectorEst()
Computes the LINPACK estimate of the singular vector of R (the Cholesky factor of A) corresponding to the smallest singular vector. The method PositiveDefinite() must be called first to verify that A is positive definite.

double Eigenvalue( int i )
Computes the eigenvalues of A without simultaneously computing eigenvectors

HCL_SymMat_d* SquareRoot()
Creates the square root of A (if it exists).

virtual ostream& Write( ostream & str )
Prints debugging information to screen


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