Loading...
Searching...
No Matches
ClpCholeskyTaucs Class Reference

Taucs class for Clp Cholesky factorization. More...

`#include <ClpCholeskyTaucs.hpp>`

Inheritance diagram for ClpCholeskyTaucs:
[legend]
Collaboration diagram for ClpCholeskyTaucs:
[legend]

## 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 ()
| Dummy.
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.
Constructors, destructor
| ClpCholeskyTaucs ()
| Default constructor.
virtual | ~ClpCholeskyTaucs ()
| Destructor.
| ClpCholeskyTaucs (const ClpCholeskyTaucs &)
ClpCholeskyTaucs & | operator= (const ClpCholeskyTaucs &)
virtual ClpCholeskyBase * | clone () const
| Clone.
Public Member Functions inherited from ClpCholeskyBase
int | status () const
| status. Returns status
int | numberRowsDropped () const
| numberRowsDropped. Number of rows gone
void | resetRowsDropped ()
| reset numberRowsDropped and rowsDropped.
char * | rowsDropped () const
| rowsDropped - which rows are gone
double | choleskyCondition () const
| choleskyCondition.
double | goDense () const
| goDense i.e. use dense factoriaztion if > this (default 0.7).
void | setGoDense (double value)
| goDense i.e. use dense factoriaztion if > this (default 0.7).
int | rank () const
| rank. Returns rank
int | numberRows () const
| Return number of rows.
int | size () const
| Return size.
longDouble * | sparseFactor () const
| Return sparseFactor.
longDouble * | diagonal () const
| Return diagonal.
longDouble * | workDouble () const
| Return workDouble.
bool | kkt () const
| If KKT on.
void | setKKT (bool yesNo)
| Set KKT.
void | setIntegerParameter (int i, int value)
| Set integer parameter.
int | getIntegerParameter (int i)
| get integer parameter
void | setDoubleParameter (int i, double value)
| Set double parameter.
double | getDoubleParameter (int i)
| get double parameter
| ClpCholeskyBase (int denseThreshold=-1)
| Constructor which has dense columns activated.
virtual | ~ClpCholeskyBase ()
| Destructor (has to be public).
| ClpCholeskyBase (const ClpCholeskyBase &)
| Copy.
ClpCholeskyBase & | operator= (const ClpCholeskyBase &)
| Assignment.
virtual int | factorize (const CoinWorkDouble *diagonal, int *rowsDropped)
| Factorize - filling in rowsDropped and returning number dropped.
virtual void | solve (CoinWorkDouble *region)
| Uses factorization to solve.
virtual void | solveKKT (CoinWorkDouble *region1, CoinWorkDouble *region2, const CoinWorkDouble *diagonal, CoinWorkDouble diagonalScaleFactor)
| Uses factorization to solve.
int | type () const
| Returns type.

## Private Attributes

Data members
taucs_ccs_matrix * | matrix_
| Taucs matrix (== sparseFactor etc).
void * | factorization_
| Taucs factor.
double * | sparseFactorT_
| sparseFactor.
CoinBigIndex * | choleskyStartT_
| choleskyStart
int * | choleskyRowT_
| choleskyRow
CoinBigIndex | sizeFactorT_
| sizeFactor.
ClpMatrixBase * | rowCopyT_
| Row copy of matrix.

## Additional Inherited Members

Protected Member Functions inherited from ClpCholeskyBase
int | symbolic1 (const int *Astart, const int *Arow)
| Symbolic1 - works out size without clever stuff.
void | symbolic2 (const int *Astart, const int *Arow)
| Symbolic2 - Fills in indices Uses lower triangular so can do cliques etc.
void | factorizePart2 (int *rowsDropped)
| Factorize - filling in rowsDropped and returning number dropped in integerParam.
void | solve (CoinWorkDouble *region, int type)
| solve - 1 just first half, 2 just second half - 3 both.
int | preOrder (bool lowerTriangular, bool includeDiagonal, bool doKKT)
| Forms ADAT - returns nonzero if not enough memory.
void | updateDense (longDouble *d, int *first)
| Updates dense part (broken out for profiling).
void | setType (int type)
| Sets type.
void | setModel (ClpInterior *model)
| model.
Protected Attributes inherited from ClpCholeskyBase
int | type_
| type (may be useful) if > 20 do KKT
bool | doKKT_
| Doing full KKT (only used if default symbolic and factorization).
double | goDense_
| Go dense at this fraction.
double | choleskyCondition_
| choleskyCondition.
ClpInterior * | model_
| model.
int | numberTrials_
| numberTrials. Number of trials before rejection
int | numberRows_
| numberRows. Number of Rows in factorization
int | status_
| status. Status of factorization
char * | rowsDropped_
| rowsDropped
int * | permuteInverse_
| permute inverse.
int * | permute_
| main permute.
int | numberRowsDropped_
| numberRowsDropped. Number of rows gone
longDouble * | sparseFactor_
| sparseFactor.
int * | choleskyStart_
| choleskyStart - element starts
int * | choleskyRow_
| choleskyRow (can be shorter than sparsefactor)
int * | indexStart_
| Index starts.
longDouble * | diagonal_
| Diagonal.
longDouble * | workDouble_
| double work array
int * | link_
| link array
int * | workInteger_
int * | clique_
int | sizeFactor_
| sizeFactor.
int | sizeIndex_
| Size of index array.
int | firstDense_
| First dense row.
int | integerParameters_ [64]
| integerParameters
double | doubleParameters_ [64]
| doubleParameters;
ClpMatrixBase * | rowCopy_
| Row copy of matrix.
char * | whichDense_
| Dense indicators.
longDouble * | denseColumn_
| Dense columns (updated).
ClpCholeskyDense * | dense_
| Dense cholesky.
int | denseThreshold_
| Dense threshold (for taking out of Cholesky).

## Detailed Description

Taucs class for Clp Cholesky factorization.

If you wish to use Sivan Toledo's TAUCS code see

http://www.tau.ac.il/~stoledo/taucs/

for terms of use

The taucs.h file was modified to put

#ifdef __cplusplus extern "C"{ #endif after line 440 (#endif) and #ifdef __cplusplus } #endif at end

I also modified LAPACK dpotf2.f (two places) to change the GO TO 30 on AJJ.Lt.0.0

to

            IF( AJJ.LE.1.0e-20 ) THEN
               AJJ = 1.0e100;
            ELSE
               AJJ = SQRT( AJJ )
            END IF

Definition at line 42 of file ClpCholeskyTaucs.hpp.

## Constructor & Destructor Documentation

## ClpCholeskyTaucs() [1/2]

ClpCholeskyTaucs::ClpCholeskyTaucs | ( |  | ) |

Default constructor.

## ~ClpCholeskyTaucs()

virtual ClpCholeskyTaucs::~ClpCholeskyTaucs | ( |  | ) |

virtual

Destructor.

## ClpCholeskyTaucs() [2/2]

ClpCholeskyTaucs::ClpCholeskyTaucs | ( | const ClpCholeskyTaucs & |  | ) |

## Member Function Documentation

## order()

virtual int ClpCholeskyTaucs::order | ( | ClpInterior * | model | ) |

virtual

Orders rows and saves pointer to matrix.and model.

Returns non-zero if not enough memory

Reimplemented from ClpCholeskyBase.

## symbolic()

virtual int ClpCholeskyTaucs::symbolic | ( |  | ) |

virtual

Dummy.

Reimplemented from ClpCholeskyBase.

## factorize()

virtual int ClpCholeskyTaucs::factorize | ( | const double * | diagonal,
|  | int * | rowsDropped )

virtual

Factorize - filling in rowsDropped and returning number dropped.

If return code negative then out of memory

## solve()

virtual void ClpCholeskyTaucs::solve | ( | double * | region | ) |

virtual

Uses factorization to solve.

## operator=()

ClpCholeskyTaucs & ClpCholeskyTaucs::operator= | ( | const ClpCholeskyTaucs & |  | ) |

## clone()

virtual ClpCholeskyBase * ClpCholeskyTaucs::clone | ( |  | ) | const

virtual

Clone.

Reimplemented from ClpCholeskyBase.

## Member Data Documentation

## matrix_

taucs_ccs_matrix* ClpCholeskyTaucs::matrix_

private

Taucs matrix (== sparseFactor etc).

Definition at line 77 of file ClpCholeskyTaucs.hpp.

## factorization_

void* ClpCholeskyTaucs::factorization_

private

Taucs factor.

Definition at line 79 of file ClpCholeskyTaucs.hpp.

## sparseFactorT_

double* ClpCholeskyTaucs::sparseFactorT_

private

sparseFactor.

Definition at line 81 of file ClpCholeskyTaucs.hpp.

## choleskyStartT_

CoinBigIndex* ClpCholeskyTaucs::choleskyStartT_

private

choleskyStart

Definition at line 83 of file ClpCholeskyTaucs.hpp.

## choleskyRowT_

int* ClpCholeskyTaucs::choleskyRowT_

private

choleskyRow

Definition at line 85 of file ClpCholeskyTaucs.hpp.

## sizeFactorT_

CoinBigIndex ClpCholeskyTaucs::sizeFactorT_

private

sizeFactor.

Definition at line 87 of file ClpCholeskyTaucs.hpp.

## rowCopyT_

ClpMatrixBase* ClpCholeskyTaucs::rowCopyT_

private

Row copy of matrix.

Definition at line 89 of file ClpCholeskyTaucs.hpp.

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

- Clp/src/ClpCholeskyTaucs.hpp