PIPS-NLP
Public Member Functions | List of all members
StochSymDummyMatrix Class Reference

#include <StochSymMatrix.h>

Inheritance diagram for StochSymDummyMatrix:
StochSymMatrix SymMatrix DoubleMatrix IotrRefCount

Public Member Functions

 StochSymDummyMatrix (int id_)
 
virtual ~StochSymDummyMatrix ()
 
virtual void AddChild (StochSymMatrix *child)
 
virtual int isKindOf (int type)
 
virtual void atPutDense (int row, int col, double *A, int lda, int rowExtent, int colExtent)
 
virtual void fromGetDense (int row, int col, double *A, int lda, int rowExtent, int colExtent)
 
virtual void symAtPutSpRow (int row, double A[], int lenA, int jcolA[], int &info)
 
virtual void fsymAtPutSpRow (int row, double A[], int lenA, int jcolA[], int &info)
 
virtual void getSize (long long &m, long long &n)
 
virtual void getSize (int &m, int &n)
 
virtual long long size ()
 
virtual void symAtPutSubmatrix (int destRow, int destCol, DoubleMatrix &M, int srcRow, int srcCol, int rowExtent, int colExtent)
 
virtual void fromGetSpRow (int row, int col, double A[], int lenA, int irowA[], int &nnz, int rowExtent, int &info)
 
virtual void atPutZeros (int row, int col, int rowExtent, int colExtent)
 
virtual void mult (double beta, OoqpVector &y, double alpha, OoqpVector &x)
 
virtual void transMult (double beta, OoqpVector &y, double alpha, OoqpVector &x)
 
virtual double abmaxnorm ()
 
virtual void writeToStream (std::ostream &out) const
 
virtual void randomizePSD (double *seed)
 
virtual void getDiagonal (OoqpVector &vec)
 
virtual void setToDiagonal (OoqpVector &vec)
 
virtual void atPutDiagonal (int idiag, OoqpVector &v)
 
virtual void fromGetDiagonal (int idiag, OoqpVector &x)
 
virtual void putSparseTriple (int irow[], int len, int jcol[], double A[], int &info)
 
virtual void SymmetricScale (OoqpVector &vec)
 
virtual void ColumnScale (OoqpVector &vec)
 
virtual void RowScale (OoqpVector &vec)
 
virtual void scalarMult (double num)
 
virtual void copyMtxFromDouble (int copyLength, double *values)
 
virtual void copyDiagonalVal_From (int idiag, OoqpVector &v, bool firstCall, std::map< int, int > &ValIdxMap)
 
virtual double * getMatVal ()
 
- Public Member Functions inherited from StochSymMatrix
 StochSymMatrix (int id, long long global_n, int local_n, int local_nnz, MPI_Comm mpiComm)
 
 StochSymMatrix (int id, long long global_n, int diag_n, int diag_nnz, int border_n, int border_nnz, MPI_Comm mpiComm_)
 
virtual ~StochSymMatrix ()
 
virtual void copyDiagonalVal_FromcopyDiagonalVal_From (int idiag, OoqpVector &v, bool firstCall, std::map< int, int > &ValIdxMap)
 
- Public Member Functions inherited from SymMatrix
virtual void symAtSetSubmatrix (int destRow, int destCol, DoubleMatrix &M, int srcRow, int srcCol, int rowExtent, int colExtent, bool firstCall, std::map< int, int > &ValIdxMap)
 
- Public Member Functions inherited from DoubleMatrix
 DoubleMatrix ()
 
virtual void fromAddDense (int row, int col, double *A, int lda, int rowExtent, int colExtent)
 
virtual ~DoubleMatrix ()
 
virtual void setAdditiveDiagonal (OoqpVector &additiveDiag_)
 
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 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)
 
- Public Attributes inherited from StochSymMatrix
std::vector< StochSymMatrix * > children
 
SparseSymMatrixdiag
 
SparseGenMatrixborder
 
int id
 
long long n
 
MPI_Comm mpiComm
 
int iAmDistrib
 
- Static Public Attributes inherited from IotrRefCount
static int instances = 0
 
- Protected Member Functions inherited from IotrRefCount
virtual ~IotrRefCount ()
 
- Protected Attributes inherited from StochSymMatrix
StochSymMatrixparent
 

Detailed Description

Dummy stochastic symmetric matrix

Constructor & Destructor Documentation

StochSymDummyMatrix::StochSymDummyMatrix ( int  id_)
inline
virtual StochSymDummyMatrix::~StochSymDummyMatrix ( )
inlinevirtual

Member Function Documentation

virtual double StochSymDummyMatrix::abmaxnorm ( )
inlinevirtual

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

parallel stuff needed

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::AddChild ( StochSymMatrix child)
inlinevirtual

Reimplemented from StochSymMatrix.

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

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::atPutDiagonal ( int  idiag,
OoqpVector x 
)
inlinevirtual

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.

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::atPutZeros ( int  row,
int  col,
int  rowExtent,
int  colExtent 
)
inlinevirtual

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::ColumnScale ( OoqpVector vec)
inlinevirtual

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::copyDiagonalVal_From ( int  idiag,
OoqpVector v,
bool  firstCall,
std::map< int, int > &  ValIdxMap 
)
inlinevirtual

Reimplemented from DoubleMatrix.

virtual void StochSymDummyMatrix::copyMtxFromDouble ( int  copyLength,
double *  values 
)
inlinevirtual

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::fromGetDense ( int  row,
int  col,
double *  A,
int  lda,
int  rowExtent,
int  colExtent 
)
inlinevirtual

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.

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::fromGetDiagonal ( int  idiag,
OoqpVector x 
)
inlinevirtual

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.

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::fromGetSpRow ( int  row,
int  col,
double  A[],
int  lenA,
int  jcolA[],
int &  nnz,
int  colExtent,
int &  info 
)
inlinevirtual

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.

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::fsymAtPutSpRow ( int  row,
double  A[],
int  lenA,
int  jcolA[],
int &  info 
)
inlinevirtual

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::getDiagonal ( OoqpVector vec)
inlinevirtual

Place the diagonal elements of this matrix in the vector vec

Reimplemented from StochSymMatrix.

virtual double* StochSymDummyMatrix::getMatVal ( )
inlinevirtual

Reimplemented from DoubleMatrix.

virtual void StochSymDummyMatrix::getSize ( long long &  m,
long long &  n 
)
inlinevirtual

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::getSize ( int &  m,
int &  n 
)
inlinevirtual

Reimplemented from StochSymMatrix.

int StochSymDummyMatrix::isKindOf ( int  matrixType)
virtual

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

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::mult ( double  beta,
OoqpVector y_,
double  alpha,
OoqpVector x_ 
)
inlinevirtual

y = beta * y + alpha * this * x

     [ Q0*x0+ sum(Ri^T*xi) ]
     [        .            ]

this * x =[ . ] [ . ] [ Ri*x0 + Qi*xi ]

Here Qi are diagonal blocks, Ri are left bordering blocks

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::putSparseTriple ( int  irow[],
int  len,
int  jcol[],
double  A[],
int &  info 
)
inlinevirtual

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.

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::randomizePSD ( double *  seed)
inlinevirtual

Randomize the elements of this matrix in a manner that makes the matrix positive semi-definite.

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::RowScale ( OoqpVector vec)
inlinevirtual

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::scalarMult ( double  num)
inlinevirtual

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::setToDiagonal ( OoqpVector vec)
inlinevirtual

Set the matrix to the diagoanl matrix whose diagonal is vec

Reimplemented from StochSymMatrix.

virtual long long StochSymDummyMatrix::size ( )
inlinevirtual

the size of this square matrix

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::symAtPutSpRow ( int  col,
double  A[],
int  lenA,
int  irowA[],
int &  info 
)
inlinevirtual

Put a sparse row into this matrix symmetrically.

Elements of the row that would lie above the diagonal are ignored. The matrix is symmetrized by reflection across the diagonal.

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

See also
DoubleMatrix::fromGetSpRow

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::symAtPutSubmatrix ( int  destRow,
int  destCol,
DoubleMatrix M,
int  srcRow,
int  srcCol,
int  rowExtent,
int  colExtent 
)
inlinevirtual

Put a submatrix of M into this matrix.

The submatrix is placed into this matrix in a manner that preserves the symmetry of this matrix. The element of M whose destination is in the lower triangle of this matrix are placed there without change, and the upper triangle is taken to be the reflection across the diagonal.

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.

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::SymmetricScale ( OoqpVector vec)
inlinevirtual

Get the number of rows and columns in the matrix

Parameters
mthe number of rows
nthe number of columns

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::transMult ( double  beta,
OoqpVector y_,
double  alpha,
OoqpVector x_ 
)
inlinevirtual

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

Reimplemented from StochSymMatrix.

virtual void StochSymDummyMatrix::writeToStream ( std::ostream &  out) const
inlinevirtual

Write this element to a C++ stream

Reimplemented from StochSymMatrix.


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