- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# /home/coin/SVN-release/Osi-0.98.1/Clp/src/ClpDummyMatrix.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2003, International Business Machines
    00002 // Corporation and others.  All Rights Reserved.
    00003 #ifndef ClpDummyMatrix_H
    00004 #define ClpDummyMatrix_H
    00005
    00006
    00007 #include "CoinPragma.hpp"
    00008
    00009 #include "ClpMatrixBase.hpp"
    00010
    00017 class ClpDummyMatrix : public ClpMatrixBase {
    00018
    00019 public:
    00022
    00023    virtual CoinPackedMatrix * getPackedMatrix() const;
    00025    virtual bool isColOrdered() const { return true; }
    00027   virtual  CoinBigIndex getNumElements() const
    00028   { return numberElements_; }
    00030    virtual int getNumCols() const { return numberColumns_; }
    00032   virtual int getNumRows() const { return numberRows_; }
    00033
    00038   virtual const double * getElements() const;
    00044   virtual const int * getIndices() const;
    00045
    00046   virtual const CoinBigIndex * getVectorStarts() const;
    00048   virtual const int * getVectorLengths() const;
    00049
    00051   virtual void deleteCols(const int numDel, const int * indDel);
    00053   virtual void deleteRows(const int numDel, const int * indDel);
    00055   virtual ClpMatrixBase * reverseOrderedCopy() const;
    00057   virtual CoinBigIndex countBasis(ClpSimplex * model,
    00058                                  const int * whichColumn,
    00059                                  int numberRowBasic,
    00060                                   int & numberColumnBasic);
    00062   virtual void fillBasis(ClpSimplex * model,
    00063                                  const int * whichColumn,
    00064                                  int & numberColumnBasic,
    00065                                  int * row, int * start,
    00066                                  int * rowCount, int * columnCount,
    00067                                  double * element);
    00070   virtual void unpack(const ClpSimplex * model,CoinIndexedVector * rowArray,
    00071                    int column) const ;
    00076   virtual void unpackPacked(ClpSimplex * model,
    00077                             CoinIndexedVector * rowArray,
    00078                             int column) const;
    00081   virtual void add(const ClpSimplex * model,CoinIndexedVector * rowArray,
    00082                    int column, double multiplier) const ;
    00084   virtual void add(const ClpSimplex * model,double * array,
    00085                    int column, double multiplier) const;
    00088    virtual void releasePackedMatrix() const {}
    00090
    00096   virtual void times(double scalar,
    00097                        const double * x, double * y) const;
    00099   virtual void times(double scalar,
    00100                      const double * x, double * y,
    00101                      const double * rowScale,
    00102                      const double * columnScale) const;
    00106     virtual void transposeTimes(double scalar,
    00107                                 const double * x, double * y) const;
    00109     virtual void transposeTimes(double scalar,
    00110                                 const double * x, double * y,
    00111                                 const double * rowScale,
    00112                                 const double * columnScale) const;
    00113
    00114   using ClpMatrixBase::transposeTimes ;
    00118   virtual void transposeTimes(const ClpSimplex * model, double scalar,
    00119                               const CoinIndexedVector * x,
    00120                               CoinIndexedVector * y,
    00121                               CoinIndexedVector * z) const;
    00126   virtual void subsetTransposeTimes(const ClpSimplex * model,
    00127                                     const CoinIndexedVector * x,
    00128                                     const CoinIndexedVector * y,
    00129                                     CoinIndexedVector * z) const;
    00131
    00134
    00135
    00136
    00140    ClpDummyMatrix();
    00142   ClpDummyMatrix(int numberColumns, int numberRows,
    00143                    int numberElements);
    00145    virtual ~ClpDummyMatrix();
    00147
    00151    ClpDummyMatrix(const ClpDummyMatrix&);
    00153    ClpDummyMatrix(const CoinPackedMatrix&);
    00154
    00155    ClpDummyMatrix& operator=(const ClpDummyMatrix&);
    00157   virtual ClpMatrixBase * clone() const ;
    00159
    00160
    00161 protected:
    00165
    00166   int numberRows_;
    00168   int numberColumns_;
    00170   int numberElements_;
    00171
    00173 };
    00174
    00175 #endif