Clp
1.17.8
|
Taucs class for Clp Cholesky factorization. More...
#include <ClpCholeskyTaucs.hpp>
Public Member Functions | |
Virtual methods that the derived classes provides | |
| |
virtual int | order (ClpInterior *model) |
Orders rows and saves pointer to matrix.and model. More... | |
virtual int | symbolic () |
Dummy. More... | |
virtual int | factorize (const double *diagonal, int *rowsDropped) |
Factorize - filling in rowsDropped and returning number dropped. More... | |
virtual void | solve (double *region) |
Uses factorization to solve. More... | |
Constructors, destructor | |
ClpCholeskyTaucs () | |
Default constructor. More... | |
virtual | ~ClpCholeskyTaucs () |
Destructor More... | |
ClpCholeskyTaucs (const ClpCholeskyTaucs &) | |
ClpCholeskyTaucs & | operator= (const ClpCholeskyTaucs &) |
virtual ClpCholeskyBase * | clone () const |
Clone. More... | |
Public Member Functions inherited from ClpCholeskyBase | |
int | status () const |
status. Returns status More... | |
int | numberRowsDropped () const |
numberRowsDropped. Number of rows gone More... | |
void | resetRowsDropped () |
reset numberRowsDropped and rowsDropped. More... | |
char * | rowsDropped () const |
rowsDropped - which rows are gone More... | |
double | choleskyCondition () const |
choleskyCondition. More... | |
double | goDense () const |
goDense i.e. use dense factoriaztion if > this (default 0.7). More... | |
void | setGoDense (double value) |
goDense i.e. use dense factoriaztion if > this (default 0.7). More... | |
int | rank () const |
rank. Returns rank More... | |
int | numberRows () const |
Return number of rows. More... | |
int | size () const |
Return size. More... | |
longDouble * | sparseFactor () const |
Return sparseFactor. More... | |
longDouble * | diagonal () const |
Return diagonal. More... | |
longDouble * | workDouble () const |
Return workDouble. More... | |
bool | kkt () const |
If KKT on. More... | |
void | setKKT (bool yesNo) |
Set KKT. More... | |
void | setIntegerParameter (int i, int value) |
Set integer parameter. More... | |
int | getIntegerParameter (int i) |
get integer parameter More... | |
void | setDoubleParameter (int i, double value) |
Set double parameter. More... | |
double | getDoubleParameter (int i) |
get double parameter More... | |
ClpCholeskyBase (int denseThreshold=-1) | |
Constructor which has dense columns activated. More... | |
virtual | ~ClpCholeskyBase () |
Destructor (has to be public) More... | |
ClpCholeskyBase (const ClpCholeskyBase &) | |
Copy. More... | |
ClpCholeskyBase & | operator= (const ClpCholeskyBase &) |
Assignment. More... | |
virtual int | factorize (const CoinWorkDouble *diagonal, int *rowsDropped) |
Factorize - filling in rowsDropped and returning number dropped. More... | |
virtual void | solve (CoinWorkDouble *region) |
Uses factorization to solve. More... | |
virtual void | solveKKT (CoinWorkDouble *region1, CoinWorkDouble *region2, const CoinWorkDouble *diagonal, CoinWorkDouble diagonalScaleFactor) |
Uses factorization to solve. More... | |
int | type () const |
Returns type. More... | |
Private Attributes | |
Data members | |
taucs_ccs_matrix * | matrix_ |
Taucs matrix (== sparseFactor etc) More... | |
void * | factorization_ |
Taucs factor. More... | |
double * | sparseFactorT_ |
sparseFactor. More... | |
CoinBigIndex * | choleskyStartT_ |
choleskyStart More... | |
int * | choleskyRowT_ |
choleskyRow More... | |
CoinBigIndex | sizeFactorT_ |
sizeFactor. More... | |
ClpMatrixBase * | rowCopyT_ |
Row copy of matrix. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from ClpCholeskyBase | |
int | symbolic1 (const int *Astart, const int *Arow) |
Symbolic1 - works out size without clever stuff. More... | |
void | symbolic2 (const int *Astart, const int *Arow) |
Symbolic2 - Fills in indices Uses lower triangular so can do cliques etc. More... | |
void | factorizePart2 (int *rowsDropped) |
Factorize - filling in rowsDropped and returning number dropped in integerParam. More... | |
void | solve (CoinWorkDouble *region, int type) |
solve - 1 just first half, 2 just second half - 3 both. More... | |
int | preOrder (bool lowerTriangular, bool includeDiagonal, bool doKKT) |
Forms ADAT - returns nonzero if not enough memory. More... | |
void | updateDense (longDouble *d, int *first) |
Updates dense part (broken out for profiling) More... | |
void | setType (int type) |
Sets type. More... | |
void | setModel (ClpInterior *model) |
model. More... | |
Protected Attributes inherited from ClpCholeskyBase | |
int | type_ |
type (may be useful) if > 20 do KKT More... | |
bool | doKKT_ |
Doing full KKT (only used if default symbolic and factorization) More... | |
double | goDense_ |
Go dense at this fraction. More... | |
double | choleskyCondition_ |
choleskyCondition. More... | |
ClpInterior * | model_ |
model. More... | |
int | numberTrials_ |
numberTrials. Number of trials before rejection More... | |
int | numberRows_ |
numberRows. Number of Rows in factorization More... | |
int | status_ |
status. Status of factorization More... | |
char * | rowsDropped_ |
rowsDropped More... | |
int * | permuteInverse_ |
permute inverse. More... | |
int * | permute_ |
main permute. More... | |
int | numberRowsDropped_ |
numberRowsDropped. Number of rows gone More... | |
longDouble * | sparseFactor_ |
sparseFactor. More... | |
int * | choleskyStart_ |
choleskyStart - element starts More... | |
int * | choleskyRow_ |
choleskyRow (can be shorter than sparsefactor) More... | |
int * | indexStart_ |
Index starts. More... | |
longDouble * | diagonal_ |
Diagonal. More... | |
longDouble * | workDouble_ |
double work array More... | |
int * | link_ |
link array More... | |
int * | workInteger_ |
int * | clique_ |
int | sizeFactor_ |
sizeFactor. More... | |
int | sizeIndex_ |
Size of index array. More... | |
int | firstDense_ |
First dense row. More... | |
int | integerParameters_ [64] |
integerParameters More... | |
double | doubleParameters_ [64] |
doubleParameters; More... | |
ClpMatrixBase * | rowCopy_ |
Row copy of matrix. More... | |
char * | whichDense_ |
Dense indicators. More... | |
longDouble * | denseColumn_ |
Dense columns (updated) More... | |
ClpCholeskyDense * | dense_ |
Dense cholesky. More... | |
int | denseThreshold_ |
Dense threshold (for taking out of Cholesky) More... | |
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.
ClpCholeskyTaucs::ClpCholeskyTaucs | ( | ) |
Default constructor.
|
virtual |
Destructor
ClpCholeskyTaucs::ClpCholeskyTaucs | ( | const ClpCholeskyTaucs & | ) |
|
virtual |
Orders rows and saves pointer to matrix.and model.
Returns non-zero if not enough memory
Reimplemented from ClpCholeskyBase.
|
virtual |
Dummy.
Reimplemented from ClpCholeskyBase.
|
virtual |
Factorize - filling in rowsDropped and returning number dropped.
If return code negative then out of memory
|
virtual |
Uses factorization to solve.
ClpCholeskyTaucs& ClpCholeskyTaucs::operator= | ( | const ClpCholeskyTaucs & | ) |
|
virtual |
Clone.
Reimplemented from ClpCholeskyBase.
|
private |
Taucs matrix (== sparseFactor etc)
Definition at line 77 of file ClpCholeskyTaucs.hpp.
|
private |
Taucs factor.
Definition at line 79 of file ClpCholeskyTaucs.hpp.
|
private |
sparseFactor.
Definition at line 81 of file ClpCholeskyTaucs.hpp.
|
private |
choleskyStart
Definition at line 83 of file ClpCholeskyTaucs.hpp.
|
private |
choleskyRow
Definition at line 85 of file ClpCholeskyTaucs.hpp.
|
private |
sizeFactor.
Definition at line 87 of file ClpCholeskyTaucs.hpp.
|
private |
Row copy of matrix.
Definition at line 89 of file ClpCholeskyTaucs.hpp.