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

- File List
- File Members

# /home/coin/SVN-release/Blis-0.91.2/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