• Main Page
  • Classes
  • Files
  • File List
  • File Members

/build/buildd/clp-1.11.1/Clp/src/ClpDummyMatrix.hpp

Go to the documentation of this file.
00001 /* $Id: ClpDummyMatrix.hpp 1458 2009-11-05 12:34:07Z forrest $ */
00002 // Copyright (C) 2003, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef ClpDummyMatrix_H
00005 #define ClpDummyMatrix_H
00006 
00007 
00008 #include "CoinPragma.hpp"
00009 
00010 #include "ClpMatrixBase.hpp"
00011 
00018 class ClpDummyMatrix : public ClpMatrixBase {
00019   
00020 public:
00023 
00024    virtual CoinPackedMatrix * getPackedMatrix() const;
00026    virtual bool isColOrdered() const { return true; }
00028   virtual  CoinBigIndex getNumElements() const 
00029   { return numberElements_; }
00031    virtual int getNumCols() const { return numberColumns_; }
00033   virtual int getNumRows() const { return numberRows_; }
00034 
00039   virtual const double * getElements() const; 
00045   virtual const int * getIndices() const;
00046 
00047   virtual const CoinBigIndex * getVectorStarts() const;
00049   virtual const int * getVectorLengths() const;
00050 
00052   virtual void deleteCols(const int numDel, const int * indDel);
00054   virtual void deleteRows(const int numDel, const int * indDel);
00056   virtual ClpMatrixBase * reverseOrderedCopy() const;
00058   virtual CoinBigIndex countBasis(const int * whichColumn, 
00059                                   int & numberColumnBasic);
00061   virtual void fillBasis(ClpSimplex * model,
00062                                  const int * whichColumn, 
00063                                  int & numberColumnBasic,
00064                                  int * row, int * start,
00065                                  int * rowCount, int * columnCount,
00066                                  CoinFactorizationDouble * element);
00069   virtual void unpack(const ClpSimplex * model,CoinIndexedVector * rowArray,
00070                    int column) const ;
00075   virtual void unpackPacked(ClpSimplex * model,
00076                             CoinIndexedVector * rowArray,
00077                             int column) const;
00080   virtual void add(const ClpSimplex * model,CoinIndexedVector * rowArray,
00081                    int column, double multiplier) const ;
00083   virtual void add(const ClpSimplex * model,double * array,
00084                    int column, double multiplier) const;
00087    virtual void releasePackedMatrix() const {}
00089 
00095   virtual void times(double scalar,
00096                        const double * x, double * y) const;
00098   virtual void times(double scalar,
00099                      const double * x, double * y,
00100                      const double * rowScale, 
00101                      const double * columnScale) const;
00105     virtual void transposeTimes(double scalar,
00106                                 const double * x, double * y) const;
00108     virtual void transposeTimes(double scalar,
00109                                 const double * x, double * y,
00110                                 const double * rowScale, 
00111                                 const double * columnScale) const;
00112 
00113   using ClpMatrixBase::transposeTimes ;
00117   virtual void transposeTimes(const ClpSimplex * model, double scalar,
00118                               const CoinIndexedVector * x,
00119                               CoinIndexedVector * y,
00120                               CoinIndexedVector * z) const;
00125   virtual void subsetTransposeTimes(const ClpSimplex * model,
00126                                     const CoinIndexedVector * x,
00127                                     const CoinIndexedVector * y,
00128                                     CoinIndexedVector * z) const;
00130 
00133 
00134 
00135 
00139    ClpDummyMatrix();
00141   ClpDummyMatrix(int numberColumns, int numberRows,
00142                    int numberElements);
00144    virtual ~ClpDummyMatrix();
00146 
00150    ClpDummyMatrix(const ClpDummyMatrix&);
00152    ClpDummyMatrix(const CoinPackedMatrix&);
00153 
00154    ClpDummyMatrix& operator=(const ClpDummyMatrix&);
00156   virtual ClpMatrixBase * clone() const ;
00158    
00159     
00160 protected:
00164 
00165   int numberRows_;
00167   int numberColumns_;
00169   int numberElements_;
00170   
00172 };
00173 
00174 #endif

Generated on Fri Aug 20 2010 06:29:28 by  doxygen 1.7.1