/build/buildd/clp-1.12.0/Clp/src/ClpCholeskyMumps.hpp
Go to the documentation of this file.
00001 /* $Id: ClpCholeskyMumps.hpp 1525 2010-02-26 17:27:59Z mjs $ */
00002 // Copyright (C) 2009, International Business Machines
00003 // Corporation and others.  All Rights Reserved.
00004 #ifndef ClpCholeskyMumps_H
00005 #define ClpCholeskyMumps_H
00006 #include "ClpCholeskyBase.hpp"
00007 #ifdef __cplusplus
00008 extern "C" {
00009 #endif
00010 #include "amd.h"
00011 #include "dmumps_c.h"
00012      //#include "mpi.h"
00013      //#include "/home/jjforre/cbc-trunk/ThirdParty/Mumps/MUMPS/libseq/mpi.h"
00014 #ifdef __cplusplus
00015 }
00016 #endif
00017 class ClpMatrixBase;
00018 class ClpCholeskyDense;
00019 
00023 class ClpCholeskyMumps : public ClpCholeskyBase {
00024 
00025 public:
00030      virtual int order(ClpInterior * model) ;
00035      virtual int symbolic();
00038      virtual int factorize(const double * diagonal, int * rowsDropped) ;
00040      virtual void solve (double * region) ;
00042 
00043 
00048      ClpCholeskyMumps(int denseThreshold = -1);
00050      virtual ~ClpCholeskyMumps();
00051      // Copy
00052      ClpCholeskyMumps(const ClpCholeskyMumps&);
00053      // Assignment
00054      ClpCholeskyMumps& operator=(const ClpCholeskyMumps&);
00056      virtual ClpCholeskyBase * clone() const ;
00058 
00059 
00060 private:
00061      // Mumps structure
00062      DMUMPS_STRUC_C mumps_;
00063 };
00064 
00065 #endif