Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

DoubleMatrix Class Reference
[AbstractLinearAlgebra]

#include <DoubleMatrix.h>

Inheritance diagram for DoubleMatrix:

IotrRefCount GenMatrix SymMatrix DenseGenMatrix SparseGenMatrix DenseSymMatrix SparseSymMatrix List of all members.

Public Member Functions

virtual int isKindOf (int matrixType)=0
virtual void fromGetDense (int row, int col, double *A, int lda, int rowExtent, int colExtent)=0
virtual void fromGetSpRow (int row, int col, double A[], int lenA, int jcolA[], int &nnz, int colExtent, int &info)=0
virtual void putSparseTriple (int irow[], int len, int jcol[], double A[], int &info)=0
virtual void mult (double beta, OoqpVector &y, double alpha, OoqpVector &x)=0
virtual void transMult (double beta, OoqpVector &y, double alpha, OoqpVector &x)=0
virtual double abmaxnorm ()=0
virtual void writeToStream (ostream &out) const=0
virtual void getDiagonal (OoqpVector &vec)=0
virtual void setToDiagonal (OoqpVector &vec)=0
virtual void atPutDiagonal (int idiag, OoqpVector &x)=0
virtual void fromGetDiagonal (int idiag, OoqpVector &x)=0
virtual void SymmetricScale (OoqpVector &vec)=0
virtual void ColumnScale (OoqpVector &vec)=0
virtual void RowScale (OoqpVector &vec)=0
virtual void scalarMult (double num)=0
virtual void getSize (int &m, int &n)=0

Detailed Description

Parent of all matrix classes


Member Function Documentation

virtual double DoubleMatrix::abmaxnorm  )  [pure virtual]
 

the magnitude of the element in this matrix with largest absolute value.

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::atPutDiagonal int  idiag,
OoqpVector x
[pure virtual]
 

Set some of the diagonal elements of this matrix.

Parameters:
idiag the index of the first diagonal element to be modified.
x the new values for the diagonal elements.
The length of x is the number of diagonal elements to be modified. Typically x will have length less than the length of the diagonal.

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::fromGetDense int  row,
int  col,
double *  A,
int  lda,
int  rowExtent,
int  colExtent
[pure virtual]
 

Get the value of some of the elements of this matrix.

Parameters:
row start reading the elements of this matrix from row number "row".
col start reading the elements of this matrix from column number "col".
A Any array to hold the values from this matrix.
ldA the leading dimension of A.
rowExtent get rowExtent rows from this matrix.
colExtent get colExtent columns from this matrix.

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::fromGetDiagonal int  idiag,
OoqpVector x
[pure virtual]
 

Get some of the diagonal elements of this matrix.

Parameters:
idiag the index of the first diagonal element to be read.
x a vector to hold the diagonal elements
The length of x is the number of diagonal elements to be gotten. Typically x will have length less than the length of the diagonal.

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::fromGetSpRow int  row,
int  col,
double  A[],
int  lenA,
int  jcolA[],
int &  nnz,
int  colExtent,
int &  info
[pure virtual]
 

Get one sparse row from this matrix.

Parameters:
row get row number "row"
col ignore all elements of the row before column "col"
A store the values of the sparse row in A
lenA the length of A
jcolA an array of length lenA containing the column index of each element in the sparse row
colExtent ignore all elements of the row that have column indices greater than or equal to col + colExtent
info info is 0 if and only if the sparse row can fit into A.

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::getDiagonal OoqpVector vec  )  [pure virtual]
 

Place the diagonal elements of this matrix in the vector vec

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual int DoubleMatrix::isKindOf int  matrixType  )  [pure virtual]
 

True if this matrix identifies itself to be of type matrixType.

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::mult double  beta,
OoqpVector y,
double  alpha,
OoqpVector x
[pure virtual]
 

y = beta * y + alpha * this * x

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::putSparseTriple int  irow[],
int  len,
int  jcol[],
double  A[],
int &  info
[pure virtual]
 

Copy elements from sparse triple format into this matrix

Parameters:
len the number of elements
irow an array containing the row number of the elements
jcol an array containing the column number of the elements
A an array containing the values for the elements.
info on return, info will be zero if and only if the insertion was successful.

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::setToDiagonal OoqpVector vec  )  [pure virtual]
 

Set the matrix to the diagoanl matrix whose diagonal is vec

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::SymmetricScale OoqpVector vec  )  [pure virtual]
 

Get the number of rows and columns in the matrix

Parameters:
m the number of rows
n the number of columns

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::transMult double  beta,
OoqpVector y,
double  alpha,
OoqpVector x
[pure virtual]
 

y = beta * y + alpha * this^T * x

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::writeToStream ostream &  out  )  const [pure virtual]
 

Write this element to a C++ stream

Implemented in DenseGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.


The documentation for this class was generated from the following file:
Generated on Wed Mar 22 13:58:34 2006 for OOQP by doxygen 1.3.5