source: trunk/Clp/src/ClpCholeskyWssmpKKT.hpp @ 1304

Last change on this file since 1304 was 754, checked in by andreasw, 14 years ago

first version

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