Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

/files2/home/rwaltz/Software/COIN/Clp/include/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;
00058   virtual CoinBigIndex fillBasis(ClpSimplex * model,
00059                                  const int * whichColumn, 
00060                                  int numberRowBasic,
00061                                  int & numberColumnBasic,
00062                                  int * row, int * column,
00063                                  double * element)  ;
00066   virtual void unpack(const ClpSimplex * model,CoinIndexedVector * rowArray,
00067                    int column) const ;
00072   virtual void unpackPacked(ClpSimplex * model,
00073                             CoinIndexedVector * rowArray,
00074                             int column) const;
00077   virtual void add(const ClpSimplex * model,CoinIndexedVector * rowArray,
00078                    int column, double multiplier) const ;
00080   virtual void add(const ClpSimplex * model,double * array,
00081                    int column, double multiplier) const;
00084    virtual void releasePackedMatrix() const {};
00086 
00092   virtual void times(double scalar,
00093                        const double * x, double * y) const;
00095   virtual void times(double scalar,
00096                      const double * x, double * y,
00097                      const double * rowScale, 
00098                      const double * columnScale) const;
00102     virtual void transposeTimes(double scalar,
00103                                 const double * x, double * y) const;
00105     virtual void transposeTimes(double scalar,
00106                                 const double * x, double * y,
00107                                 const double * rowScale, 
00108                                 const double * columnScale) const;
00113   virtual void transposeTimes(const ClpSimplex * model, double scalar,
00114                               const CoinIndexedVector * x,
00115                               CoinIndexedVector * y,
00116                               CoinIndexedVector * z) const;
00121   virtual void subsetTransposeTimes(const ClpSimplex * model,
00122                                     const CoinIndexedVector * x,
00123                                     const CoinIndexedVector * y,
00124                                     CoinIndexedVector * z) const;
00126 
00129 
00130 
00131 
00135    ClpDummyMatrix();
00137   ClpDummyMatrix(int numberColumns, int numberRows,
00138                    int numberElements);
00140    virtual ~ClpDummyMatrix();
00142 
00146    ClpDummyMatrix(const ClpDummyMatrix&);
00148    ClpDummyMatrix(const CoinPackedMatrix&);
00149 
00150    ClpDummyMatrix& operator=(const ClpDummyMatrix&);
00152   virtual ClpMatrixBase * clone() const ;
00154    
00155     
00156 protected:
00160 
00161   int numberRows_;
00163   int numberColumns_;
00165   int numberElements_;
00166   
00168 };
00169 
00170 #endif

Generated on Fri Aug 6 11:42:58 2004 by doxygen 1.3.5