source: trunk/Clp/src/ClpCholeskyMumps.hpp @ 1502

Last change on this file since 1502 was 1502, checked in by forrest, 10 years ago

moving sandbox stuff to trunk

  • Property svn:keywords set to Id
File size: 1.8 KB
Line 
1/* $Id: ClpCholeskyMumps.hpp 1502 2010-01-29 14:25:07Z forrest $ */
2// Copyright (C) 2009, International Business Machines
3// Corporation and others.  All Rights Reserved.
4#ifndef ClpCholeskyMumps_H
5#define ClpCholeskyMumps_H
6#include "ClpCholeskyBase.hpp"
7#ifdef __cplusplus
8extern "C" {
9#endif
10#include "amd.h"
11#include "dmumps_c.h"
12    //#include "mpi.h"
13    //#include "/home/jjforre/cbc-trunk/ThirdParty/Mumps/MUMPS/libseq/mpi.h"
14#ifdef __cplusplus
15}
16#endif
17class ClpMatrixBase;
18class ClpCholeskyDense;
19
20/** Mumps class for Clp Cholesky factorization
21
22*/
23class ClpCholeskyMumps : public ClpCholeskyBase {
24
25public:
26    /**@name Virtual methods that the derived classes provides  */
27    //@{
28    /** Orders rows and saves pointer to matrix.and model.
29     Returns non-zero if not enough memory */
30    virtual int order(ClpInterior * model) ;
31    /** Does Symbolic factorization given permutation.
32        This is called immediately after order.  If user provides this then
33        user must provide factorize and solve.  Otherwise the default factorization is used
34        returns non-zero if not enough memory */
35    virtual int symbolic();
36    /** Factorize - filling in rowsDropped and returning number dropped.
37        If return code negative then out of memory */
38    virtual int factorize(const double * diagonal, int * rowsDropped) ;
39    /** Uses factorization to solve. */
40    virtual void solve (double * region) ;
41    //@}
42
43
44    /**@name Constructors, destructor */
45    //@{
46    /** Constructor which has dense columns activated.
47        Default is off. */
48    ClpCholeskyMumps(int denseThreshold = -1);
49    /** Destructor  */
50    virtual ~ClpCholeskyMumps();
51    // Copy
52    ClpCholeskyMumps(const ClpCholeskyMumps&);
53    // Assignment
54    ClpCholeskyMumps& operator=(const ClpCholeskyMumps&);
55    /// Clone
56    virtual ClpCholeskyBase * clone() const ;
57    //@}
58
59
60private:
61    // Mumps structure
62    DMUMPS_STRUC_C mumps_;
63};
64
65#endif
Note: See TracBrowser for help on using the repository browser.