Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

ClpCholeskyDense Class Reference

Dense class for Clp Cholesky factorization. More...

#include <ClpCholeskyDense.hpp>

Inheritance diagram for ClpCholeskyDense:

ClpCholeskyBase 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.

References longDouble.

longDouble* ClpCholeskyDense::diagonal  )  const [inline]
 

Diagonal.

Reimplemented from ClpCholeskyBase.

Definition at line 108 of file ClpCholeskyDense.hpp.

References longDouble.

ClpCholeskyDense& ClpCholeskyDense::operator= const ClpCholeskyDense  ) 
 

Default constructor.

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

Clone.

Reimplemented from ClpCholeskyBase.


Member Data Documentation

bool ClpCholeskyDense::borrowSpace_ [private]
 

Just borrowing space.

Definition at line 132 of file ClpCholeskyDense.hpp.


The documentation for this class was generated from the following file:
Generated on Sun Jun 11 02:00:26 2006 by  doxygen 1.3.9.1