ClpCholeskyUfl.hpp
Go to the documentation of this file.
1 /* $Id: ClpCholeskyUfl.hpp 1525 2010-02-26 17:27:59Z mjs $ */
2 // Copyright (C) 2004, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 #ifndef ClpCholeskyUfl_H
5 #define ClpCholeskyUfl_H
6 #include "ClpCholeskyBase.hpp"
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 #ifndef CLP_USE_CHOLMOD
11 #include "amd.h"
12 #else
13 #include "cholmod.h"
14 #endif
15 #ifdef __cplusplus
16 }
17 #endif
18 class ClpMatrixBase;
19 class ClpCholeskyDense;
20 
37 
38 public:
43  virtual int order(ClpInterior * model) ;
44 #ifdef CLP_USE_CHOLMOD
45 
49  virtual int symbolic();
52  virtual int factorize(const double * diagonal, int * rowsDropped) ;
54  virtual void solve (double * region) ;
55 #endif
56 
57 
58 
63  ClpCholeskyUfl(int denseThreshold = -1);
65  virtual ~ClpCholeskyUfl();
66  // Copy
68  // Assignment
71  virtual ClpCholeskyBase * clone() const ;
73 
74 
75 private:
76 #ifdef CLP_USE_CHOLMOD
77  cholmod_factor * L_ ;
78  cholmod_common c_ ;
79 #endif
80 };
81 
82 #endif
virtual void solve(CoinWorkDouble *region)
Uses factorization to solve.
char * rowsDropped() const
rowsDropped - which rows are gone
virtual int order(ClpInterior *model)
Orders rows and saves pointer to matrix.and model.
Base class for Clp Cholesky factorization Will do better factorization.
longDouble * diagonal() const
Return diagonal.
virtual int factorize(const CoinWorkDouble *diagonal, int *rowsDropped)
Factorize - filling in rowsDropped and returning number dropped.
This solves LPs using interior point methods.
Definition: ClpInterior.hpp:72
Abstract base class for Clp Matrices.
ClpCholeskyUfl & operator=(const ClpCholeskyUfl &)
Constructor which has dense columns activated.
virtual int symbolic()
Does Symbolic factorization given permutation.
Ufl class for Clp Cholesky factorization.
virtual ~ClpCholeskyUfl()
Destructor.
ClpCholeskyUfl(int denseThreshold=-1)
Constructor which has dense columns activated.
virtual ClpCholeskyBase * clone() const
Clone.