Go to the documentation of this file.
6 #ifndef ClpDummyMatrix_H
7 #define ClpDummyMatrix_H
10 #include "CoinPragma.hpp"
61 virtual void deleteCols(
const int numDel,
const int * indDel);
63 virtual void deleteRows(
const int numDel,
const int * indDel);
68 int & numberColumnBasic);
71 const int * whichColumn,
72 int & numberColumnBasic,
73 int * row,
int * start,
74 int * rowCount,
int * columnCount,
75 CoinFactorizationDouble * element);
85 CoinIndexedVector * rowArray,
89 virtual void add(
const ClpSimplex * model, CoinIndexedVector * rowArray,
90 int column,
double multiplier)
const ;
93 int column,
double multiplier)
const;
105 const double * x,
double * y)
const;
108 const double * x,
double * y,
109 const double * rowScale,
110 const double * columnScale)
const;
115 const double * x,
double * y)
const;
118 const double * x,
double * y,
119 const double * rowScale,
120 const double * columnScale)
const;
127 const CoinIndexedVector * x,
128 CoinIndexedVector * y,
129 CoinIndexedVector * z)
const;
135 const CoinIndexedVector * x,
136 const CoinIndexedVector * y,
137 CoinIndexedVector * z)
const;
This solves LPs using the simplex method.
ClpDummyMatrix & operator=(const ClpDummyMatrix &)
virtual void times(double scalar, const double *x, double *y) const
Return y + A * scalar *x in y.
virtual void deleteCols(const int numDel, const int *indDel)
Delete the columns whose indices are listed in indDel.
ClpDummyMatrix(const ClpDummyMatrix &)
The copy constructor.
virtual void times(double scalar, const double *x, double *y, const double *rowScale, const double *columnScale) const
And for scaling.
int numberElements_
Number of elements.
virtual void transposeTimes(double scalar, const double *x, double *y) const
Return y + x * scalar * A in y.
virtual const int * getIndices() const
A vector containing the minor indices of the elements in the packed matrix.
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 bool isColOrdered() const
Whether the packed matrix is column major ordered or not.
virtual int getNumRows() const
Number of rows.
virtual void deleteRows(const int numDel, const int *indDel)
Delete the rows whose indices are listed in indDel.
virtual void transposeTimes(const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const
Return x * scalar * A + y in z.
virtual CoinBigIndex countBasis(const int *whichColumn, int &numberColumnBasic)
Returns number of elements in column part of basis.
virtual void releasePackedMatrix() const
Allow any parts of a created CoinMatrix to be deleted Allow any parts of a created CoinPackedMatrix t...
virtual int getNumCols() const
Number of columns.
ClpDummyMatrix(int numberColumns, int numberRows, int numberElements)
Constructor with data.
virtual ClpMatrixBase * clone() const
Clone.
virtual const CoinBigIndex * getVectorStarts() const
virtual ClpMatrixBase * reverseOrderedCopy() const
Returns a new matrix in reverse order without gaps.
Abstract base class for Clp Matrices.
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.
virtual void transposeTimes(double scalar, const double *COIN_RESTRICT x, double *COIN_RESTRICT y) const =0
Return y + x * scalar * A in y.
virtual const int * getVectorLengths() const
The lengths of the major-dimension vectors.
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.
virtual void unpack(const ClpSimplex *model, CoinIndexedVector *rowArray, int column) const
Unpacks a column into an CoinIndexedvector.
virtual void add(const ClpSimplex *model, double *array, int column, double multiplier) const
Adds multiple of a column into an array.
virtual CoinPackedMatrix * getPackedMatrix() const
Return a complete CoinPackedMatrix.
int numberColumns_
Number of columns.
int numberRows_
Number of rows.
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 ~ClpDummyMatrix()
Destructor.
virtual void transposeTimes(double scalar, const double *x, double *y, const double *rowScale, const double *columnScale) const
And for scaling.
virtual const double * getElements() const
A vector containing the elements in the packed matrix.
This implements a dummy matrix as derived from ClpMatrixBase.
ClpDummyMatrix()
Default constructor.
virtual CoinBigIndex getNumElements() const
Number of entries in the packed matrix.
ClpDummyMatrix(const CoinPackedMatrix &)
The copy constructor from an CoinDummyMatrix.