00001 /* $Id: ClpCholeskyTaucs.hpp 1525 2010-02-26 17:27:59Z mjs $ */ 00002 // Copyright (C) 2004, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 #ifndef ClpCholeskyTaucs_H 00005 #define ClpCholeskyTaucs_H 00006 #include "taucs.h" 00007 #include "ClpCholeskyBase.hpp" 00008 class ClpMatrixBase; 00009 00010 00041 class ClpCholeskyTaucs : public ClpCholeskyBase { 00042 00043 public: 00048 virtual int order(ClpInterior * model) ; 00050 virtual int symbolic(); 00053 virtual int factorize(const double * diagonal, int * rowsDropped) ; 00055 virtual void solve (double * region) ; 00057 00058 00062 ClpCholeskyTaucs(); 00064 virtual ~ClpCholeskyTaucs(); 00065 // Copy 00066 ClpCholeskyTaucs(const ClpCholeskyTaucs&); 00067 // Assignment 00068 ClpCholeskyTaucs& operator=(const ClpCholeskyTaucs&); 00070 virtual ClpCholeskyBase * clone() const ; 00072 00073 00074 private: 00077 00078 taucs_ccs_matrix * matrix_; 00080 void * factorization_; 00082 double * sparseFactorT_; 00084 CoinBigIndex * choleskyStartT_; 00086 int * choleskyRowT_; 00088 CoinBigIndex sizeFactorT_; 00090 ClpMatrixBase * rowCopyT_; 00092 }; 00093 00094 #endif