6 #ifndef ClpDummyMatrix_H 7 #define ClpDummyMatrix_H 63 virtual void deleteCols(
const int numDel,
const int *indDel);
65 virtual void deleteRows(
const int numDel,
const int *indDel);
70 int &numberColumnBasic);
73 const int *whichColumn,
74 int &numberColumnBasic,
76 int *rowCount,
int *columnCount,
92 int column,
double multiplier)
const;
95 int column,
double multiplier)
const;
106 virtual void times(
double scalar,
107 const double *x,
double *y)
const;
109 virtual void times(
double scalar,
110 const double *x,
double *y,
111 const double *rowScale,
112 const double *columnScale)
const;
117 const double *x,
double *y)
const;
120 const double *x,
double *y,
121 const double *rowScale,
122 const double *columnScale)
const;
This implements a dummy matrix as derived from ClpMatrixBase.
virtual int countBasis(const int *whichColumn, int &numberColumnBasic)
Returns number of elements in column part of basis.
virtual int getNumCols() const
Number of columns.
virtual ClpMatrixBase * reverseOrderedCopy() const
Returns a new matrix in reverse order without gaps.
virtual void unpackPacked(ClpSimplex *model, CoinIndexedVector *rowArray, int column) const
Unpacks a column into an CoinIndexedvector in packed foramt Note that model is NOT const.
virtual int getNumRows() const
Number of rows.
Abstract base class for Clp Matrices.
virtual const int * getIndices() const
A vector containing the minor indices of the elements in the packed matrix.
virtual void transposeTimes(double scalar, const double *x, double *y) const
Return y + x * scalar * A in y.
virtual CoinPackedMatrix * getPackedMatrix() const
Return a complete CoinPackedMatrix.
virtual ~ClpDummyMatrix()
Destructor.
virtual ClpMatrixBase * clone() const
Clone.
int numberColumns_
Number of columns.
virtual const int * getVectorLengths() const
The lengths of the major-dimension vectors.
virtual void transposeTimes(double scalar, const double *COIN_RESTRICT x, double *COIN_RESTRICT y) const =0
Return y + x * scalar * A in y.
ClpDummyMatrix & operator=(const ClpDummyMatrix &)
virtual void times(double scalar, const double *x, double *y) const
Return y + A * scalar *x in y.
virtual void fillBasis(ClpSimplex *model, const int *whichColumn, int &numberColumnBasic, int *row, int *start, int *rowCount, int *columnCount, CoinFactorizationDouble *element)
Fills in column part of basis.
virtual void deleteRows(const int numDel, const int *indDel)
Delete the rows whose indices are listed in indDel.
int numberElements_
Number of elements.
double CoinFactorizationDouble
This solves LPs using the simplex method.
virtual void subsetTransposeTimes(const ClpSimplex *model, const CoinIndexedVector *x, const CoinIndexedVector *y, CoinIndexedVector *z) const
Return x *A in z but just for indices in y.
ClpDummyMatrix()
Default constructor.
virtual bool isColOrdered() const
Whether the packed matrix is column major ordered or not.
virtual void releasePackedMatrix() const
Allow any parts of a created CoinMatrix to be deleted Allow any parts of a created CoinPackedMatrix t...
virtual CoinBigIndex getNumElements() const
Number of entries in the packed matrix.
virtual const double * getElements() const
A vector containing the elements in the packed matrix.
virtual void unpack(const ClpSimplex *model, CoinIndexedVector *rowArray, int column) const
Unpacks a column into an CoinIndexedvector.
virtual void add(const ClpSimplex *model, CoinIndexedVector *rowArray, int column, double multiplier) const
Adds multiple of a column into an CoinIndexedvector You can use quickAdd to add to vector.
int numberRows_
Number of rows.
virtual const CoinBigIndex * getVectorStarts() const
virtual void deleteCols(const int numDel, const int *indDel)
Delete the columns whose indices are listed in indDel.