ClpCholeskyDense Class Reference

Dense class for Clp Cholesky factorization. More...

#include <ClpCholeskyDense.hpp>

Inheritance diagram for ClpCholeskyDense:
Inheritance graph
[legend]
Collaboration diagram for ClpCholeskyDense:
Collaboration graph
[legend]

List of all members.

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.
longDoubleaMatrix () const
 A.
longDoublediagonal () const
 Diagonal.
Constructors, destructor



 ClpCholeskyDense ()
 Default constructor.
virtual ~ClpCholeskyDense ()
 Destructor.
 ClpCholeskyDense (const ClpCholeskyDense &)
 Default constructor.
ClpCholeskyDenseoperator= (const ClpCholeskyDense &)
 Default constructor.
virtual ClpCholeskyBaseclone () const
 Clone.

Private Attributes

Data members



bool borrowSpace_
 Just borrowing space.

Detailed Description

Dense class for Clp Cholesky factorization.

Definition at line 12 of file ClpCholeskyDense.hpp.


Constructor & Destructor Documentation

ClpCholeskyDense::ClpCholeskyDense (  ) 

Default constructor.

virtual ClpCholeskyDense::~ClpCholeskyDense (  )  [virtual]

Destructor.

ClpCholeskyDense::ClpCholeskyDense ( const ClpCholeskyDense  ) 

Default constructor.


Member Function Documentation

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]

Uses factorization to solve.

Reimplemented from ClpCholeskyBase.

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  ) 

part 2 of Factorize - filling in rowsDropped

Reimplemented from ClpCholeskyBase.

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]

A.

Definition at line 105 of file ClpCholeskyDense.hpp.

longDouble* ClpCholeskyDense::diagonal (  )  const [inline]

Diagonal.

Reimplemented from ClpCholeskyBase.

Definition at line 108 of file ClpCholeskyDense.hpp.

ClpCholeskyDense& ClpCholeskyDense::operator= ( const ClpCholeskyDense  ) 

Default constructor.

Reimplemented from ClpCholeskyBase.

virtual ClpCholeskyBase* ClpCholeskyDense::clone (  )  const [virtual]

Clone.

Reimplemented from ClpCholeskyBase.


Member Data Documentation

Just borrowing space.

Definition at line 132 of file ClpCholeskyDense.hpp.


The documentation for this class was generated from the following file:

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1