Go to the documentation of this file.
8 #ifndef ClpCholeskyDense_H
9 #define ClpCholeskyDense_H
31 virtual void solve(CoinWorkDouble *region);
48 void solveF2(
longDouble *a,
int n, CoinWorkDouble *region, CoinWorkDouble *region2);
51 void solveB2(
longDouble *a,
int n, CoinWorkDouble *region, CoinWorkDouble *region2);
93 double doubleParameters_[1];
94 int integerParameters_[2];
112 int nLeft,
int iBlock,
int jBlock,
128 int iBlock,
int jBlock,
void factorizePart2(int *rowsDropped)
part 2 of Factorize - filling in rowsDropped
virtual int order(ClpInterior *model)
Orders rows and saves pointer to matrix.and model.
void ClpCholeskyCrecTriLeaf(longDouble *aUnder, longDouble *aTri, longDouble *work, int nUnder)
Leaf recursive rectangle triangle update.
Base class for Clp Cholesky factorization Will do better factorization.
void ClpCholeskyCtriRec(ClpCholeskyDenseC *thisStruct, longDouble *aTri, int nThis, longDouble *aUnder, longDouble *diagonal, longDouble *work, int nLeft, int iBlock, int jBlock, int numberBlocks)
Non leaf recursive triangle rectangle update.
bool borrowSpace_
Just borrowing space.
void ClpCholeskyCfactorLeaf(ClpCholeskyDenseC *thisStruct, longDouble *a, int n, longDouble *diagonal, longDouble *work, int *rowsDropped)
Leaf recursive factor.
void ClpCholeskyCtriRecLeaf(longDouble *aTri, longDouble *aUnder, longDouble *diagonal, longDouble *work, int nUnder)
Leaf recursive triangle rectangle update.
void solveB2(longDouble *a, int n, CoinWorkDouble *region, CoinWorkDouble *region2)
void solveF2(longDouble *a, int n, CoinWorkDouble *region, CoinWorkDouble *region2)
virtual ClpCholeskyBase * clone() const
Clone.
char * rowsDropped() const
rowsDropped - which rows are gone
void ClpCholeskyCrecRec(ClpCholeskyDenseC *thisStruct, longDouble *above, int nUnder, int nUnderK, int nDo, longDouble *aUnder, longDouble *aOther, longDouble *work, int iBlock, int jBlock, int numberBlocks)
Non leaf recursive rectangle rectangle update, nUnder is number of rows in iBlock,...
ClpCholeskyDense & operator=(const ClpCholeskyDense &)
Assignment.
Abstract base class for Clp Matrices.
virtual void solve(CoinWorkDouble *region)
Uses factorization to solve.
void solveB1(longDouble *a, int n, CoinWorkDouble *region)
Backward part of solve.
void ClpCholeskyCrecTri(ClpCholeskyDenseC *thisStruct, longDouble *aUnder, int nTri, int nDo, int iBlock, int jBlock, longDouble *aTri, longDouble *diagonal, longDouble *work, int numberBlocks)
Non leaf recursive rectangle triangle update.
longDouble * diagonal_
Diagonal.
This solves LPs using interior point methods.
int bNumber(const longDouble *array, int &, int &)
void ClpCholeskyCfactor(ClpCholeskyDenseC *thisStruct, longDouble *a, int n, int numberBlocks, longDouble *diagonal, longDouble *work, int *rowsDropped)
Non leaf recursive factor.
void ClpCholeskyCrecRecLeaf(const longDouble *COIN_RESTRICT above, const longDouble *COIN_RESTRICT aUnder, longDouble *COIN_RESTRICT aOther, const longDouble *COIN_RESTRICT work, int nUnder)
Leaf recursive rectangle rectangle update, nUnder is number of rows in iBlock, nUnderK is number of r...
longDouble * sparseFactor_
sparseFactor.
int numberRows() const
Return number of rows.
void factorizePart3(int *rowsDropped)
part 2 of Factorize - filling in rowsDropped - blocked
void solveF1(longDouble *a, int n, CoinWorkDouble *region)
Forward part of solve.
longDouble * diagonal() const
Diagonal.
int space(int numberRows) const
Returns space needed.
void ClpCholeskySpawn(void *)
int reserveSpace(const ClpCholeskyBase *factor, int numberRows)
Reserves space.
virtual ~ClpCholeskyDense()
Destructor
virtual int symbolic()
Does Symbolic factorization given permutation.
virtual int factorize(const CoinWorkDouble *diagonal, int *rowsDropped)
Factorize - filling in rowsDropped and returning number dropped.
longDouble * aMatrix() const
A.
ClpCholeskyDense()
Default constructor.