source: trunk/Clp/src/ClpCholeskyPardiso.hpp @ 2470

Last change on this file since 2470 was 2385, checked in by unxusr, 9 months ago

formatting

File size: 1.9 KB
Line 
1/* $Id: ClpCholeskyPardiso.hpp 1665 2011-01-04 17:55:54Z lou $ */
2// Copyright (C) 2003, International Business Machines
3// Corporation and others.  All Rights Reserved.
4// This code is licensed under the terms of the Eclipse Public License (EPL).
5
6#ifndef ClpCholeskyPardiso_H
7#define ClpCholeskyPardiso_H
8#ifdef PARDISO_BARRIER
9
10#include "ClpCholeskyBase.hpp"
11#include "mkl_pardiso.h"
12#include "mkl_types.h"
13
14class ClpMatrixBase;
15class ClpCholeskyDense;
16
17/** Pardiso class for Clp Cholesky factorization
18
19*/
20class ClpCholeskyPardiso : public ClpCholeskyBase {
21
22public:
23  /**@name Virtual methods that the derived classes provides  */
24  //@{
25  /** Orders rows and saves pointer to matrix.and model.
26      Returns non-zero if not enough memory */
27  virtual int order(ClpInterior *model);
28  /** Does Symbolic factorization given permutation.
29         This is called immediately after order.  If user provides this then
30         user must provide factorize and solve.  Otherwise the default factorization is used
31         returns non-zero if not enough memory */
32  virtual int symbolic();
33  /** Factorize - filling in rowsDropped and returning number dropped.
34         If return code negative then out of memory */
35  virtual int factorize(const double *diagonal, int *rowsDropped);
36  /** Uses factorization to solve. */
37  virtual void solve(double *region);
38  //@}
39
40  /**@name Constructors, destructor */
41  //@{
42  /** Constructor which has dense columns activated.
43         Default is off. */
44  ClpCholeskyPardiso(int denseThreshold = -1);
45  /** Destructor  */
46  virtual ~ClpCholeskyPardiso();
47  // Copy
48  ClpCholeskyPardiso(const ClpCholeskyPardiso &);
49  // Assignment
50  ClpCholeskyPardiso &operator=(const ClpCholeskyPardiso &);
51  /// Clone
52  virtual ClpCholeskyBase *clone() const;
53  //@}
54
55private:
56  /**@name Data members */
57  //@{
58  int lastNumberDropped_;
59  //MKL_INT iparm_[64];
60  //@}
61};
62
63#endif
64#endif
65
66/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
67*/
Note: See TracBrowser for help on using the repository browser.