Clp trunk
ClpCholeskyUfl.hpp
Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines