#include <ClpCholeskyDense.hpp>
Inheritance diagram for ClpCholeskyDense:


Public Member Functions | |
Virtual methods that the derived classes provides | |
| virtual int | order (ClpInterior *model) |
| Orders rows and saves pointer to matrix.and model. | |
| virtual int | symbolic () |
| Does Symbolic factorization given permutation. | |
| virtual int | factorize (const double *diagonal, int *rowsDropped) |
| Factorize - filling in rowsDropped and returning number dropped. | |
| virtual void | solve (double *region) |
| Uses factorization to solve. | |
Non virtual methods for ClpCholeskyDense | |
| int | reserveSpace (const ClpCholeskyBase *factor, int numberRows) |
| Reserves space. | |
| CoinBigIndex | space (int numberRows) const |
| Returns space needed. | |
| void | factorizePart2 (int *rowsDropped) |
| part 2 of Factorize - filling in rowsDropped | |
| void | factorizePart3 (int *rowsDropped) |
| part 2 of Factorize - filling in rowsDropped - blocked | |
| void | factor (longDouble *a, int n, int numberBlocks, longDouble *diagonal, longDouble *work, int *rowsDropped) |
| Non leaf recursive factor. | |
| void | triRec (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 | recTri (longDouble *aUnder, int nTri, int nDo, int iBlock, int jBlock, longDouble *aTri, longDouble *diagonal, longDouble *work, int numberBlocks) |
| Non leaf recursive rectangle triangle update. | |
| void | recRec (longDouble *above, int nUnder, int nUnderK, int nDo, longDouble *aUnder, longDouble *aOther, longDouble *diagonal, longDouble *work, int kBlock, 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. | |
| void | factorLeaf (longDouble *a, int n, longDouble *diagonal, longDouble *work, int *rowsDropped) |
| Leaf recursive factor. | |
| void | triRecLeaf (longDouble *aTri, longDouble *aUnder, longDouble *diagonal, longDouble *work, int nUnder) |
| Leaf recursive triangle rectangle update. | |
| void | recTriLeaf (longDouble *aUnder, longDouble *aTri, longDouble *diagonal, longDouble *work, int nUnder) |
| Leaf recursive rectangle triangle update. | |
| void | recRecLeaf (longDouble *above, longDouble *aUnder, longDouble *aOther, longDouble *diagonal, longDouble *work, int nUnder) |
| Leaf recursive rectangle rectangle update, nUnder is number of rows in iBlock, nUnderK is number of rows in kBlock. | |
| void | solveF1 (longDouble *a, int n, double *region) |
| Forward part of solve. | |
| void | solveF2 (longDouble *a, int n, double *region, double *region2) |
| Reserves space. | |
| void | solveB1 (longDouble *a, int n, double *region) |
| Backward part of solve. | |
| void | solveB2 (longDouble *a, int n, double *region, double *region2) |
| Reserves space. | |
| void | solveLong (longDouble *region) |
| Uses factorization to solve. | |
| void | solveF1Long (longDouble *a, int n, longDouble *region) |
| Forward part of solve. | |
| void | solveF2Long (longDouble *a, int n, longDouble *region, longDouble *region2) |
| Reserves space. | |
| void | solveB1Long (longDouble *a, int n, longDouble *region) |
| Backward part of solve. | |
| void | solveB2Long (longDouble *a, int n, longDouble *region, longDouble *region2) |
| Reserves space. | |
| void | solveLongWork (longWork *region) |
| Uses factorization to solve. | |
| void | solveF1LongWork (longDouble *a, int n, longWork *region) |
| Forward part of solve. | |
| void | solveF2LongWork (longDouble *a, int n, longWork *region, longWork *region2) |
| Reserves space. | |
| void | solveB1LongWork (longDouble *a, int n, longWork *region) |
| Backward part of solve. | |
| void | solveB2LongWork (longDouble *a, int n, longWork *region, longWork *region2) |
| Reserves space. | |
| int | bNumber (const longDouble *array, int &, int &) |
| Reserves space. | |
| longDouble * | aMatrix () const |
| A. | |
| longDouble * | diagonal () const |
| Diagonal. | |
Constructors, destructor | |
| ClpCholeskyDense () | |
| Default constructor. | |
| virtual | ~ClpCholeskyDense () |
| Destructor. | |
| ClpCholeskyDense (const ClpCholeskyDense &) | |
| Default constructor. | |
| ClpCholeskyDense & | operator= (const ClpCholeskyDense &) |
| Default constructor. | |
| virtual ClpCholeskyBase * | clone () const |
| Clone. | |
Private Attributes | |
Data members | |
| bool | borrowSpace_ |
| Just borrowing space. | |
Definition at line 12 of file ClpCholeskyDense.hpp.
| ClpCholeskyDense::ClpCholeskyDense | ( | ) |
Default constructor.
| virtual ClpCholeskyDense::~ClpCholeskyDense | ( | ) | [virtual] |
Destructor.
| ClpCholeskyDense::ClpCholeskyDense | ( | const ClpCholeskyDense & | ) |
Default constructor.
| virtual int ClpCholeskyDense::order | ( | ClpInterior * | model | ) | [virtual] |
Orders rows and saves pointer to matrix.and model.
Returns non-zero if not enough memory
Reimplemented from ClpCholeskyBase.
| virtual int ClpCholeskyDense::symbolic | ( | ) | [virtual] |
Does Symbolic factorization given permutation.
This is called immediately after order. If user provides this then user must provide factorize and solve. Otherwise the default factorization is used returns non-zero if not enough memory
Reimplemented from ClpCholeskyBase.
| virtual int ClpCholeskyDense::factorize | ( | const double * | diagonal, | |
| int * | rowsDropped | |||
| ) | [virtual] |
Factorize - filling in rowsDropped and returning number dropped.
If return code negative then out of memory
Reimplemented from ClpCholeskyBase.
| virtual void ClpCholeskyDense::solve | ( | double * | region | ) | [virtual] |
| int ClpCholeskyDense::reserveSpace | ( | const ClpCholeskyBase * | factor, | |
| int | numberRows | |||
| ) |
Reserves space.
If factor not NULL then just uses passed space Returns non-zero if not enough memory
| CoinBigIndex ClpCholeskyDense::space | ( | int | numberRows | ) | const |
Returns space needed.
| void ClpCholeskyDense::factorizePart2 | ( | int * | rowsDropped | ) |
| void ClpCholeskyDense::factorizePart3 | ( | int * | rowsDropped | ) |
part 2 of Factorize - filling in rowsDropped - blocked
| void ClpCholeskyDense::factor | ( | longDouble * | a, | |
| int | n, | |||
| int | numberBlocks, | |||
| longDouble * | diagonal, | |||
| longDouble * | work, | |||
| int * | rowsDropped | |||
| ) |
Non leaf recursive factor.
| void ClpCholeskyDense::triRec | ( | 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 ClpCholeskyDense::recTri | ( | longDouble * | aUnder, | |
| int | nTri, | |||
| int | nDo, | |||
| int | iBlock, | |||
| int | jBlock, | |||
| longDouble * | aTri, | |||
| longDouble * | diagonal, | |||
| longDouble * | work, | |||
| int | numberBlocks | |||
| ) |
Non leaf recursive rectangle triangle update.
| void ClpCholeskyDense::recRec | ( | longDouble * | above, | |
| int | nUnder, | |||
| int | nUnderK, | |||
| int | nDo, | |||
| longDouble * | aUnder, | |||
| longDouble * | aOther, | |||
| longDouble * | diagonal, | |||
| longDouble * | work, | |||
| int | kBlock, | |||
| 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.
| void ClpCholeskyDense::factorLeaf | ( | longDouble * | a, | |
| int | n, | |||
| longDouble * | diagonal, | |||
| longDouble * | work, | |||
| int * | rowsDropped | |||
| ) |
Leaf recursive factor.
| void ClpCholeskyDense::triRecLeaf | ( | longDouble * | aTri, | |
| longDouble * | aUnder, | |||
| longDouble * | diagonal, | |||
| longDouble * | work, | |||
| int | nUnder | |||
| ) |
Leaf recursive triangle rectangle update.
| void ClpCholeskyDense::recTriLeaf | ( | longDouble * | aUnder, | |
| longDouble * | aTri, | |||
| longDouble * | diagonal, | |||
| longDouble * | work, | |||
| int | nUnder | |||
| ) |
Leaf recursive rectangle triangle update.
| void ClpCholeskyDense::recRecLeaf | ( | longDouble * | above, | |
| longDouble * | aUnder, | |||
| longDouble * | aOther, | |||
| longDouble * | diagonal, | |||
| longDouble * | work, | |||
| int | nUnder | |||
| ) |
Leaf recursive rectangle rectangle update, nUnder is number of rows in iBlock, nUnderK is number of rows in kBlock.
| void ClpCholeskyDense::solveF1 | ( | longDouble * | a, | |
| int | n, | |||
| double * | region | |||
| ) |
Forward part of solve.
| void ClpCholeskyDense::solveF2 | ( | longDouble * | a, | |
| int | n, | |||
| double * | region, | |||
| double * | region2 | |||
| ) |
Reserves space.
If factor not NULL then just uses passed space Returns non-zero if not enough memory
| void ClpCholeskyDense::solveB1 | ( | longDouble * | a, | |
| int | n, | |||
| double * | region | |||
| ) |
Backward part of solve.
| void ClpCholeskyDense::solveB2 | ( | longDouble * | a, | |
| int | n, | |||
| double * | region, | |||
| double * | region2 | |||
| ) |
Reserves space.
If factor not NULL then just uses passed space Returns non-zero if not enough memory
| void ClpCholeskyDense::solveLong | ( | longDouble * | region | ) |
Uses factorization to solve.
| void ClpCholeskyDense::solveF1Long | ( | longDouble * | a, | |
| int | n, | |||
| longDouble * | region | |||
| ) |
Forward part of solve.
| void ClpCholeskyDense::solveF2Long | ( | longDouble * | a, | |
| int | n, | |||
| longDouble * | region, | |||
| longDouble * | region2 | |||
| ) |
Reserves space.
If factor not NULL then just uses passed space Returns non-zero if not enough memory
| void ClpCholeskyDense::solveB1Long | ( | longDouble * | a, | |
| int | n, | |||
| longDouble * | region | |||
| ) |
Backward part of solve.
| void ClpCholeskyDense::solveB2Long | ( | longDouble * | a, | |
| int | n, | |||
| longDouble * | region, | |||
| longDouble * | region2 | |||
| ) |
Reserves space.
If factor not NULL then just uses passed space Returns non-zero if not enough memory
| void ClpCholeskyDense::solveLongWork | ( | longWork * | region | ) |
Uses factorization to solve.
| void ClpCholeskyDense::solveF1LongWork | ( | longDouble * | a, | |
| int | n, | |||
| longWork * | region | |||
| ) |
Forward part of solve.
| void ClpCholeskyDense::solveF2LongWork | ( | longDouble * | a, | |
| int | n, | |||
| longWork * | region, | |||
| longWork * | region2 | |||
| ) |
Reserves space.
If factor not NULL then just uses passed space Returns non-zero if not enough memory
| void ClpCholeskyDense::solveB1LongWork | ( | longDouble * | a, | |
| int | n, | |||
| longWork * | region | |||
| ) |
Backward part of solve.
| void ClpCholeskyDense::solveB2LongWork | ( | longDouble * | a, | |
| int | n, | |||
| longWork * | region, | |||
| longWork * | region2 | |||
| ) |
Reserves space.
If factor not NULL then just uses passed space Returns non-zero if not enough memory
| int ClpCholeskyDense::bNumber | ( | const longDouble * | array, | |
| int & | , | |||
| int & | ||||
| ) |
Reserves space.
If factor not NULL then just uses passed space Returns non-zero if not enough memory
| longDouble* ClpCholeskyDense::aMatrix | ( | ) | const [inline] |
| longDouble* ClpCholeskyDense::diagonal | ( | ) | const [inline] |
Diagonal.
Reimplemented from ClpCholeskyBase.
Definition at line 108 of file ClpCholeskyDense.hpp.
References ClpCholeskyBase::diagonal_.
| ClpCholeskyDense& ClpCholeskyDense::operator= | ( | const ClpCholeskyDense & | ) |
Default constructor.
| virtual ClpCholeskyBase* ClpCholeskyDense::clone | ( | ) | const [virtual] |
bool ClpCholeskyDense::borrowSpace_ [private] |
1.4.7