# ClpCholeskyMumps.hpp

Go to the documentation of this file.

    00001 /* $Id: ClpCholeskyMumps.hpp 1692 2011-03-05 18:05:01Z stefan $ */
    00002 // Copyright (C) 2009, 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 ClpCholeskyMumps_H
    00007 #define ClpCholeskyMumps_H
    00008 #include "ClpCholeskyBase.hpp"
    00009 class ClpMatrixBase;
    00010 class ClpCholeskyDense;
    00011
    00012 // unfortunately, DMUMPS_STRUC_C is an anonymous struct in MUMPS, so we define it to void for everyone outside ClpCholeskyMumps
    00013 // if this file is included by ClpCholeskyMumps.cpp, then after dmumps_c.h has been included, which defines MUMPS_VERSION
    00014 #ifndef MUMPS_VERSION
    00015 typedef void DMUMPS_STRUC_C;
    00016 #endif
    00017
    00021 class ClpCholeskyMumps : public ClpCholeskyBase {
    00022
    00023 public:
    00028      virtual int order(ClpInterior * model) ;
    00033      virtual int symbolic();
    00036      virtual int factorize(const double * diagonal, int * rowsDropped) ;
    00038      virtual void solve (double * region) ;
    00040
    00041
    00046      ClpCholeskyMumps(int denseThreshold = -1);
    00048      virtual ~ClpCholeskyMumps();
    00050      virtual ClpCholeskyBase * clone() const ;
    00052
    00053 private:
    00054      // Mumps structure
    00055      DMUMPS_STRUC_C* mumps_;
    00056
    00057           // Copy
    00058      ClpCholeskyMumps(const ClpCholeskyMumps&);
    00059      // Assignment
    00060      ClpCholeskyMumps& operator=(const ClpCholeskyMumps&);
    00061 };
    00062
    00063 #endif

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines