Clp trunk
|
00001 /* $Id$ */ 00002 // Copyright (C) 2004, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 // This code is licensed under the terms of the Eclipse Public License (EPL). 00005 00006 #ifndef ClpCholeskyUfl_H 00007 #define ClpCholeskyUfl_H 00008 00009 #include "ClpCholeskyBase.hpp" 00010 00011 class ClpMatrixBase; 00012 class ClpCholeskyDense; 00013 00014 typedef struct cholmod_factor_struct cholmod_factor; 00015 typedef struct cholmod_common_struct cholmod_common; 00016 00032 class ClpCholeskyUfl : public ClpCholeskyBase { 00033 00034 public: 00039 virtual int order(ClpInterior * model) ; 00044 virtual int symbolic(); 00047 virtual int factorize(const double * diagonal, int * rowsDropped) ; 00049 virtual void solve (double * region) ; 00051 00052 00057 ClpCholeskyUfl(int denseThreshold = -1); 00059 virtual ~ClpCholeskyUfl(); 00061 virtual ClpCholeskyBase * clone() const ; 00063 00064 00065 private: 00066 cholmod_factor * L_ ; 00067 cholmod_common * c_ ; 00068 00069 // Copy 00070 ClpCholeskyUfl(const ClpCholeskyUfl&); 00071 // Assignment 00072 ClpCholeskyUfl& operator=(const ClpCholeskyUfl&); 00073 }; 00074 00075 #endif