Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/home/coinadmin/Update/COIN/Clp/include/ClpCholeskyBase.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2003, International Business Machines
00002 // Corporation and others.  All Rights Reserved.
00003 #ifndef ClpCholeskyBase_H
00004 #define ClpCholeskyBase_H
00005 
00006 #include "CoinPragma.hpp"
00007 
00008 class ClpInterior;
00009 
00015 class ClpCholeskyBase  {
00016   
00017 public:
00022   virtual int order(ClpInterior * model) = 0;
00025   virtual int factorize(const double * diagonal, int * rowsDropped) =0;
00027   virtual void solve (double * region) = 0;
00030   virtual void solveKKT (double * region1, double * region2, const double * diagonal,
00031                          double diagonalScaleFactor);
00033 
00036 
00037   inline int status() const 
00038   {return status_;};
00040   inline int numberRowsDropped() const 
00041   {return numberRowsDropped_;};
00043   void resetRowsDropped();
00045   inline char * rowsDropped() const 
00046   {return rowsDropped_;};
00048   inline double choleskyCondition() const 
00049   {return choleskyCondition_;};
00051   inline int rank() const 
00052   {return numberRows_-numberRowsDropped_;};
00054   inline int numberRows() const 
00055   {return numberRows_;};
00057   
00058   
00059 protected:
00060 
00066    ClpCholeskyBase();
00068 public:
00069    virtual ~ClpCholeskyBase();
00070 protected:
00071   // Copy
00072    ClpCholeskyBase(const ClpCholeskyBase&);
00073   // Assignment
00074    ClpCholeskyBase& operator=(const ClpCholeskyBase&);
00076 
00077 
00078 
00079 public:
00080   virtual ClpCholeskyBase * clone() const = 0;
00081  
00083   inline int type() const
00084   { return type_;};
00085 protected:
00087   void setType(int type) {type_=type;};
00089    
00090     
00091 protected:
00095 
00096    int type_;
00098   double pivotTolerance_;
00100   double zeroTolerance_;
00102   double choleskyCondition_;
00104   ClpInterior * model_;
00106   int numberTrials_;
00108   int numberRows_;
00110   int status_;
00112   char * rowsDropped_;
00114   int * permuteIn_;
00116   int * permuteOut_;
00118   int numberRowsDropped_;
00120 };
00121 
00122 #endif

Generated on Fri Aug 6 02:01:31 2004 by doxygen1.3-rc2