/home/coin/SVN-release/CoinAll-1.1.0/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

Generated on Sun Nov 14 14:06:31 2010 for Coin-All by  doxygen 1.4.7