PIPS-NLP
Public Member Functions | List of all members
GenMatrix Class Referenceabstract

#include <DoubleMatrix.h>

Inheritance diagram for GenMatrix:
DoubleMatrix IotrRefCount DenseGenMatrix PetscSpGenMatrix SparseGenMatrix StochGenMatrix SeqSparseGenMatrix StochGenDummyMatrix

Public Member Functions

virtual void atPutSubmatrix (int destRow, int destCol, DoubleMatrix &M, int srcRow, int srcCol, int rowExtent, int colExtent)=0
 
virtual void atPutDense (int row, int col, double *A, int lda, int rowExtent, int colExtent)=0
 
virtual void atPutSpRow (int col, double A[], int lenA, int jcolA[], int &info)=0
 
virtual void randomize (double alpha, double beta, double *seed)=0
 
virtual void matTransDMultMat (OoqpVector &d, SymMatrix **res)=0
 
virtual void matTransDinvMultMat (OoqpVector &d, SymMatrix **res)=0
 
- Public Member Functions inherited from DoubleMatrix
 DoubleMatrix ()
 
virtual int isKindOf (int matrixType)=0
 
virtual void fromGetDense (int row, int col, double *A, int lda, int rowExtent, int colExtent)=0
 
virtual void fromAddDense (int row, int col, double *A, int lda, int rowExtent, int colExtent)
 
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 (std::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 (long long &m, long long &n)=0
 
virtual void getSize (int &m, int &n)=0
 
virtual ~DoubleMatrix ()
 
virtual void copyMtxFromDouble (int copyLength, double *values)
 
virtual void setAdditiveDiagonal (OoqpVector &additiveDiag_)
 
virtual void copyDiagonalVal_From (int idiag, OoqpVector &x, bool firstCall, std::map< int, int > &ValIdxMap)
 
virtual void fromGetSpRow_WithRowStart (int row, int col, double A[], int lenA, int jcolA[], int &nnz, int colExtent, int &info, int &rowStart)
 
virtual void fromGetDense_withMap (int row, int col, double *A, int lda, int rowExtent, int colExtent, int const FirstCall, std::map< int, int > &ValIdxMap)
 
virtual double * getMatVal ()
 
virtual int * krowM ()
 
virtual int * jcolM ()
 
virtual double * M ()
 
- Public Member Functions inherited from IotrRefCount
int refs ()
 
 IotrRefCount ()
 

Additional Inherited Members

- Static Public Member Functions inherited from IotrRefCount
static void release (IotrRefCount **obj)
 
static void addRef (IotrRefCount *const *obj)
 
- Static Public Attributes inherited from IotrRefCount
static int instances = 0
 
- Protected Member Functions inherited from IotrRefCount
virtual ~IotrRefCount ()
 

Detailed Description

Parent of all non-symmetric, possibly non-square, matrices.

Member Function Documentation

virtual void GenMatrix::atPutDense ( int  row,
int  col,
double *  A,
int  lda,
int  rowExtent,
int  colExtent 
)
pure virtual

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

See also
DoubleMatrix::fromGetDense

Implemented in StochGenDummyMatrix, StochGenMatrix, SeqSparseGenMatrix, SparseGenMatrix, DenseGenMatrix, and PetscSpGenMatrix.

virtual void GenMatrix::atPutSpRow ( int  col,
double  A[],
int  lenA,
int  jcolA[],
int &  info 
)
pure virtual

Put a sparse row into this matrix.

The meaning of the parmameters is the same as in fromGetSpRow.

See also
DoubleMatrix::fromGetSpRow

Implemented in StochGenDummyMatrix, StochGenMatrix, SeqSparseGenMatrix, SparseGenMatrix, DenseGenMatrix, and PetscSpGenMatrix.

virtual void GenMatrix::atPutSubmatrix ( int  destRow,
int  destCol,
DoubleMatrix M,
int  srcRow,
int  srcCol,
int  rowExtent,
int  colExtent 
)
pure virtual

Put a submatrix of M into this matrix.

Parameters
destRowThe top row of the submatrix of M is placed at destRow.
destColThe leftmost column of the submatrix of M is placed at destCol.
srcRowThe first row of the submatrix of M is srcRow.
srcColThe first column of the submatrix of M is srcCol.
rowExtentrowExtent rows are copied from M.
colExtentcolExtent columns are copied from M.

Implemented in StochGenDummyMatrix, StochGenMatrix, SeqSparseGenMatrix, SparseGenMatrix, DenseGenMatrix, and PetscSpGenMatrix.

virtual void GenMatrix::matTransDinvMultMat ( OoqpVector d,
SymMatrix **  res 
)
pure virtual

C = this^T * inv(D) * this where D=diag(d) is a diagonal matrix.

Implemented in StochGenMatrix, SeqSparseGenMatrix, SparseGenMatrix, and DenseGenMatrix.

virtual void GenMatrix::matTransDMultMat ( OoqpVector d,
SymMatrix **  res 
)
pure virtual

C = this^T * D * this where D=diag(d) is a diagonal matrix.

Implemented in StochGenMatrix, SeqSparseGenMatrix, SparseGenMatrix, and DenseGenMatrix.

virtual void GenMatrix::randomize ( double  alpha,
double  beta,
double *  seed 
)
pure virtual

Fill this matrix with random elements.

Parameters
alphathe elements will be no smaller than alpha.
betathe elements will be no larger than beta.
seeda arbitrary number used to seed the random number generator.

Implemented in StochGenDummyMatrix, SeqSparseGenMatrix, StochGenMatrix, SparseGenMatrix, DenseGenMatrix, and PetscSpGenMatrix.


The documentation for this class was generated from the following file: