Loading...
Searching...
No Matches
ClpCholeskyMumps.hpp
Go to the documentation of this file.
/* $Id$ */
// Copyright (C) 2009, International Business Machines
// Corporation and others. All Rights Reserved.
// This code is licensed under the terms of the Eclipse Public License (EPL).
#ifndef ClpCholeskyMumps_H
#define ClpCholeskyMumps_H
#include "ClpCholeskyBase.hpp"
class ClpMatrixBase;
class ClpCholeskyDense;
// unfortunately, DMUMPS_STRUC_C is an anonymous struct in MUMPS, so we define it to void for everyone outside ClpCholeskyMumps
// if this file is included by ClpCholeskyMumps.cpp, then after dmumps_c.h has been included, which defines MUMPS_VERSION
#ifndef MUMPS_VERSION
typedef void DMUMPS_STRUC_C;
#endif
class ClpCholeskyMumps : public ClpCholeskyBase {
public:
virtual int order(ClpInterior *model);
virtual int symbolic();
virtual int factorize(const double *diagonal, int *rowsDropped);
virtual void solve(double *region);
ClpCholeskyMumps(int denseThreshold = -1, int logLevel = 0);
virtual ~ClpCholeskyMumps();
virtual ClpCholeskyBase *clone() const;
private:
// Mumps structure
DMUMPS_STRUC_C *mumps_;
// Copy
ClpCholeskyMumps(const ClpCholeskyMumps &);
// Assignment
ClpCholeskyMumps &operator=(const ClpCholeskyMumps &);
};
#endif
/* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
*/
ClpCholeskyBase.hpp
DMUMPS_STRUC_C
void DMUMPS_STRUC_C
Definition ClpCholeskyMumps.hpp:15
ClpCholeskyBase::diagonal
longDouble * diagonal() const
Return diagonal.
Definition ClpCholeskyBase.hpp:142
ClpCholeskyBase::rowsDropped
char * rowsDropped() const
rowsDropped - which rows are gone
Definition ClpCholeskyBase.hpp:102
ClpCholeskyBase::ClpCholeskyBase
ClpCholeskyBase(int denseThreshold=-1)
Constructor which has dense columns activated.
ClpCholeskyDense
Definition ClpCholeskyDense.hpp:14
ClpCholeskyMumps::mumps_
DMUMPS_STRUC_C * mumps_
Definition ClpCholeskyMumps.hpp:54
ClpCholeskyMumps::ClpCholeskyMumps
ClpCholeskyMumps(const ClpCholeskyMumps &)
ClpCholeskyMumps::clone
virtual ClpCholeskyBase * clone() const
Clone.
ClpCholeskyMumps::ClpCholeskyMumps
ClpCholeskyMumps(int denseThreshold=-1, int logLevel=0)
Constructor which has dense columns activated.
ClpCholeskyMumps::solve
virtual void solve(double *region)
Uses factorization to solve.
ClpCholeskyMumps::order
virtual int order(ClpInterior *model)
Orders rows and saves pointer to matrix.and model.
ClpCholeskyMumps::symbolic
virtual int symbolic()
Does Symbolic factorization given permutation.
ClpCholeskyMumps::factorize
virtual int factorize(const double *diagonal, int *rowsDropped)
Factorize - filling in rowsDropped and returning number dropped.
ClpCholeskyMumps::operator=
ClpCholeskyMumps & operator=(const ClpCholeskyMumps &)
ClpCholeskyMumps::~ClpCholeskyMumps
virtual ~ClpCholeskyMumps()
Destructor.
ClpInterior
This solves LPs using interior point methods.
Definition ClpInterior.hpp:72
ClpMatrixBase
Abstract base class for Clp Matrices.
Definition ClpMatrixBase.hpp:38