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

#include <DoubleMatrix.h>

Inheritance diagram for DoubleMatrix:
IotrRefCount GenMatrix SymMatrix DenseGenMatrix PetscSpGenMatrix SparseGenMatrix StochGenMatrix DenseSymMatrix PetscSpSymMatrix SparseSymMatrix StochSymMatrix

Public Member Functions

 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 matrix classes

Constructor & Destructor Documentation

DoubleMatrix::DoubleMatrix ( )
inline
virtual DoubleMatrix::~DoubleMatrix ( )
inlinevirtual

Member Function Documentation

virtual double DoubleMatrix::abmaxnorm ( )
pure virtual
virtual void DoubleMatrix::atPutDiagonal ( int  idiag,
OoqpVector x 
)
pure virtual

Set some of the diagonal elements of this matrix.

Parameters
idiagthe index of the first diagonal element to be modified.
xthe 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 StochGenDummyMatrix, StochSymDummyMatrix, SeqSparseGenMatrix, StochGenMatrix, SparseGenMatrix, DenseSymMatrix, StochSymMatrix, DenseGenMatrix, SparseSymMatrix, PetscSpSymMatrix, and PetscSpGenMatrix.

virtual void DoubleMatrix::ColumnScale ( OoqpVector vec)
pure virtual
virtual void DoubleMatrix::copyDiagonalVal_From ( int  idiag,
OoqpVector x,
bool  firstCall,
std::map< int, int > &  ValIdxMap 
)
inlinevirtual

Reimplemented in StochSymDummyMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::copyMtxFromDouble ( int  copyLength,
double *  values 
)
inlinevirtual
virtual void DoubleMatrix::fromAddDense ( int  row,
int  col,
double *  A,
int  lda,
int  rowExtent,
int  colExtent 
)
inlinevirtual

Reimplemented in SparseGenMatrix.

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
rowstart reading the elements of this matrix from row number "row".
colstart reading the elements of this matrix from column number "col".
AAny array to hold the values from this matrix.
ldAthe leading dimension of A.
rowExtentget rowExtent rows from this matrix.
colExtentget colExtent columns from this matrix.

Implemented in StochGenDummyMatrix, StochSymDummyMatrix, StochGenMatrix, SeqSparseGenMatrix, DenseGenMatrix, StochSymMatrix, SparseGenMatrix, DenseSymMatrix, SparseSymMatrix, PetscSpGenMatrix, and PetscSpSymMatrix.

virtual void DoubleMatrix::fromGetDense_withMap ( int  row,
int  col,
double *  A,
int  lda,
int  rowExtent,
int  colExtent,
int const  FirstCall,
std::map< int, int > &  ValIdxMap 
)
inlinevirtual
virtual void DoubleMatrix::fromGetDiagonal ( int  idiag,
OoqpVector x 
)
pure virtual

Get some of the diagonal elements of this matrix.

Parameters
idiagthe index of the first diagonal element to be read.
xa 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 StochGenDummyMatrix, StochSymDummyMatrix, SeqSparseGenMatrix, StochGenMatrix, SparseGenMatrix, DenseSymMatrix, StochSymMatrix, DenseGenMatrix, SparseSymMatrix, PetscSpSymMatrix, and PetscSpGenMatrix.

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
rowget row number "row"
colignore all elements of the row before column "col"
Astore the values of the sparse row in A
lenAthe length of A
jcolAan array of length lenA containing the column index of each element in the sparse row
colExtentignore all elements of the row that have column indices greater than or equal to col + colExtent
infoinfo is 0 if and only if the sparse row can fit into A.

Implemented in StochGenDummyMatrix, StochSymDummyMatrix, StochGenMatrix, SeqSparseGenMatrix, DenseGenMatrix, StochSymMatrix, SparseGenMatrix, DenseSymMatrix, PetscSpSymMatrix, SparseSymMatrix, and PetscSpGenMatrix.

virtual void DoubleMatrix::fromGetSpRow_WithRowStart ( int  row,
int  col,
double  A[],
int  lenA,
int  jcolA[],
int &  nnz,
int  colExtent,
int &  info,
int &  rowStart 
)
inlinevirtual
virtual void DoubleMatrix::getDiagonal ( OoqpVector vec)
pure virtual
virtual double* DoubleMatrix::getMatVal ( )
inlinevirtual
virtual void DoubleMatrix::getSize ( long long &  m,
long long &  n 
)
pure virtual
virtual void DoubleMatrix::getSize ( int &  m,
int &  n 
)
pure virtual
virtual int DoubleMatrix::isKindOf ( int  matrixType)
pure virtual
virtual int* DoubleMatrix::jcolM ( )
inlinevirtual
virtual int* DoubleMatrix::krowM ( )
inlinevirtual
virtual double* DoubleMatrix::M ( )
inlinevirtual
virtual void DoubleMatrix::mult ( double  beta,
OoqpVector y,
double  alpha,
OoqpVector x 
)
pure virtual
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
lenthe number of elements
irowan array containing the row number of the elements
jcolan array containing the column number of the elements
Aan array containing the values for the elements.
infoon return, info will be zero if and only if the insertion was successful.

Implemented in StochGenDummyMatrix, StochSymDummyMatrix, StochGenMatrix, StochSymMatrix, SeqSparseGenMatrix, DenseSymMatrix, PetscSpSymMatrix, SparseGenMatrix, PetscSpGenMatrix, DenseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::RowScale ( OoqpVector vec)
pure virtual
virtual void DoubleMatrix::scalarMult ( double  num)
pure virtual
virtual void DoubleMatrix::setAdditiveDiagonal ( OoqpVector additiveDiag_)
inlinevirtual
virtual void DoubleMatrix::setToDiagonal ( OoqpVector vec)
pure virtual
virtual void DoubleMatrix::SymmetricScale ( OoqpVector vec)
pure virtual

Get the number of rows and columns in the matrix

Parameters
mthe number of rows
nthe number of columns

Implemented in StochGenDummyMatrix, StochSymDummyMatrix, StochSymMatrix, StochGenMatrix, DenseGenMatrix, SeqSparseGenMatrix, PetscSpSymMatrix, PetscSpGenMatrix, DenseSymMatrix, SparseGenMatrix, and SparseSymMatrix.

virtual void DoubleMatrix::transMult ( double  beta,
OoqpVector y,
double  alpha,
OoqpVector x 
)
pure virtual
virtual void DoubleMatrix::writeToStream ( std::ostream &  out) const
pure virtual

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