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

- File List
- File Members

# /home/coin/SVN-release/Alps-1.2.1/Clp/src/ClpDummyMatrix.hpp

Go to the documentation of this file.

    00001 /* $Id: ClpDummyMatrix.hpp 1525 2010-02-26 17:27:59Z mjs $ */
    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 {
    00027           return true;
    00028      }
    00030      virtual  CoinBigIndex getNumElements() const {
    00031           return numberElements_;
    00032      }
    00034      virtual int getNumCols() const {
    00035           return numberColumns_;
    00036      }
    00038      virtual int getNumRows() const {
    00039           return numberRows_;
    00040      }
    00041
    00046      virtual const double * getElements() const;
    00052      virtual const int * getIndices() const;
    00053
    00054      virtual const CoinBigIndex * getVectorStarts() const;
    00056      virtual const int * getVectorLengths() const;
    00057
    00059      virtual void deleteCols(const int numDel, const int * indDel);
    00061      virtual void deleteRows(const int numDel, const int * indDel);
    00063      virtual ClpMatrixBase * reverseOrderedCopy() const;
    00065      virtual CoinBigIndex countBasis(const int * whichColumn,
    00066                                      int & numberColumnBasic);
    00068      virtual void fillBasis(ClpSimplex * model,
    00069                             const int * whichColumn,
    00070                             int & numberColumnBasic,
    00071                             int * row, int * start,
    00072                             int * rowCount, int * columnCount,
    00073                             CoinFactorizationDouble * element);
    00076      virtual void unpack(const ClpSimplex * model, CoinIndexedVector * rowArray,
    00077                          int column) const ;
    00082      virtual void unpackPacked(ClpSimplex * model,
    00083                                CoinIndexedVector * rowArray,
    00084                                int column) const;
    00087      virtual void add(const ClpSimplex * model, CoinIndexedVector * rowArray,
    00088                       int column, double multiplier) const ;
    00090      virtual void add(const ClpSimplex * model, double * array,
    00091                       int column, double multiplier) const;
    00094      virtual void releasePackedMatrix() const {}
    00096
    00102      virtual void times(double scalar,
    00103                         const double * x, double * y) const;
    00105      virtual void times(double scalar,
    00106                         const double * x, double * y,
    00107                         const double * rowScale,
    00108                         const double * columnScale) const;
    00112      virtual void transposeTimes(double scalar,
    00113                                  const double * x, double * y) const;
    00115      virtual void transposeTimes(double scalar,
    00116                                  const double * x, double * y,
    00117                                  const double * rowScale,
    00118                                  const double * columnScale) const;
    00119
    00120      using ClpMatrixBase::transposeTimes ;
    00124      virtual void transposeTimes(const ClpSimplex * model, double scalar,
    00125                                  const CoinIndexedVector * x,
    00126                                  CoinIndexedVector * y,
    00127                                  CoinIndexedVector * z) const;
    00132      virtual void subsetTransposeTimes(const ClpSimplex * model,
    00133                                        const CoinIndexedVector * x,
    00134                                        const CoinIndexedVector * y,
    00135                                        CoinIndexedVector * z) const;
    00137
    00140
    00141
    00142
    00146      ClpDummyMatrix();
    00148      ClpDummyMatrix(int numberColumns, int numberRows,
    00149                     int numberElements);
    00151      virtual ~ClpDummyMatrix();
    00153
    00157      ClpDummyMatrix(const ClpDummyMatrix&);
    00159      ClpDummyMatrix(const CoinPackedMatrix&);
    00160
    00161      ClpDummyMatrix& operator=(const ClpDummyMatrix&);
    00163      virtual ClpMatrixBase * clone() const ;
    00165
    00166
    00167 protected:
    00171
    00172      int numberRows_;
    00174      int numberColumns_;
    00176      int numberElements_;
    00177
    00179 };
    00180
    00181 #endif