00001 // Copyright (C) 2003, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 #ifndef ClpCholeskyDense_H 00004 #define ClpCholeskyDense_H 00005 00006 #include "ClpCholeskyBase.hpp" 00007 00008 typedef double longDouble; 00009 00013 class ClpMatrixBase; 00014 class ClpCholeskyDense : public ClpCholeskyBase { 00015 00016 public: 00021 virtual int order(ClpInterior * model) ; 00024 virtual int factorize(const double * diagonal, int * rowsDropped) ; 00026 virtual void solve (double * region) ; 00028 00033 int reserveSpace(int numberRows) ; 00035 int factorizePart2(int * rowsDropped) ; 00037 inline double * aMatrix() const 00038 { return work_;} 00040 00041 00045 ClpCholeskyDense(); 00047 virtual ~ClpCholeskyDense(); 00048 // Copy 00049 ClpCholeskyDense(const ClpCholeskyDense&); 00050 // Assignment 00051 ClpCholeskyDense& operator=(const ClpCholeskyDense&); 00053 virtual ClpCholeskyBase * clone() const ; 00055 00056 00057 private: 00060 00061 double * work_; 00063 ClpMatrixBase * rowCopy_; 00065 }; 00066 00067 #endif