# ClpDummyMatrix.hpp

Go to the documentation of this file.

    00001 /* $Id: ClpDummyMatrix.hpp 1665 2011-01-04 17:55:54Z lou $ */
    00002 // Copyright (C) 2003, International Business Machines
    00003 // Corporation and others.  All Rights Reserved.
    00004 // This code is licensed under the terms of the Eclipse Public License (EPL).
    00005
    00006 #ifndef ClpDummyMatrix_H
    00007 #define ClpDummyMatrix_H
    00008
    00009
    00010 #include "CoinPragma.hpp"
    00011
    00012 #include "ClpMatrixBase.hpp"
    00013
    00020 class ClpDummyMatrix : public ClpMatrixBase {
    00021
    00022 public:
    00025
    00026      virtual CoinPackedMatrix * getPackedMatrix() const;
    00028      virtual bool isColOrdered() const {
    00029           return true;
    00030      }
    00032      virtual  CoinBigIndex getNumElements() const {
    00033           return numberElements_;
    00034      }
    00036      virtual int getNumCols() const {
    00037           return numberColumns_;
    00038      }
    00040      virtual int getNumRows() const {
    00041           return numberRows_;
    00042      }
    00043
    00048      virtual const double * getElements() const;
    00054      virtual const int * getIndices() const;
    00055
    00056      virtual const CoinBigIndex * getVectorStarts() const;
    00058      virtual const int * getVectorLengths() const;
    00059
    00061      virtual void deleteCols(const int numDel, const int * indDel);
    00063      virtual void deleteRows(const int numDel, const int * indDel);
    00065      virtual ClpMatrixBase * reverseOrderedCopy() const;
    00067      virtual CoinBigIndex countBasis(const int * whichColumn,
    00068                                      int & numberColumnBasic);
    00070      virtual void fillBasis(ClpSimplex * model,
    00071                             const int * whichColumn,
    00072                             int & numberColumnBasic,
    00073                             int * row, int * start,
    00074                             int * rowCount, int * columnCount,
    00075                             CoinFactorizationDouble * element);
    00078      virtual void unpack(const ClpSimplex * model, CoinIndexedVector * rowArray,
    00079                          int column) const ;
    00084      virtual void unpackPacked(ClpSimplex * model,
    00085                                CoinIndexedVector * rowArray,
    00086                                int column) const;
    00089      virtual void add(const ClpSimplex * model, CoinIndexedVector * rowArray,
    00090                       int column, double multiplier) const ;
    00092      virtual void add(const ClpSimplex * model, double * array,
    00093                       int column, double multiplier) const;
    00096      virtual void releasePackedMatrix() const {}
    00098
    00104      virtual void times(double scalar,
    00105                         const double * x, double * y) const;
    00107      virtual void times(double scalar,
    00108                         const double * x, double * y,
    00109                         const double * rowScale,
    00110                         const double * columnScale) const;
    00114      virtual void transposeTimes(double scalar,
    00115                                  const double * x, double * y) const;
    00117      virtual void transposeTimes(double scalar,
    00118                                  const double * x, double * y,
    00119                                  const double * rowScale,
    00120                                  const double * columnScale) const;
    00121
    00122      using ClpMatrixBase::transposeTimes ;
    00126      virtual void transposeTimes(const ClpSimplex * model, double scalar,
    00127                                  const CoinIndexedVector * x,
    00128                                  CoinIndexedVector * y,
    00129                                  CoinIndexedVector * z) const;
    00134      virtual void subsetTransposeTimes(const ClpSimplex * model,
    00135                                        const CoinIndexedVector * x,
    00136                                        const CoinIndexedVector * y,
    00137                                        CoinIndexedVector * z) const;
    00139
    00142
    00143
    00144
    00148      ClpDummyMatrix();
    00150      ClpDummyMatrix(int numberColumns, int numberRows,
    00151                     int numberElements);
    00153      virtual ~ClpDummyMatrix();
    00155
    00159      ClpDummyMatrix(const ClpDummyMatrix&);
    00161      ClpDummyMatrix(const CoinPackedMatrix&);
    00162
    00163      ClpDummyMatrix& operator=(const ClpDummyMatrix&);
    00165      virtual ClpMatrixBase * clone() const ;
    00167
    00168
    00169 protected:
    00173
    00174      int numberRows_;
    00176      int numberColumns_;
    00178      int numberElements_;
    00179
    00181 };
    00182
    00183 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines