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