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 *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.
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 (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 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 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.

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 ( 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 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 108 of file ClpCholeskyDense.hpp.

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

Diagonal.

Reimplemented from ClpCholeskyBase.

Definition at line 111 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 135 of file ClpCholeskyDense.hpp.


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

Generated on Tue Nov 10 03:58:00 2009 by  doxygen 1.6.1