Loading...
Searching...
No Matches
CoinAbcTypeFactorization Class Reference

`#include <CoinAbcBaseFactorization.hpp>`

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

## Public Member Functions

Constructors and destructor and copy
| CoinAbcTypeFactorization ()
| Default constructor.
| CoinAbcTypeFactorization (const CoinAbcTypeFactorization &other)
| Copy constructor.
| CoinAbcTypeFactorization (const CoinFactorization &other)
| Copy constructor.
virtual | ~CoinAbcTypeFactorization ()
| Destructor.
virtual CoinAbcAnyFactorization * | clone () const
| Clone.
void | almostDestructor ()
| Delete all stuff (leaves as after CoinAbcFactorization()).
void | show_self () const
| Debug show object (shows one representation).
void | sort () const
| Debug - sort so can compare.
CoinAbcTypeFactorization & | operator= (const CoinAbcTypeFactorization &other)
| = copy
Do factorization
CoinSimplexDouble | conditionNumber () const
| Condition number - product of pivots after factorization.
general stuff such as permutation or status
CoinSimplexInt * | permute () const
| Returns address of permute region.
virtual CoinSimplexInt * | indices () const
| Returns array to put basis indices in.
virtual CoinSimplexInt * | pivotColumn () const
| Returns address of pivotColumn region (also used for permuting).
virtual CoinFactorizationDouble * | pivotRegion () const
| Returns address of pivot region.
CoinBigIndex * | startRowL () const
| Start of each row in L.
CoinBigIndex * | startColumnL () const
| Start of each column in L.
CoinSimplexInt * | indexColumnL () const
| Index of column in row for L.
CoinSimplexInt * | indexRowL () const
| Row indices of L.
CoinFactorizationDouble * | elementByRowL () const
| Elements in L (row copy).
CoinSimplexInt * | pivotLinkedBackwards () const
| Forward and backward linked lists (numberRows_+2).
CoinSimplexInt * | pivotLinkedForwards () const
CoinSimplexInt * | pivotLOrder () const
CoinSimplexInt * | firstCount () const
| For equal counts in factorization.
CoinSimplexInt * | nextCount () const
| Next Row/Column with count.
CoinSimplexInt * | lastCount () const
| Previous Row/Column with count.
CoinSimplexInt | numberRowsExtra () const
| Number of Rows after iterating.
CoinBigIndex | numberL () const
| Number in L.
CoinBigIndex | baseL () const
| Base of L.
CoinSimplexInt | maximumRowsExtra () const
| Maximum of Rows after iterating.
virtual CoinBigIndex | numberElements () const
| Total number of elements in factorization.
CoinSimplexInt | numberForrestTomlin () const
| Length of FT vector.
CoinSimplexDouble | adjustedAreaFactor () const
| Returns areaFactor but adjusted for dense.
CoinSimplexInt | messageLevel () const
| Level of detail of messages.
void | messageLevel (CoinSimplexInt value)
virtual void | maximumPivots (CoinSimplexInt value)
| Set maximum pivots.
CoinSimplexInt | denseThreshold () const
| Gets dense threshold.
void | setDenseThreshold (CoinSimplexInt value)
| Sets dense threshold.
CoinSimplexDouble | maximumCoefficient () const
| Returns maximum absolute value in factorization.
bool | spaceForForrestTomlin () const
| True if FT update and space.
some simple stuff
CoinBigIndex | numberElementsU () const
| Returns number in U area.
void | setNumberElementsU (CoinBigIndex value)
| Setss number in U area.
CoinBigIndex | lengthAreaU () const
| Returns length of U area.
CoinBigIndex | numberElementsL () const
| Returns number in L area.
CoinBigIndex | lengthAreaL () const
| Returns length of L area.
CoinBigIndex | numberElementsR () const
| Returns number in R area.
CoinBigIndex | numberCompressions () const
| Number of compressions done.
virtual CoinBigIndex * | starts () const
| Returns pivot row.
virtual CoinSimplexInt * | numberInRow () const
| Number of entries in each row.
virtual CoinSimplexInt * | numberInColumn () const
| Number of entries in each column.
virtual CoinFactorizationDouble * | elements () const
| Returns array to put basis elements in.
CoinBigIndex * | startColumnR () const
| Start of columns for R.
CoinFactorizationDouble * | elementU () const
| Elements of U.
CoinSimplexInt * | indexRowU () const
| Row indices of U.
CoinBigIndex * | startColumnU () const
| Start of each column in U.
double * | denseVector (CoinIndexedVector *vector) const
| Returns double * associated with vector.
double * | denseVector (CoinIndexedVector &vector) const
const double * | denseVector (const CoinIndexedVector *vector) const
| Returns double * associated with vector.
const double * | denseVector (const CoinIndexedVector &vector) const
void | toLongArray (CoinIndexedVector *vector, int which) const
| To a work array and associate vector.
void | fromLongArray (CoinIndexedVector *vector) const
| From a work array and dis-associate vector.
void | fromLongArray (int which) const
| From a work array and dis-associate vector.
void | scan (CoinIndexedVector *vector) const
| Scans region to find nonzeros.
rank one updates which do exist
Array persistence flag If 0 then as now (delete/new) 1 then only do arrays if bigger needed 2 as 1 but give a bit extra if bigger needed
virtual double | checkReplacePart1 (CoinIndexedVector *regionSparse, int pivotRow)
| Checks if can replace one Column to basis, returns update alpha Fills in region for use later partial update already in U.
virtual double | checkReplacePart1 (CoinIndexedVector *regionSparse, CoinIndexedVector *partialUpdate, int pivotRow)
| Checks if can replace one Column to basis, returns update alpha Fills in region for use later partial update in vector.
virtual int | checkReplacePart2 (int pivotRow, CoinSimplexDouble btranAlpha, double ftranAlpha, double ftAlpha, double acceptablePivot=1.0e-8)
| Checks if can replace one Column to basis, returns 0=OK, 1=Probably OK, 2=singular, 3=no room, 5 max pivots.
virtual void | replaceColumnPart3 (const AbcSimplex *model, CoinIndexedVector *regionSparse, CoinIndexedVector *tableauColumn, int pivotRow, double alpha)
| Replaces one Column to basis, partial update already in U.
virtual void | replaceColumnPart3 (const AbcSimplex *model, CoinIndexedVector *regionSparse, CoinIndexedVector *tableauColumn, CoinIndexedVector *partialUpdate, int pivotRow, double alpha)
| Replaces one Column to basis, partial update in vector.
void | updatePartialUpdate (CoinIndexedVector &partialUpdate)
| Update partial Ftran by R update.
virtual bool | wantsTableauColumn () const
| Returns true if wants tableauColumn in replaceColumn.
int | replaceColumnU (CoinIndexedVector *regionSparse, CoinBigIndex *deletedPosition, CoinSimplexInt *deletedColumns, CoinSimplexInt pivotRow)
| Combines BtranU and store which elements are to be deleted returns number to be deleted.
various uses of factorization (return code number elements)
*** Below this user may not want to know about which user may not want to know about (left over from my LP code)
virtual CoinSimplexInt | updateColumnFT (CoinIndexedVector &regionSparse)
| Later take out return codes (apart from +- 1 on FT).
virtual int | updateColumnFTPart1 (CoinIndexedVector &regionSparse)
virtual void | updateColumnFTPart2 (CoinIndexedVector &regionSparse)
virtual void | updateColumnFT (CoinIndexedVector &regionSparseFT, CoinIndexedVector &partialUpdate, int which)
| Updates one column (FTRAN) Tries to do FT update puts partial update in vector.
virtual CoinSimplexInt | updateColumn (CoinIndexedVector &regionSparse) const
| This version has same effect as above with FTUpdate==false so number returned is always >=0.
virtual CoinSimplexInt | updateTwoColumnsFT (CoinIndexedVector &regionFT, CoinIndexedVector &regionOther)
| Updates one column (FTRAN) from region2 Tries to do FT update number returned is negative if no room.
virtual CoinSimplexInt | updateColumnTranspose (CoinIndexedVector &regionSparse) const
| Updates one column (BTRAN) from regionSparse2 regionSparse starts as zero and is zero at end Note - if regionSparse2 packed on input - will be packed on output.
virtual void | updateFullColumn (CoinIndexedVector &regionSparse) const
| Updates one full column (FTRAN).
virtual void | updateFullColumnTranspose (CoinIndexedVector &regionSparse) const
| Updates one full column (BTRAN).
virtual void | updateWeights (CoinIndexedVector &regionSparse) const
| Updates one column for dual steepest edge weights (FTRAN).
virtual void | updateColumnCpu (CoinIndexedVector &regionSparse, int whichCpu) const
| Updates one column (FTRAN).
virtual void | updateColumnTransposeCpu (CoinIndexedVector &regionSparse, int whichCpu) const
| Updates one column (BTRAN).
void | unpack (CoinIndexedVector *regionFrom, CoinIndexedVector *regionTo) const
void | pack (CoinIndexedVector *regionFrom, CoinIndexedVector *regionTo) const
void | goSparse ()
| makes a row copy of L for speed and to allow very sparse problems
void | goSparse2 ()
virtual void | checkMarkArrays () const
CoinSimplexInt | sparseThreshold () const
| get sparse threshold
void | sparseThreshold (CoinSimplexInt value)
| set sparse threshold
void | clearArrays ()
| Get rid of all memory.
used by ClpFactorization
void | checkSparse ()
| See if worth going sparse.
void | gutsOfDestructor (CoinSimplexInt type=1)
| The real work of constructors etc 0 just scalars, 1 bit normal.
void | gutsOfInitialize (CoinSimplexInt type)
| 1 bit - tolerances etc, 2 more, 4 dummy arrays
void | gutsOfCopy (const CoinAbcTypeFactorization &other)
void | resetStatistics ()
| Reset all sparsity etc statistics.
void | printRegion (const CoinIndexedVector &vector, const char *where) const
Public Member Functions inherited from CoinAbcAnyFactorization
| CoinAbcAnyFactorization ()
| Default constructor.
| CoinAbcAnyFactorization (const CoinAbcAnyFactorization &other)
| Copy constructor.
virtual | ~CoinAbcAnyFactorization ()
| Destructor.
CoinAbcAnyFactorization & | operator= (const CoinAbcAnyFactorization &other)
| = copy
int | status () const
| Returns status.
void | setStatus (int value)
| Sets status.
int | pivots () const
| Returns number of pivots since factorization.
void | setPivots (int value)
| Sets number of pivots since factorization.
int | numberSlacks () const
| Returns number of slacks.
void | setNumberSlacks (int value)
| Sets number of slacks.
void | setNumberRows (int value)
| Set number of Rows after factorization.
int | numberRows () const
| Number of Rows after factorization.
CoinSimplexInt | numberDense () const
| Number of dense rows after factorization.
int | numberGoodColumns () const
| Number of good columns in factorization.
void | relaxAccuracyCheck (double value)
| Allows change of pivot accuracy check 1.0 == none >1.0 relaxed.
double | getAccuracyCheck () const
int | maximumPivots () const
| Maximum number of pivots between factorizations.
double | pivotTolerance () const
| Pivot tolerance.
void | pivotTolerance (double value)
double | minimumPivotTolerance () const
| Minimum pivot tolerance.
void | minimumPivotTolerance (double value)
double | areaFactor () const
| Area factor.
void | areaFactor (CoinSimplexDouble value)
double | zeroTolerance () const
| Zero tolerance.
void | zeroTolerance (double value)
virtual int * | pivotRow () const
| Returns pivot row.
virtual CoinFactorizationDouble * | workArea () const
| Returns work area.
virtual int * | intWorkArea () const
| Returns int work area.
virtual int * | permuteBack () const
| Returns permute back.
int | solveMode () const
| Get solve mode e.g.
void | setSolveMode (int value)
| Set solve mode e.g.
virtual void | setUsefulInformation (const int *info, int whereFrom)
| Useful information for factorization 0 - iteration number whereFrom is 0 for factorize and 1 for replaceColumn.
virtual void | checkReplacePart1a (CoinIndexedVector *, int)
virtual double | checkReplacePart1b (CoinIndexedVector *, int)

## Friends

void | CoinAbcFactorizationUnitTest (const std::string &mpsDir)

## data

CoinSimplexInt * | pivotColumnAddress_
CoinSimplexInt * | permuteAddress_
CoinFactorizationDouble * | pivotRegionAddress_
CoinFactorizationDouble * | elementUAddress_
CoinSimplexInt * | indexRowUAddress_
CoinSimplexInt * | numberInColumnAddress_
CoinSimplexInt * | numberInColumnPlusAddress_
CoinBigIndex * | startColumnUAddress_
CoinFactorizationDouble * | elementRowUAddress_
CoinBigIndex * | startRowUAddress_
CoinSimplexInt * | numberInRowAddress_
CoinSimplexInt * | indexColumnUAddress_
CoinSimplexInt * | firstCountAddress_
CoinSimplexInt * | nextCountAddress_
| Next Row/Column with count.
CoinSimplexInt * | lastCountAddress_
| Previous Row/Column with count.
CoinSimplexInt * | nextColumnAddress_
CoinSimplexInt * | lastColumnAddress_
CoinSimplexInt * | nextRowAddress_
CoinSimplexInt * | lastRowAddress_
CoinSimplexInt * | saveColumnAddress_
CoinCheckZero * | markRowAddress_
CoinSimplexInt * | listAddress_
CoinFactorizationDouble * | elementLAddress_
CoinSimplexInt * | indexRowLAddress_
CoinBigIndex * | startColumnLAddress_
CoinBigIndex * | startRowLAddress_
CoinSimplexInt * | pivotLinkedBackwardsAddress_
CoinSimplexInt * | pivotLinkedForwardsAddress_
CoinSimplexInt * | pivotLOrderAddress_
CoinBigIndex * | startColumnRAddress_
CoinFactorizationDouble * | elementRAddress_
| Elements of R.
CoinSimplexInt * | indexRowRAddress_
| Row indices for R.
CoinSimplexInt * | indexColumnLAddress_
CoinFactorizationDouble * | elementByRowLAddress_
CoinFactorizationDouble * | denseAreaAddress_
CoinFactorizationDouble * | workAreaAddress_
CoinSimplexUnsignedInt * | workArea2Address_
CoinSimplexInt * | sparseAddress_
CoinSimplexInt | numberRowsExtra_
| Number of Rows after iterating.
CoinSimplexInt | maximumRowsExtra_
| Maximum number of Rows after iterating.
CoinSimplexInt | numberRowsSmall_
| Size of small inverse.
CoinSimplexInt | numberGoodL_
| Number factorized in L.
CoinSimplexInt | numberRowsLeft_
| Number Rows left (numberRows-numberGood).
CoinBigIndex | totalElements_
| Number of elements in U (to go) or while iterating total overall.
CoinBigIndex | firstZeroed_
| First place in funny copy zeroed out.
CoinSimplexInt | sparseThreshold_
| Below this use sparse technology - if 0 then no L row copy.
CoinSimplexInt | numberR_
| Number in R.
CoinBigIndex | lengthR_
| Length of R stuff.
CoinBigIndex | lengthAreaR_
| length of area reserved for R
CoinBigIndex | numberL_
| Number in L.
CoinBigIndex | baseL_
| Base of L.
CoinBigIndex | lengthL_
| Length of L.
CoinBigIndex | lengthAreaL_
| Length of area reserved for L.
CoinSimplexInt | numberU_
| Number in U.
CoinBigIndex | maximumU_
| Maximum space used in U.
CoinBigIndex | lengthU_
| Length of U.
CoinBigIndex | lengthAreaU_
| Length of area reserved for U.
CoinBigIndex | lastEntryByColumnU_
| Last entry by column for U.
CoinBigIndex | lastEntryByRowU_
| Last entry by row for U.
CoinSimplexInt | numberTrials_
| Number of trials before rejection.
CoinSimplexInt | leadingDimension_
| Leading dimension for dense.
CoinIntArrayWithLength | pivotColumn_
| Pivot order for each Column.
CoinIntArrayWithLength | permute_
| Permutation vector for pivot row order.
CoinBigIndexArrayWithLength | startRowU_
| Start of each Row as pointer.
CoinIntArrayWithLength | numberInRow_
| Number in each Row.
CoinIntArrayWithLength | numberInColumn_
| Number in each Column.
CoinIntArrayWithLength | numberInColumnPlus_
| Number in each Column including pivoted.
CoinIntArrayWithLength | firstCount_
| First Row/Column with count of k, can tell which by offset - Rows then Columns.
CoinIntArrayWithLength | nextColumn_
| Next Column in memory order.
CoinIntArrayWithLength | lastColumn_
| Previous Column in memory order.
CoinIntArrayWithLength | nextRow_
| Next Row in memory order.
CoinIntArrayWithLength | lastRow_
| Previous Row in memory order.
CoinIntArrayWithLength | saveColumn_
| Columns left to do in a single pivot.
CoinIntArrayWithLength | markRow_
| Marks rows to be updated.
CoinIntArrayWithLength | indexColumnU_
| Base address for U (may change).
CoinFactorizationDoubleArrayWithLength | pivotRegion_
| Inverses of pivot values.
CoinFactorizationDoubleArrayWithLength | elementU_
| Elements of U.
CoinIntArrayWithLength | indexRowU_
| Row indices of U.
CoinBigIndexArrayWithLength | startColumnU_
| Start of each column in U.
CoinFactorizationDoubleArrayWithLength | elementRowU_
| Elements of U by row.
CoinFactorizationDoubleArrayWithLength | elementL_
| Elements of L.
CoinIntArrayWithLength | indexRowL_
| Row indices of L.
CoinBigIndexArrayWithLength | startColumnL_
| Start of each column in L.
CoinFactorizationDoubleArrayWithLength | denseArea_
| Dense area.
CoinFactorizationDoubleArrayWithLength | workArea_
| First work area.
CoinUnsignedIntArrayWithLength | workArea2_
| Second work area.
CoinBigIndexArrayWithLength | startRowL_
| Start of each row in L.
CoinIntArrayWithLength | indexColumnL_
| Index of column in row for L.
CoinFactorizationDoubleArrayWithLength | elementByRowL_
| Elements in L (row copy).
CoinIntArrayWithLength | sparse_
| Sparse regions.
CoinSimplexInt | messageLevel_
| Detail in messages.
CoinBigIndex | numberCompressions_
| Number of compressions done.
CoinSimplexInt | lastSlack_
double | ftranCountInput_
| To decide how to solve.
double | ftranCountAfterL_
double | ftranCountAfterR_
double | ftranCountAfterU_
double | ftranAverageAfterL_
double | ftranAverageAfterR_
double | ftranAverageAfterU_
CoinSimplexInt | numberFtranCounts_
CoinSimplexInt | maximumRows_
| Maximum rows (ever) (here to use double alignment).
double | ftranFTCountInput_
double | ftranFTCountAfterL_
double | ftranFTCountAfterR_
double | ftranFTCountAfterU_
double | ftranFTAverageAfterL_
double | ftranFTAverageAfterR_
double | ftranFTAverageAfterU_
CoinSimplexInt | numberFtranFTCounts_
CoinSimplexInt | denseThreshold_
| Dense threshold (here to use double alignment).
double | btranCountInput_
double | btranCountAfterU_
double | btranCountAfterR_
double | btranCountAfterL_
double | btranAverageAfterU_
double | btranAverageAfterR_
double | btranAverageAfterL_
CoinSimplexInt | numberBtranCounts_
CoinSimplexInt | maximumMaximumPivots_
| Maximum maximum pivots.
double | ftranFullCountInput_
| To decide how to solve.
double | ftranFullCountAfterL_
double | ftranFullCountAfterR_
double | ftranFullCountAfterU_
double | ftranFullAverageAfterL_
double | ftranFullAverageAfterR_
double | ftranFullAverageAfterU_
CoinSimplexInt | numberFtranFullCounts_
CoinSimplexInt | initialNumberRows_
| Rows first time nonzero.
double | btranFullCountInput_
| To decide how to solve.
double | btranFullCountAfterL_
double | btranFullCountAfterR_
double | btranFullCountAfterU_
double | btranFullAverageAfterL_
double | btranFullAverageAfterR_
double | btranFullAverageAfterU_
CoinSimplexInt | numberBtranFullCounts_
CoinSimplexInt | state_
| State of saved version and what can be done 0 - nothing saved 1 - saved and can go back to previous save by unwinding 2 - saved - getting on for a full copy higher bits - see ABC_FAC....
CoinBigIndex | sizeSparseArray_
| Size in bytes of a sparseArray.
bool | gotLCopy () const
void | setNoGotLCopy ()
void | setYesGotLCopy ()
bool | gotRCopy () const
void | setNoGotRCopy ()
void | setYesGotRCopy ()
bool | gotUCopy () const
void | setNoGotUCopy ()
void | setYesGotUCopy ()
bool | gotSparse () const
void | setNoGotSparse ()
void | setYesGotSparse ()

## used by factorization

virtual void | getAreas (CoinSimplexInt numberRows, CoinSimplexInt numberColumns, CoinBigIndex maximumL, CoinBigIndex maximumU)
| Gets space for a factorization, called by constructors.
virtual void | preProcess ()
| PreProcesses column ordered copy of basis.
void | preProcess (CoinSimplexInt)
double | preProcess3 ()
| Return largest element.
void | preProcess4 ()
virtual CoinSimplexInt | factor (AbcSimplex *model)
| Does most of factorization.
virtual void | postProcess (const CoinSimplexInt *sequence, CoinSimplexInt *pivotVariable)
| Does post processing on valid factorization - putting variables on correct rows.
virtual void | makeNonSingular (CoinSimplexInt *sequence)
| Makes a non-singular basis by replacing variables.
CoinSimplexInt | replaceColumnPFI (CoinIndexedVector *regionSparse, CoinSimplexInt pivotRow, CoinSimplexDouble alpha)
| Replaces one Column to basis for PFI returns 0=OK, 1=Probably OK, 2=singular, 3=no room.
CoinSimplexInt | factorSparse ()
| Does sparse phase of factorization return code is <0 error, 0= finished.
CoinSimplexInt | factorDense ()
| Does dense phase of factorization return code is <0 error, 0= finished.
bool | pivotOneOtherRow (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn)
| Pivots when just one other row so faster?
bool | pivotRowSingleton (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn)
| Does one pivot on Row Singleton in factorization.
void | pivotColumnSingleton (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn)
| Does one pivot on Column Singleton in factorization (can't return false).
void | afterPivot (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn)
| After pivoting.
int | wantToGoDense ()
| After pivoting - returns true if need to go dense.
bool | getColumnSpace (CoinSimplexInt iColumn, CoinSimplexInt extraNeeded)
| Gets space for one Column with given length, may have to do compression (returns True if successful), also moves existing vector, extraNeeded is over and above present.
bool | reorderU ()
| Reorders U so contiguous and in order (if there is space) Returns true if it could.
bool | getColumnSpaceIterateR (CoinSimplexInt iColumn, CoinFactorizationDouble value, CoinSimplexInt iRow)
| getColumnSpaceIterateR.
CoinBigIndex | getColumnSpaceIterate (CoinSimplexInt iColumn, CoinFactorizationDouble value, CoinSimplexInt iRow)
| getColumnSpaceIterate.
bool | getRowSpace (CoinSimplexInt iRow, CoinSimplexInt extraNeeded)
| Gets space for one Row with given length, may have to do compression (returns True if successful), also moves existing vector.
bool | getRowSpaceIterate (CoinSimplexInt iRow, CoinSimplexInt extraNeeded)
| Gets space for one Row with given length while iterating, may have to do compression (returns True if successful), also moves existing vector.
void | checkConsistency ()
| Checks that row and column copies look OK.
void | addLink (CoinSimplexInt index, CoinSimplexInt count)
| Adds a link in chain of equal counts.
void | deleteLink (CoinSimplexInt index)
| Deletes a link in chain of equal counts.
void | modifyLink (CoinSimplexInt index, CoinSimplexInt count)
| Modifies links in chain of equal counts.
void | separateLinks ()
| Separate out links with same row/column count.
void | separateLinks (CoinSimplexInt, CoinSimplexInt)
void | cleanup ()
| Cleans up at end of factorization.
void | doAddresses ()
| Set up addresses from arrays.
void | updateColumnL (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
| Updates part of column (FTRANL).
void | updateColumnLDensish (CoinIndexedVector *region) const
| Updates part of column (FTRANL) when densish.
void | updateColumnLDense (CoinIndexedVector *region) const
| Updates part of column (FTRANL) when dense (i.e. do as inner products).
void | updateColumnLSparse (CoinIndexedVector *region) const
| Updates part of column (FTRANL) when sparse.
void | updateColumnR (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
| Updates part of column (FTRANR) without FT update.
bool | storeFT (const CoinIndexedVector *regionFT)
| Store update after doing L and R - retuns false if no room.
void | updateColumnU (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
| Updates part of column (FTRANU).
void | updateColumnUSparse (CoinIndexedVector *regionSparse) const
| Updates part of column (FTRANU) when sparse.
void | updateColumnUDensish (CoinIndexedVector *regionSparse) const
| Updates part of column (FTRANU).
void | updateColumnUDense (CoinIndexedVector *regionSparse) const
| Updates part of column (FTRANU) when dense (i.e. do as inner products).
void | updateTwoColumnsUDensish (CoinSimplexInt &numberNonZero1, CoinFactorizationDouble *COIN_RESTRICT region1, CoinSimplexInt *COIN_RESTRICT index1, CoinSimplexInt &numberNonZero2, CoinFactorizationDouble *COIN_RESTRICT region2, CoinSimplexInt *COIN_RESTRICT index2) const
| Updates part of 2 columns (FTRANU) real work.
void | updateColumnPFI (CoinIndexedVector *regionSparse) const
| Updates part of column PFI (FTRAN) (after rest).
void | updateColumnTransposePFI (CoinIndexedVector *region) const
| Updates part of column transpose PFI (BTRAN) (before rest).
void | updateColumnTransposeU (CoinIndexedVector *region, CoinSimplexInt smallestIndex, CoinAbcStatistics &statistics) const
| Updates part of column transpose (BTRANU), assumes index is sorted i.e.
void | updateColumnTransposeUDensish (CoinIndexedVector *region, CoinSimplexInt smallestIndex) const
| Updates part of column transpose (BTRANU) when densish, assumes index is sorted i.e.
void | updateColumnTransposeUSparse (CoinIndexedVector *region) const
| Updates part of column transpose (BTRANU) when sparse, assumes index is sorted i.e.
void | updateColumnTransposeUByColumn (CoinIndexedVector *region, CoinSimplexInt smallestIndex) const
| Updates part of column transpose (BTRANU) by column assumes index is sorted i.e.
void | updateColumnTransposeR (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
| Updates part of column transpose (BTRANR).
void | updateColumnTransposeRDensish (CoinIndexedVector *region) const
| Updates part of column transpose (BTRANR) when dense.
void | updateColumnTransposeRSparse (CoinIndexedVector *region) const
| Updates part of column transpose (BTRANR) when sparse.
void | updateColumnTransposeL (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
| Updates part of column transpose (BTRANL).
void | updateColumnTransposeLDensish (CoinIndexedVector *region) const
| Updates part of column transpose (BTRANL) when densish by column.
void | updateColumnTransposeLByRow (CoinIndexedVector *region) const
| Updates part of column transpose (BTRANL) when densish by row.
void | updateColumnTransposeLSparse (CoinIndexedVector *region) const
| Updates part of column transpose (BTRANL) when sparse (by Row).
CoinSimplexInt | checkPivot (CoinSimplexDouble saveFromU, CoinSimplexDouble oldPivot) const
| Returns accuracy status of replaceColumn returns 0=OK, 1=Probably OK, 2=singular.
int | pivot (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn, CoinBigIndex pivotRowPosition, CoinBigIndex pivotColumnPosition, CoinFactorizationDouble *COIN_RESTRICT work, CoinSimplexUnsignedInt *COIN_RESTRICT workArea2, CoinSimplexInt increment2, int *COIN_RESTRICT markRow)
| 0 fine, -99 singular, 2 dense
int | pivot (CoinSimplexInt &pivotRow, CoinSimplexInt &pivotColumn, CoinBigIndex pivotRowPosition, CoinBigIndex pivotColumnPosition, int *COIN_RESTRICT markRow)

## Additional Inherited Members

Protected Attributes inherited from CoinAbcAnyFactorization
double | pivotTolerance_
| Pivot tolerance.
double | minimumPivotTolerance_
| Minimum pivot tolerance.
double | areaFactor_
| Area factor.
double | zeroTolerance_
| Zero tolerance.
double | relaxCheck_
| Relax check on accuracy in replaceColumn.
CoinBigIndex | factorElements_
| Number of elements after factorization.
int | numberRows_
| Number of Rows in factorization.
int | numberDense_
| Number of dense rows in factorization.
int | numberGoodU_
| Number factorized in U (not row singletons).
int | maximumPivots_
| Maximum number of pivots before factorization.
int | numberPivots_
| Number pivots since last factorization.
int | numberSlacks_
| Number slacks.
int | status_
| Status of factorization.
int | maximumRows_
| Maximum rows ever (i.e. use to copy arrays etc).
int * | pivotRow_
| Pivot row.
CoinFactorizationDouble * | elements_
| Elements of factorization and updates length is maxR*maxR+maxSpace will always be long enough so can have nR*nR ints in maxSpace.
CoinFactorizationDouble * | workArea_
| Work area of numberRows_.
int | solveMode_
| Solve mode e.g.

## Detailed Description

Definition at line 28 of file CoinAbcBaseFactorization.hpp.

## Constructor & Destructor Documentation

## CoinAbcTypeFactorization() [1/3]

CoinAbcTypeFactorization::CoinAbcTypeFactorization | ( |  | ) |

Default constructor.

## CoinAbcTypeFactorization() [2/3]

CoinAbcTypeFactorization::CoinAbcTypeFactorization | ( | const CoinAbcTypeFactorization & | other | ) |

Copy constructor.

## CoinAbcTypeFactorization() [3/3]

CoinAbcTypeFactorization::CoinAbcTypeFactorization | ( | const CoinFactorization & | other | ) |

Copy constructor.

## ~CoinAbcTypeFactorization()

virtual CoinAbcTypeFactorization::~CoinAbcTypeFactorization | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## clone()

virtual CoinAbcAnyFactorization * CoinAbcTypeFactorization::clone | ( |  | ) | const

virtual

Clone.

Implements CoinAbcAnyFactorization.

## almostDestructor()

void CoinAbcTypeFactorization::almostDestructor | ( |  | ) |

Delete all stuff (leaves as after CoinAbcFactorization()).

## show_self()

void CoinAbcTypeFactorization::show_self | ( |  | ) | const

Debug show object (shows one representation).

## sort()

void CoinAbcTypeFactorization::sort | ( |  | ) | const

Debug - sort so can compare.

## operator=()

CoinAbcTypeFactorization & CoinAbcTypeFactorization::operator= | ( | const CoinAbcTypeFactorization & | other | ) |

= copy

## conditionNumber()

CoinSimplexDouble CoinAbcTypeFactorization::conditionNumber | ( |  | ) | const

Condition number - product of pivots after factorization.

## permute()

CoinSimplexInt * CoinAbcTypeFactorization::permute | ( |  | ) | const

inline virtual

Returns address of permute region.

Implements CoinAbcAnyFactorization.

Definition at line 65 of file CoinAbcBaseFactorization.hpp.

## indices()

virtual CoinSimplexInt * CoinAbcTypeFactorization::indices | ( |  | ) | const

inline virtual

Returns array to put basis indices in.

Implements CoinAbcAnyFactorization.

Definition at line 70 of file CoinAbcBaseFactorization.hpp.

## pivotColumn()

virtual CoinSimplexInt * CoinAbcTypeFactorization::pivotColumn | ( |  | ) | const

inline virtual

Returns address of pivotColumn region (also used for permuting).

Reimplemented from CoinAbcAnyFactorization.

Definition at line 75 of file CoinAbcBaseFactorization.hpp.

## pivotRegion()

virtual CoinFactorizationDouble * CoinAbcTypeFactorization::pivotRegion | ( |  | ) | const

inline virtual

Returns address of pivot region.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 80 of file CoinAbcBaseFactorization.hpp.

## startRowL()

CoinBigIndex * CoinAbcTypeFactorization::startRowL | ( |  | ) | const

inline

Start of each row in L.

Definition at line 86 of file CoinAbcBaseFactorization.hpp.

## startColumnL()

CoinBigIndex * CoinAbcTypeFactorization::startColumnL | ( |  | ) | const

inline

Start of each column in L.

Definition at line 93 of file CoinAbcBaseFactorization.hpp.

## indexColumnL()

CoinSimplexInt * CoinAbcTypeFactorization::indexColumnL | ( |  | ) | const

inline

Index of column in row for L.

Definition at line 100 of file CoinAbcBaseFactorization.hpp.

## indexRowL()

CoinSimplexInt * CoinAbcTypeFactorization::indexRowL | ( |  | ) | const

inline

Row indices of L.

Definition at line 107 of file CoinAbcBaseFactorization.hpp.

## elementByRowL()

CoinFactorizationDouble * CoinAbcTypeFactorization::elementByRowL | ( |  | ) | const

inline

Elements in L (row copy).

Definition at line 114 of file CoinAbcBaseFactorization.hpp.

## pivotLinkedBackwards()

CoinSimplexInt * CoinAbcTypeFactorization::pivotLinkedBackwards | ( |  | ) | const

inline

Forward and backward linked lists (numberRows_+2).

Definition at line 122 of file CoinAbcBaseFactorization.hpp.

## pivotLinkedForwards()

CoinSimplexInt * CoinAbcTypeFactorization::pivotLinkedForwards | ( |  | ) | const

inline

Definition at line 126 of file CoinAbcBaseFactorization.hpp.

## pivotLOrder()

CoinSimplexInt * CoinAbcTypeFactorization::pivotLOrder | ( |  | ) | const

inline

Definition at line 130 of file CoinAbcBaseFactorization.hpp.

## firstCount()

CoinSimplexInt * CoinAbcTypeFactorization::firstCount | ( |  | ) | const

inline

For equal counts in factorization.

First Row/Column with count of k, can tell which by offset - Rows then Columns actually comes before nextCount

Definition at line 163 of file CoinAbcBaseFactorization.hpp.

## nextCount()

CoinSimplexInt * CoinAbcTypeFactorization::nextCount | ( |  | ) | const

inline

Next Row/Column with count.

Definition at line 169 of file CoinAbcBaseFactorization.hpp.

## lastCount()

CoinSimplexInt * CoinAbcTypeFactorization::lastCount | ( |  | ) | const

inline

Previous Row/Column with count.

Definition at line 175 of file CoinAbcBaseFactorization.hpp.

## numberRowsExtra()

CoinSimplexInt CoinAbcTypeFactorization::numberRowsExtra | ( |  | ) | const

inline

Number of Rows after iterating.

Definition at line 181 of file CoinAbcBaseFactorization.hpp.

## numberL()

CoinBigIndex CoinAbcTypeFactorization::numberL | ( |  | ) | const

inline

Number in L.

Definition at line 186 of file CoinAbcBaseFactorization.hpp.

## baseL()

CoinBigIndex CoinAbcTypeFactorization::baseL | ( |  | ) | const

inline

Base of L.

Definition at line 192 of file CoinAbcBaseFactorization.hpp.

## maximumRowsExtra()

CoinSimplexInt CoinAbcTypeFactorization::maximumRowsExtra | ( |  | ) | const

inline

Maximum of Rows after iterating.

Definition at line 197 of file CoinAbcBaseFactorization.hpp.

## numberElements()

virtual CoinBigIndex CoinAbcTypeFactorization::numberElements | ( |  | ) | const

inline virtual

Total number of elements in factorization.

Implements CoinAbcAnyFactorization.

Definition at line 202 of file CoinAbcBaseFactorization.hpp.

## numberForrestTomlin()

CoinSimplexInt CoinAbcTypeFactorization::numberForrestTomlin | ( |  | ) | const

inline

Length of FT vector.

Definition at line 207 of file CoinAbcBaseFactorization.hpp.

## adjustedAreaFactor()

CoinSimplexDouble CoinAbcTypeFactorization::adjustedAreaFactor | ( |  | ) | const

Returns areaFactor but adjusted for dense.

## messageLevel() [1/2]

CoinSimplexInt CoinAbcTypeFactorization::messageLevel | ( |  | ) | const

inline

Level of detail of messages.

Definition at line 214 of file CoinAbcBaseFactorization.hpp.

## messageLevel() [2/2]

void CoinAbcTypeFactorization::messageLevel | ( | CoinSimplexInt | value | ) |

## maximumPivots()

virtual void CoinAbcTypeFactorization::maximumPivots | ( | CoinSimplexInt | value | ) |

virtual

Set maximum pivots.

Reimplemented from CoinAbcAnyFactorization.

## denseThreshold()

CoinSimplexInt CoinAbcTypeFactorization::denseThreshold | ( |  | ) | const

inline

Gets dense threshold.

Definition at line 224 of file CoinAbcBaseFactorization.hpp.

## setDenseThreshold()

void CoinAbcTypeFactorization::setDenseThreshold | ( | CoinSimplexInt | value | ) |

inline

Sets dense threshold.

Definition at line 229 of file CoinAbcBaseFactorization.hpp.

## maximumCoefficient()

CoinSimplexDouble CoinAbcTypeFactorization::maximumCoefficient | ( |  | ) | const

Returns maximum absolute value in factorization.

## spaceForForrestTomlin()

bool CoinAbcTypeFactorization::spaceForForrestTomlin | ( |  | ) | const

inline

True if FT update and space.

Definition at line 244 of file CoinAbcBaseFactorization.hpp.

## numberElementsU()

CoinBigIndex CoinAbcTypeFactorization::numberElementsU | ( |  | ) | const

inline

Returns number in U area.

Definition at line 256 of file CoinAbcBaseFactorization.hpp.

## setNumberElementsU()

void CoinAbcTypeFactorization::setNumberElementsU | ( | CoinBigIndex | value | ) |

inline

Setss number in U area.

Definition at line 261 of file CoinAbcBaseFactorization.hpp.

## lengthAreaU()

CoinBigIndex CoinAbcTypeFactorization::lengthAreaU | ( |  | ) | const

inline

Returns length of U area.

Definition at line 266 of file CoinAbcBaseFactorization.hpp.

## numberElementsL()

CoinBigIndex CoinAbcTypeFactorization::numberElementsL | ( |  | ) | const

inline

Returns number in L area.

Definition at line 271 of file CoinAbcBaseFactorization.hpp.

## lengthAreaL()

CoinBigIndex CoinAbcTypeFactorization::lengthAreaL | ( |  | ) | const

inline

Returns length of L area.

Definition at line 276 of file CoinAbcBaseFactorization.hpp.

## numberElementsR()

CoinBigIndex CoinAbcTypeFactorization::numberElementsR | ( |  | ) | const

inline

Returns number in R area.

Definition at line 281 of file CoinAbcBaseFactorization.hpp.

## numberCompressions()

CoinBigIndex CoinAbcTypeFactorization::numberCompressions | ( |  | ) | const

inline

Number of compressions done.

Definition at line 286 of file CoinAbcBaseFactorization.hpp.

## starts()

virtual CoinBigIndex * CoinAbcTypeFactorization::starts | ( |  | ) | const

inline virtual

Returns pivot row.

Returns work area Returns CoinSimplexInt work area Returns array to put basis starts in

Reimplemented from CoinAbcAnyFactorization.

Definition at line 297 of file CoinAbcBaseFactorization.hpp.

## numberInRow()

virtual CoinSimplexInt * CoinAbcTypeFactorization::numberInRow | ( |  | ) | const

inline virtual

Number of entries in each row.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 302 of file CoinAbcBaseFactorization.hpp.

## numberInColumn()

virtual CoinSimplexInt * CoinAbcTypeFactorization::numberInColumn | ( |  | ) | const

inline virtual

Number of entries in each column.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 307 of file CoinAbcBaseFactorization.hpp.

## elements()

virtual CoinFactorizationDouble * CoinAbcTypeFactorization::elements | ( |  | ) | const

inline virtual

Returns array to put basis elements in.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 312 of file CoinAbcBaseFactorization.hpp.

## startColumnR()

CoinBigIndex * CoinAbcTypeFactorization::startColumnR | ( |  | ) | const

inline

Start of columns for R.

Definition at line 317 of file CoinAbcBaseFactorization.hpp.

## elementU()

CoinFactorizationDouble * CoinAbcTypeFactorization::elementU | ( |  | ) | const

inline

Elements of U.

Definition at line 322 of file CoinAbcBaseFactorization.hpp.

## indexRowU()

CoinSimplexInt * CoinAbcTypeFactorization::indexRowU | ( |  | ) | const

inline

Row indices of U.

Definition at line 327 of file CoinAbcBaseFactorization.hpp.

## startColumnU()

CoinBigIndex * CoinAbcTypeFactorization::startColumnU | ( |  | ) | const

inline

Start of each column in U.

Definition at line 332 of file CoinAbcBaseFactorization.hpp.

## denseVector() [1/4]

double * CoinAbcTypeFactorization::denseVector | ( | CoinIndexedVector * | vector | ) | const

inline

Returns double * associated with vector.

Definition at line 357 of file CoinAbcBaseFactorization.hpp.

## denseVector() [2/4]

double * CoinAbcTypeFactorization::denseVector | ( | CoinIndexedVector & | vector | ) | const

inline

Definition at line 361 of file CoinAbcBaseFactorization.hpp.

## denseVector() [3/4]

const double * CoinAbcTypeFactorization::denseVector | ( | const CoinIndexedVector * | vector | ) | const

inline

Returns double * associated with vector.

Definition at line 366 of file CoinAbcBaseFactorization.hpp.

## denseVector() [4/4]

const double * CoinAbcTypeFactorization::denseVector | ( | const CoinIndexedVector & | vector | ) | const

inline

Definition at line 370 of file CoinAbcBaseFactorization.hpp.

## toLongArray()

void CoinAbcTypeFactorization::toLongArray | ( | CoinIndexedVector * | vector,
|  | int | which ) const

inline

To a work array and associate vector.

Definition at line 375 of file CoinAbcBaseFactorization.hpp.

## fromLongArray() [1/2]

void CoinAbcTypeFactorization::fromLongArray | ( | CoinIndexedVector * | vector | ) | const

inline

From a work array and dis-associate vector.

Definition at line 377 of file CoinAbcBaseFactorization.hpp.

## fromLongArray() [2/2]

void CoinAbcTypeFactorization::fromLongArray | ( | int | which | ) | const

inline

From a work array and dis-associate vector.

Definition at line 379 of file CoinAbcBaseFactorization.hpp.

## scan()

void CoinAbcTypeFactorization::scan | ( | CoinIndexedVector * | vector | ) | const

inline

Scans region to find nonzeros.

Definition at line 381 of file CoinAbcBaseFactorization.hpp.

## checkReplacePart1() [1/2]

virtual double CoinAbcTypeFactorization::checkReplacePart1 | ( | CoinIndexedVector * | regionSparse,
|  | int | pivotRow )

virtual

Checks if can replace one Column to basis, returns update alpha Fills in region for use later partial update already in U.

Reimplemented from CoinAbcAnyFactorization.

## checkReplacePart1() [2/2]

virtual double CoinAbcTypeFactorization::checkReplacePart1 | ( | CoinIndexedVector * | regionSparse,
|  | CoinIndexedVector * | partialUpdate,
|  | int | pivotRow )

virtual

Checks if can replace one Column to basis, returns update alpha Fills in region for use later partial update in vector.

Reimplemented from CoinAbcAnyFactorization.

## checkReplacePart2()

virtual int CoinAbcTypeFactorization::checkReplacePart2 | ( | int | pivotRow,
|  | CoinSimplexDouble | btranAlpha,
|  | double | ftranAlpha,
|  | double | ftAlpha,
|  | double | acceptablePivot = 1.0e-8 )

virtual

Checks if can replace one Column to basis, returns 0=OK, 1=Probably OK, 2=singular, 3=no room, 5 max pivots.

Implements CoinAbcAnyFactorization.

## replaceColumnPart3() [1/2]

virtual void CoinAbcTypeFactorization::replaceColumnPart3 | ( | const AbcSimplex * | model,
|  | CoinIndexedVector * | regionSparse,
|  | CoinIndexedVector * | tableauColumn,
|  | int | pivotRow,
|  | double | alpha )

virtual

Replaces one Column to basis, partial update already in U.

Implements CoinAbcAnyFactorization.

## replaceColumnPart3() [2/2]

virtual void CoinAbcTypeFactorization::replaceColumnPart3 | ( | const AbcSimplex * | model,
|  | CoinIndexedVector * | regionSparse,
|  | CoinIndexedVector * | tableauColumn,
|  | CoinIndexedVector * | partialUpdate,
|  | int | pivotRow,
|  | double | alpha )

virtual

Replaces one Column to basis, partial update in vector.

Implements CoinAbcAnyFactorization.

## updatePartialUpdate()

void CoinAbcTypeFactorization::updatePartialUpdate | ( | CoinIndexedVector & | partialUpdate | ) |

Update partial Ftran by R update.

## wantsTableauColumn()

virtual bool CoinAbcTypeFactorization::wantsTableauColumn | ( |  | ) | const

inline virtual

Returns true if wants tableauColumn in replaceColumn.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 503 of file CoinAbcBaseFactorization.hpp.

## replaceColumnU()

int CoinAbcTypeFactorization::replaceColumnU | ( | CoinIndexedVector * | regionSparse,
|  | CoinBigIndex * | deletedPosition,
|  | CoinSimplexInt * | deletedColumns,
|  | CoinSimplexInt | pivotRow )

Combines BtranU and store which elements are to be deleted returns number to be deleted.

## updateColumnFT() [1/2]

virtual CoinSimplexInt CoinAbcTypeFactorization::updateColumnFT | ( | CoinIndexedVector & | regionSparse | ) |

virtual

Later take out return codes (apart from +- 1 on FT).

Updates one column (FTRAN) from regionSparse2 Tries to do FT update number returned is negative if no room regionSparse starts as zero and is zero at end. Note - if regionSparse2 packed on input - will be packed on output

Implements CoinAbcAnyFactorization.

## updateColumnFTPart1()

virtual int CoinAbcTypeFactorization::updateColumnFTPart1 | ( | CoinIndexedVector & | regionSparse | ) |

virtual

Implements CoinAbcAnyFactorization.

## updateColumnFTPart2()

virtual void CoinAbcTypeFactorization::updateColumnFTPart2 | ( | CoinIndexedVector & | regionSparse | ) |

virtual

Implements CoinAbcAnyFactorization.

## updateColumnFT() [2/2]

virtual void CoinAbcTypeFactorization::updateColumnFT | ( | CoinIndexedVector & | regionSparseFT,
|  | CoinIndexedVector & | partialUpdate,
|  | int | which )

virtual

Updates one column (FTRAN) Tries to do FT update puts partial update in vector.

Implements CoinAbcAnyFactorization.

## updateColumn()

virtual CoinSimplexInt CoinAbcTypeFactorization::updateColumn | ( | CoinIndexedVector & | regionSparse | ) | const

virtual

This version has same effect as above with FTUpdate==false so number returned is always >=0.

Implements CoinAbcAnyFactorization.

## updateTwoColumnsFT()

virtual CoinSimplexInt CoinAbcTypeFactorization::updateTwoColumnsFT | ( | CoinIndexedVector & | regionFT,
|  | CoinIndexedVector & | regionOther )

virtual

Updates one column (FTRAN) from region2 Tries to do FT update number returned is negative if no room.

Also updates region3 region1 starts as zero and is zero at end

Implements CoinAbcAnyFactorization.

## updateColumnTranspose()

virtual CoinSimplexInt CoinAbcTypeFactorization::updateColumnTranspose | ( | CoinIndexedVector & | regionSparse | ) | const

virtual

Updates one column (BTRAN) from regionSparse2 regionSparse starts as zero and is zero at end Note - if regionSparse2 packed on input - will be packed on output.

Implements CoinAbcAnyFactorization.

## updateFullColumn()

virtual void CoinAbcTypeFactorization::updateFullColumn | ( | CoinIndexedVector & | regionSparse | ) | const

virtual

Updates one full column (FTRAN).

Implements CoinAbcAnyFactorization.

## updateFullColumnTranspose()

virtual void CoinAbcTypeFactorization::updateFullColumnTranspose | ( | CoinIndexedVector & | regionSparse | ) | const

virtual

Updates one full column (BTRAN).

Implements CoinAbcAnyFactorization.

## updateWeights()

virtual void CoinAbcTypeFactorization::updateWeights | ( | CoinIndexedVector & | regionSparse | ) | const

virtual

Updates one column for dual steepest edge weights (FTRAN).

Implements CoinAbcAnyFactorization.

## updateColumnCpu()

virtual void CoinAbcTypeFactorization::updateColumnCpu | ( | CoinIndexedVector & | regionSparse,
|  | int | whichCpu ) const

virtual

Updates one column (FTRAN).

Reimplemented from CoinAbcAnyFactorization.

## updateColumnTransposeCpu()

virtual void CoinAbcTypeFactorization::updateColumnTransposeCpu | ( | CoinIndexedVector & | regionSparse,
|  | int | whichCpu ) const

virtual

Updates one column (BTRAN).

Reimplemented from CoinAbcAnyFactorization.

## unpack()

void CoinAbcTypeFactorization::unpack | ( | CoinIndexedVector * | regionFrom,
|  | CoinIndexedVector * | regionTo ) const

## pack()

void CoinAbcTypeFactorization::pack | ( | CoinIndexedVector * | regionFrom,
|  | CoinIndexedVector * | regionTo ) const

## goSparse()

void CoinAbcTypeFactorization::goSparse | ( |  | ) |

inline virtual

makes a row copy of L for speed and to allow very sparse problems

Reimplemented from CoinAbcAnyFactorization.

Definition at line 565 of file CoinAbcBaseFactorization.hpp.

## goSparse2()

void CoinAbcTypeFactorization::goSparse2 | ( |  | ) |

## checkMarkArrays()

virtual void CoinAbcTypeFactorization::checkMarkArrays | ( |  | ) | const

virtual

Reimplemented from CoinAbcAnyFactorization.

## sparseThreshold() [1/2]

CoinSimplexInt CoinAbcTypeFactorization::sparseThreshold | ( |  | ) | const

inline

get sparse threshold

Definition at line 572 of file CoinAbcBaseFactorization.hpp.

## sparseThreshold() [2/2]

void CoinAbcTypeFactorization::sparseThreshold | ( | CoinSimplexInt | value | ) |

set sparse threshold

## clearArrays()

void CoinAbcTypeFactorization::clearArrays | ( |  | ) |

inline virtual

Get rid of all memory.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 586 of file CoinAbcBaseFactorization.hpp.

## checkSparse()

void CoinAbcTypeFactorization::checkSparse | ( |  | ) |

See if worth going sparse.

## gutsOfDestructor()

void CoinAbcTypeFactorization::gutsOfDestructor | ( | CoinSimplexInt | type = 1 | ) |

The real work of constructors etc 0 just scalars, 1 bit normal.

## gutsOfInitialize()

void CoinAbcTypeFactorization::gutsOfInitialize | ( | CoinSimplexInt | type | ) |

1 bit - tolerances etc, 2 more, 4 dummy arrays

## gutsOfCopy()

void CoinAbcTypeFactorization::gutsOfCopy | ( | const CoinAbcTypeFactorization & | other | ) |

## resetStatistics()

void CoinAbcTypeFactorization::resetStatistics | ( |  | ) |

Reset all sparsity etc statistics.

## printRegion()

void CoinAbcTypeFactorization::printRegion | ( | const CoinIndexedVector & | vector,
|  | const char * | where ) const

## getAreas()

virtual void CoinAbcTypeFactorization::getAreas | ( | CoinSimplexInt | numberRows,
|  | CoinSimplexInt | numberColumns,
|  | CoinBigIndex | maximumL,
|  | CoinBigIndex | maximumU )

virtual

Gets space for a factorization, called by constructors.

Implements CoinAbcAnyFactorization.

## preProcess() [1/2]

virtual void CoinAbcTypeFactorization::preProcess | ( |  | ) |

virtual

PreProcesses column ordered copy of basis.

Implements CoinAbcAnyFactorization.

## preProcess() [2/2]

void CoinAbcTypeFactorization::preProcess | ( | CoinSimplexInt |  | ) |

## preProcess3()

double CoinAbcTypeFactorization::preProcess3 | ( |  | ) |

Return largest element.

## preProcess4()

void CoinAbcTypeFactorization::preProcess4 | ( |  | ) |

## factor()

virtual CoinSimplexInt CoinAbcTypeFactorization::factor | ( | AbcSimplex * | model | ) |

virtual

Does most of factorization.

Implements CoinAbcAnyFactorization.

## postProcess()

virtual void CoinAbcTypeFactorization::postProcess | ( | const CoinSimplexInt * | sequence,
|  | CoinSimplexInt * | pivotVariable )

virtual

Does post processing on valid factorization - putting variables on correct rows.

Implements CoinAbcAnyFactorization.

## makeNonSingular()

virtual void CoinAbcTypeFactorization::makeNonSingular | ( | CoinSimplexInt * | sequence | ) |

virtual

Makes a non-singular basis by replacing variables.

Implements CoinAbcAnyFactorization.

## factorSparse()

CoinSimplexInt CoinAbcTypeFactorization::factorSparse | ( |  | ) |

protected

Does sparse phase of factorization return code is <0 error, 0= finished.

## factorDense()

CoinSimplexInt CoinAbcTypeFactorization::factorDense | ( |  | ) |

protected

Does dense phase of factorization return code is <0 error, 0= finished.

## pivotOneOtherRow()

bool CoinAbcTypeFactorization::pivotOneOtherRow | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn )

protected

Pivots when just one other row so faster?

## pivotRowSingleton()

bool CoinAbcTypeFactorization::pivotRowSingleton | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn )

protected

Does one pivot on Row Singleton in factorization.

## pivotColumnSingleton()

void CoinAbcTypeFactorization::pivotColumnSingleton | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn )

protected

Does one pivot on Column Singleton in factorization (can't return false).

## afterPivot()

void CoinAbcTypeFactorization::afterPivot | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn )

protected

After pivoting.

## wantToGoDense()

int CoinAbcTypeFactorization::wantToGoDense | ( |  | ) |

protected

After pivoting - returns true if need to go dense.

## getColumnSpace()

bool CoinAbcTypeFactorization::getColumnSpace | ( | CoinSimplexInt | iColumn,
|  | CoinSimplexInt | extraNeeded )

protected

Gets space for one Column with given length, may have to do compression (returns True if successful), also moves existing vector, extraNeeded is over and above present.

## reorderU()

bool CoinAbcTypeFactorization::reorderU | ( |  | ) |

protected

Reorders U so contiguous and in order (if there is space) Returns true if it could.

## getColumnSpaceIterateR()

bool CoinAbcTypeFactorization::getColumnSpaceIterateR | ( | CoinSimplexInt | iColumn,
|  | CoinFactorizationDouble | value,
|  | CoinSimplexInt | iRow )

protected

getColumnSpaceIterateR.

Gets space for one extra R element in Column may have to do compression (returns true) also moves existing vector

## getColumnSpaceIterate()

CoinBigIndex CoinAbcTypeFactorization::getColumnSpaceIterate | ( | CoinSimplexInt | iColumn,
|  | CoinFactorizationDouble | value,
|  | CoinSimplexInt | iRow )

protected

getColumnSpaceIterate.

Gets space for one extra U element in Column may have to do compression (returns true) also moves existing vector. Returns -1 if no memory or where element was put Used by replaceRow (turns off R version)

## getRowSpace()

bool CoinAbcTypeFactorization::getRowSpace | ( | CoinSimplexInt | iRow,
|  | CoinSimplexInt | extraNeeded )

protected

Gets space for one Row with given length, may have to do compression (returns True if successful), also moves existing vector.

## getRowSpaceIterate()

bool CoinAbcTypeFactorization::getRowSpaceIterate | ( | CoinSimplexInt | iRow,
|  | CoinSimplexInt | extraNeeded )

protected

Gets space for one Row with given length while iterating, may have to do compression (returns True if successful), also moves existing vector.

## checkConsistency()

void CoinAbcTypeFactorization::checkConsistency | ( |  | ) |

protected

Checks that row and column copies look OK.

## addLink()

void CoinAbcTypeFactorization::addLink | ( | CoinSimplexInt | index,
|  | CoinSimplexInt | count )

inline protected

Adds a link in chain of equal counts.

Definition at line 694 of file CoinAbcBaseFactorization.hpp.

## deleteLink()

void CoinAbcTypeFactorization::deleteLink | ( | CoinSimplexInt | index | ) |

inline protected

Deletes a link in chain of equal counts.

Definition at line 707 of file CoinAbcBaseFactorization.hpp.

## modifyLink()

void CoinAbcTypeFactorization::modifyLink | ( | CoinSimplexInt | index,
|  | CoinSimplexInt | count )

inline protected

Modifies links in chain of equal counts.

Definition at line 726 of file CoinAbcBaseFactorization.hpp.

## separateLinks() [1/2]

void CoinAbcTypeFactorization::separateLinks | ( |  | ) |

protected

Separate out links with same row/column count.

## separateLinks() [2/2]

void CoinAbcTypeFactorization::separateLinks | ( | CoinSimplexInt | ,
|  | CoinSimplexInt | )

protected

## cleanup()

void CoinAbcTypeFactorization::cleanup | ( |  | ) |

protected

Cleans up at end of factorization.

## doAddresses()

void CoinAbcTypeFactorization::doAddresses | ( |  | ) |

protected

Set up addresses from arrays.

## updateColumnL()

void CoinAbcTypeFactorization::updateColumnL | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics ) const

protected

Updates part of column (FTRANL).

## updateColumnLDensish()

void CoinAbcTypeFactorization::updateColumnLDensish | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column (FTRANL) when densish.

## updateColumnLDense()

void CoinAbcTypeFactorization::updateColumnLDense | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column (FTRANL) when dense (i.e. do as inner products).

## updateColumnLSparse()

void CoinAbcTypeFactorization::updateColumnLSparse | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column (FTRANL) when sparse.

## updateColumnR()

void CoinAbcTypeFactorization::updateColumnR | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics ) const

protected

Updates part of column (FTRANR) without FT update.

## storeFT()

bool CoinAbcTypeFactorization::storeFT | ( | const CoinIndexedVector * | regionFT | ) |

protected

Store update after doing L and R - retuns false if no room.

## updateColumnU()

void CoinAbcTypeFactorization::updateColumnU | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics ) const

protected

Updates part of column (FTRANU).

## updateColumnUSparse()

void CoinAbcTypeFactorization::updateColumnUSparse | ( | CoinIndexedVector * | regionSparse | ) | const

protected

Updates part of column (FTRANU) when sparse.

## updateColumnUDensish()

void CoinAbcTypeFactorization::updateColumnUDensish | ( | CoinIndexedVector * | regionSparse | ) | const

protected

Updates part of column (FTRANU).

## updateColumnUDense()

void CoinAbcTypeFactorization::updateColumnUDense | ( | CoinIndexedVector * | regionSparse | ) | const

protected

Updates part of column (FTRANU) when dense (i.e. do as inner products).

## updateTwoColumnsUDensish()

void CoinAbcTypeFactorization::updateTwoColumnsUDensish | ( | CoinSimplexInt & | numberNonZero1,
|  | CoinFactorizationDouble *COIN_RESTRICT | region1,
|  | CoinSimplexInt *COIN_RESTRICT | index1,
|  | CoinSimplexInt & | numberNonZero2,
|  | CoinFactorizationDouble *COIN_RESTRICT | region2,
|  | CoinSimplexInt *COIN_RESTRICT | index2 ) const

protected

Updates part of 2 columns (FTRANU) real work.

## updateColumnPFI()

void CoinAbcTypeFactorization::updateColumnPFI | ( | CoinIndexedVector * | regionSparse | ) | const

protected

Updates part of column PFI (FTRAN) (after rest).

## updateColumnTransposePFI()

void CoinAbcTypeFactorization::updateColumnTransposePFI | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column transpose PFI (BTRAN) (before rest).

## updateColumnTransposeU()

void CoinAbcTypeFactorization::updateColumnTransposeU | ( | CoinIndexedVector * | region,
|  | CoinSimplexInt | smallestIndex,
|  | CoinAbcStatistics & | statistics ) const

protected

Updates part of column transpose (BTRANU), assumes index is sorted i.e.

region is correct

## updateColumnTransposeUDensish()

void CoinAbcTypeFactorization::updateColumnTransposeUDensish | ( | CoinIndexedVector * | region,
|  | CoinSimplexInt | smallestIndex ) const

protected

Updates part of column transpose (BTRANU) when densish, assumes index is sorted i.e.

region is correct

## updateColumnTransposeUSparse()

void CoinAbcTypeFactorization::updateColumnTransposeUSparse | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column transpose (BTRANU) when sparse, assumes index is sorted i.e.

region is correct

## updateColumnTransposeUByColumn()

void CoinAbcTypeFactorization::updateColumnTransposeUByColumn | ( | CoinIndexedVector * | region,
|  | CoinSimplexInt | smallestIndex ) const

protected

Updates part of column transpose (BTRANU) by column assumes index is sorted i.e.

region is correct

## updateColumnTransposeR()

void CoinAbcTypeFactorization::updateColumnTransposeR | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics ) const

protected

Updates part of column transpose (BTRANR).

## updateColumnTransposeRDensish()

void CoinAbcTypeFactorization::updateColumnTransposeRDensish | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column transpose (BTRANR) when dense.

## updateColumnTransposeRSparse()

void CoinAbcTypeFactorization::updateColumnTransposeRSparse | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column transpose (BTRANR) when sparse.

## updateColumnTransposeL()

void CoinAbcTypeFactorization::updateColumnTransposeL | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics ) const

protected

Updates part of column transpose (BTRANL).

## updateColumnTransposeLDensish()

void CoinAbcTypeFactorization::updateColumnTransposeLDensish | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column transpose (BTRANL) when densish by column.

## updateColumnTransposeLByRow()

void CoinAbcTypeFactorization::updateColumnTransposeLByRow | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column transpose (BTRANL) when densish by row.

## updateColumnTransposeLSparse()

void CoinAbcTypeFactorization::updateColumnTransposeLSparse | ( | CoinIndexedVector * | region | ) | const

protected

Updates part of column transpose (BTRANL) when sparse (by Row).

## replaceColumnPFI()

CoinSimplexInt CoinAbcTypeFactorization::replaceColumnPFI | ( | CoinIndexedVector * | regionSparse,
|  | CoinSimplexInt | pivotRow,
|  | CoinSimplexDouble | alpha )

Replaces one Column to basis for PFI returns 0=OK, 1=Probably OK, 2=singular, 3=no room.

In this case region is not empty - it is incoming variable (updated)

## checkPivot()

CoinSimplexInt CoinAbcTypeFactorization::checkPivot | ( | CoinSimplexDouble | saveFromU,
|  | CoinSimplexDouble | oldPivot ) const

protected

Returns accuracy status of replaceColumn returns 0=OK, 1=Probably OK, 2=singular.

## pivot() [1/2]

int CoinAbcTypeFactorization::pivot | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn,
|  | CoinBigIndex | pivotRowPosition,
|  | CoinBigIndex | pivotColumnPosition,
|  | CoinFactorizationDouble *COIN_RESTRICT | work,
|  | CoinSimplexUnsignedInt *COIN_RESTRICT | workArea2,
|  | CoinSimplexInt | increment2,
|  | int *COIN_RESTRICT | markRow )

protected

0 fine, -99 singular, 2 dense

## pivot() [2/2]

int CoinAbcTypeFactorization::pivot | ( | CoinSimplexInt & | pivotRow,
|  | CoinSimplexInt & | pivotColumn,
|  | CoinBigIndex | pivotRowPosition,
|  | CoinBigIndex | pivotColumnPosition,
|  | int *COIN_RESTRICT | markRow )

protected

## gotLCopy()

bool CoinAbcTypeFactorization::gotLCopy | ( |  | ) | const

inline

Definition at line 1244 of file CoinAbcBaseFactorization.hpp.

## setNoGotLCopy()

void CoinAbcTypeFactorization::setNoGotLCopy | ( |  | ) |

inline

Definition at line 1248 of file CoinAbcBaseFactorization.hpp.

## setYesGotLCopy()

void CoinAbcTypeFactorization::setYesGotLCopy | ( |  | ) |

inline

Definition at line 1249 of file CoinAbcBaseFactorization.hpp.

## gotRCopy()

bool CoinAbcTypeFactorization::gotRCopy | ( |  | ) | const

inline

Definition at line 1250 of file CoinAbcBaseFactorization.hpp.

## setNoGotRCopy()

void CoinAbcTypeFactorization::setNoGotRCopy | ( |  | ) |

inline

Definition at line 1251 of file CoinAbcBaseFactorization.hpp.

## setYesGotRCopy()

void CoinAbcTypeFactorization::setYesGotRCopy | ( |  | ) |

inline

Definition at line 1252 of file CoinAbcBaseFactorization.hpp.

## gotUCopy()

bool CoinAbcTypeFactorization::gotUCopy | ( |  | ) | const

inline

Definition at line 1253 of file CoinAbcBaseFactorization.hpp.

## setNoGotUCopy()

void CoinAbcTypeFactorization::setNoGotUCopy | ( |  | ) |

inline

Definition at line 1254 of file CoinAbcBaseFactorization.hpp.

## setYesGotUCopy()

void CoinAbcTypeFactorization::setYesGotUCopy | ( |  | ) |

inline

Definition at line 1255 of file CoinAbcBaseFactorization.hpp.

## gotSparse()

bool CoinAbcTypeFactorization::gotSparse | ( |  | ) | const

inline

Definition at line 1256 of file CoinAbcBaseFactorization.hpp.

## setNoGotSparse()

void CoinAbcTypeFactorization::setNoGotSparse | ( |  | ) |

inline

Definition at line 1257 of file CoinAbcBaseFactorization.hpp.

## setYesGotSparse()

void CoinAbcTypeFactorization::setYesGotSparse | ( |  | ) |

inline

Definition at line 1258 of file CoinAbcBaseFactorization.hpp.

## Friends And Related Symbol Documentation

## CoinAbcFactorizationUnitTest

void CoinAbcFactorizationUnitTest | ( | const std::string & | mpsDir | ) |

friend

## Member Data Documentation

## pivotColumnAddress_

CoinSimplexInt* CoinAbcTypeFactorization::pivotColumnAddress_

protected

Definition at line 938 of file CoinAbcBaseFactorization.hpp.

## permuteAddress_

CoinSimplexInt* CoinAbcTypeFactorization::permuteAddress_

protected

Definition at line 939 of file CoinAbcBaseFactorization.hpp.

## pivotRegionAddress_

CoinFactorizationDouble* CoinAbcTypeFactorization::pivotRegionAddress_

protected

Definition at line 940 of file CoinAbcBaseFactorization.hpp.

## elementUAddress_

CoinFactorizationDouble* CoinAbcTypeFactorization::elementUAddress_

protected

Definition at line 941 of file CoinAbcBaseFactorization.hpp.

## indexRowUAddress_

CoinSimplexInt* CoinAbcTypeFactorization::indexRowUAddress_

protected

Definition at line 942 of file CoinAbcBaseFactorization.hpp.

## numberInColumnAddress_

CoinSimplexInt* CoinAbcTypeFactorization::numberInColumnAddress_

protected

Definition at line 943 of file CoinAbcBaseFactorization.hpp.

## numberInColumnPlusAddress_

CoinSimplexInt* CoinAbcTypeFactorization::numberInColumnPlusAddress_

protected

Definition at line 944 of file CoinAbcBaseFactorization.hpp.

## startColumnUAddress_

CoinBigIndex* CoinAbcTypeFactorization::startColumnUAddress_

protected

Definition at line 950 of file CoinAbcBaseFactorization.hpp.

## elementRowUAddress_

CoinFactorizationDouble* CoinAbcTypeFactorization::elementRowUAddress_

protected

Definition at line 958 of file CoinAbcBaseFactorization.hpp.

## startRowUAddress_

CoinBigIndex* CoinAbcTypeFactorization::startRowUAddress_

protected

Definition at line 960 of file CoinAbcBaseFactorization.hpp.

## numberInRowAddress_

CoinSimplexInt* CoinAbcTypeFactorization::numberInRowAddress_

protected

Definition at line 961 of file CoinAbcBaseFactorization.hpp.

## indexColumnUAddress_

CoinSimplexInt* CoinAbcTypeFactorization::indexColumnUAddress_

protected

Definition at line 962 of file CoinAbcBaseFactorization.hpp.

## firstCountAddress_

CoinSimplexInt* CoinAbcTypeFactorization::firstCountAddress_

protected

Definition at line 963 of file CoinAbcBaseFactorization.hpp.

## nextCountAddress_

CoinSimplexInt* CoinAbcTypeFactorization::nextCountAddress_

protected

Next Row/Column with count.

Definition at line 965 of file CoinAbcBaseFactorization.hpp.

## lastCountAddress_

CoinSimplexInt* CoinAbcTypeFactorization::lastCountAddress_

protected

Previous Row/Column with count.

Definition at line 967 of file CoinAbcBaseFactorization.hpp.

## nextColumnAddress_

CoinSimplexInt* CoinAbcTypeFactorization::nextColumnAddress_

protected

Definition at line 968 of file CoinAbcBaseFactorization.hpp.

## lastColumnAddress_

CoinSimplexInt* CoinAbcTypeFactorization::lastColumnAddress_

protected

Definition at line 969 of file CoinAbcBaseFactorization.hpp.

## nextRowAddress_

CoinSimplexInt* CoinAbcTypeFactorization::nextRowAddress_

protected

Definition at line 970 of file CoinAbcBaseFactorization.hpp.

## lastRowAddress_

CoinSimplexInt* CoinAbcTypeFactorization::lastRowAddress_

protected

Definition at line 971 of file CoinAbcBaseFactorization.hpp.

## saveColumnAddress_

CoinSimplexInt* CoinAbcTypeFactorization::saveColumnAddress_

protected

Definition at line 972 of file CoinAbcBaseFactorization.hpp.

## markRowAddress_

CoinCheckZero* CoinAbcTypeFactorization::markRowAddress_

protected

Definition at line 974 of file CoinAbcBaseFactorization.hpp.

## listAddress_

CoinSimplexInt* CoinAbcTypeFactorization::listAddress_

protected

Definition at line 975 of file CoinAbcBaseFactorization.hpp.

## elementLAddress_

CoinFactorizationDouble* CoinAbcTypeFactorization::elementLAddress_

protected

Definition at line 976 of file CoinAbcBaseFactorization.hpp.

## indexRowLAddress_

CoinSimplexInt* CoinAbcTypeFactorization::indexRowLAddress_

protected

Definition at line 977 of file CoinAbcBaseFactorization.hpp.

## startColumnLAddress_

CoinBigIndex* CoinAbcTypeFactorization::startColumnLAddress_

protected

Definition at line 978 of file CoinAbcBaseFactorization.hpp.

## startRowLAddress_

CoinBigIndex* CoinAbcTypeFactorization::startRowLAddress_

protected

Definition at line 980 of file CoinAbcBaseFactorization.hpp.

## pivotLinkedBackwardsAddress_

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedBackwardsAddress_

protected

Definition at line 982 of file CoinAbcBaseFactorization.hpp.

## pivotLinkedForwardsAddress_

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedForwardsAddress_

protected

Definition at line 983 of file CoinAbcBaseFactorization.hpp.

## pivotLOrderAddress_

CoinSimplexInt* CoinAbcTypeFactorization::pivotLOrderAddress_

protected

Definition at line 984 of file CoinAbcBaseFactorization.hpp.

## startColumnRAddress_

CoinBigIndex* CoinAbcTypeFactorization::startColumnRAddress_

protected

Definition at line 985 of file CoinAbcBaseFactorization.hpp.

## elementRAddress_

CoinFactorizationDouble* CoinAbcTypeFactorization::elementRAddress_

protected

Elements of R.

Definition at line 987 of file CoinAbcBaseFactorization.hpp.

## indexRowRAddress_

CoinSimplexInt* CoinAbcTypeFactorization::indexRowRAddress_

protected

Row indices for R.

Definition at line 989 of file CoinAbcBaseFactorization.hpp.

## indexColumnLAddress_

CoinSimplexInt* CoinAbcTypeFactorization::indexColumnLAddress_

protected

Definition at line 990 of file CoinAbcBaseFactorization.hpp.

## elementByRowLAddress_

CoinFactorizationDouble* CoinAbcTypeFactorization::elementByRowLAddress_

protected

Definition at line 991 of file CoinAbcBaseFactorization.hpp.

## denseAreaAddress_

CoinFactorizationDouble* CoinAbcTypeFactorization::denseAreaAddress_

protected

Definition at line 993 of file CoinAbcBaseFactorization.hpp.

## workAreaAddress_

CoinFactorizationDouble* CoinAbcTypeFactorization::workAreaAddress_

protected

Definition at line 995 of file CoinAbcBaseFactorization.hpp.

## workArea2Address_

CoinSimplexUnsignedInt* CoinAbcTypeFactorization::workArea2Address_

protected

Definition at line 996 of file CoinAbcBaseFactorization.hpp.

## sparseAddress_

CoinSimplexInt* CoinAbcTypeFactorization::sparseAddress_

mutable protected

Definition at line 997 of file CoinAbcBaseFactorization.hpp.

## numberRowsExtra_

CoinSimplexInt CoinAbcTypeFactorization::numberRowsExtra_

protected

Number of Rows after iterating.

Definition at line 1003 of file CoinAbcBaseFactorization.hpp.

## maximumRowsExtra_

CoinSimplexInt CoinAbcTypeFactorization::maximumRowsExtra_

protected

Maximum number of Rows after iterating.

Definition at line 1005 of file CoinAbcBaseFactorization.hpp.

## numberRowsSmall_

CoinSimplexInt CoinAbcTypeFactorization::numberRowsSmall_

protected

Size of small inverse.

Definition at line 1007 of file CoinAbcBaseFactorization.hpp.

## numberGoodL_

CoinSimplexInt CoinAbcTypeFactorization::numberGoodL_

protected

Number factorized in L.

Definition at line 1009 of file CoinAbcBaseFactorization.hpp.

## numberRowsLeft_

CoinSimplexInt CoinAbcTypeFactorization::numberRowsLeft_

protected

Number Rows left (numberRows-numberGood).

Definition at line 1011 of file CoinAbcBaseFactorization.hpp.

## totalElements_

CoinBigIndex CoinAbcTypeFactorization::totalElements_

protected

Number of elements in U (to go) or while iterating total overall.

Definition at line 1014 of file CoinAbcBaseFactorization.hpp.

## firstZeroed_

CoinBigIndex CoinAbcTypeFactorization::firstZeroed_

protected

First place in funny copy zeroed out.

Definition at line 1016 of file CoinAbcBaseFactorization.hpp.

## sparseThreshold_

CoinSimplexInt CoinAbcTypeFactorization::sparseThreshold_

protected

Below this use sparse technology - if 0 then no L row copy.

Definition at line 1019 of file CoinAbcBaseFactorization.hpp.

## numberR_

CoinSimplexInt CoinAbcTypeFactorization::numberR_

protected

Number in R.

Definition at line 1022 of file CoinAbcBaseFactorization.hpp.

## lengthR_

CoinBigIndex CoinAbcTypeFactorization::lengthR_

protected

Length of R stuff.

Definition at line 1024 of file CoinAbcBaseFactorization.hpp.

## lengthAreaR_

CoinBigIndex CoinAbcTypeFactorization::lengthAreaR_

protected

length of area reserved for R

Definition at line 1026 of file CoinAbcBaseFactorization.hpp.

## numberL_

CoinBigIndex CoinAbcTypeFactorization::numberL_

protected

Number in L.

Definition at line 1028 of file CoinAbcBaseFactorization.hpp.

## baseL_

CoinBigIndex CoinAbcTypeFactorization::baseL_

protected

Base of L.

Definition at line 1030 of file CoinAbcBaseFactorization.hpp.

## lengthL_

CoinBigIndex CoinAbcTypeFactorization::lengthL_

protected

Length of L.

Definition at line 1032 of file CoinAbcBaseFactorization.hpp.

## lengthAreaL_

CoinBigIndex CoinAbcTypeFactorization::lengthAreaL_

protected

Length of area reserved for L.

Definition at line 1034 of file CoinAbcBaseFactorization.hpp.

## numberU_

CoinSimplexInt CoinAbcTypeFactorization::numberU_

protected

Number in U.

Definition at line 1036 of file CoinAbcBaseFactorization.hpp.

## maximumU_

CoinBigIndex CoinAbcTypeFactorization::maximumU_

protected

Maximum space used in U.

Definition at line 1038 of file CoinAbcBaseFactorization.hpp.

## lengthU_

CoinBigIndex CoinAbcTypeFactorization::lengthU_

protected

Length of U.

Definition at line 1040 of file CoinAbcBaseFactorization.hpp.

## lengthAreaU_

CoinBigIndex CoinAbcTypeFactorization::lengthAreaU_

protected

Length of area reserved for U.

Definition at line 1042 of file CoinAbcBaseFactorization.hpp.

## lastEntryByColumnU_

CoinBigIndex CoinAbcTypeFactorization::lastEntryByColumnU_

protected

Last entry by column for U.

Definition at line 1044 of file CoinAbcBaseFactorization.hpp.

## lastEntryByRowU_

CoinBigIndex CoinAbcTypeFactorization::lastEntryByRowU_

protected

Last entry by row for U.

Definition at line 1052 of file CoinAbcBaseFactorization.hpp.

## numberTrials_

CoinSimplexInt CoinAbcTypeFactorization::numberTrials_

protected

Number of trials before rejection.

Definition at line 1054 of file CoinAbcBaseFactorization.hpp.

## leadingDimension_

CoinSimplexInt CoinAbcTypeFactorization::leadingDimension_

protected

Leading dimension for dense.

Definition at line 1057 of file CoinAbcBaseFactorization.hpp.

## pivotColumn_

CoinIntArrayWithLength CoinAbcTypeFactorization::pivotColumn_

protected

Pivot order for each Column.

Definition at line 1066 of file CoinAbcBaseFactorization.hpp.

## permute_

CoinIntArrayWithLength CoinAbcTypeFactorization::permute_

protected

Permutation vector for pivot row order.

Definition at line 1068 of file CoinAbcBaseFactorization.hpp.

## startRowU_

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startRowU_

protected

Start of each Row as pointer.

Definition at line 1070 of file CoinAbcBaseFactorization.hpp.

## numberInRow_

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInRow_

protected

Number in each Row.

Definition at line 1072 of file CoinAbcBaseFactorization.hpp.

## numberInColumn_

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInColumn_

protected

Number in each Column.

Definition at line 1074 of file CoinAbcBaseFactorization.hpp.

## numberInColumnPlus_

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInColumnPlus_

protected

Number in each Column including pivoted.

Definition at line 1076 of file CoinAbcBaseFactorization.hpp.

## firstCount_

CoinIntArrayWithLength CoinAbcTypeFactorization::firstCount_

protected

First Row/Column with count of k, can tell which by offset - Rows then Columns.

Definition at line 1079 of file CoinAbcBaseFactorization.hpp.

## nextColumn_

CoinIntArrayWithLength CoinAbcTypeFactorization::nextColumn_

protected

Next Column in memory order.

Definition at line 1081 of file CoinAbcBaseFactorization.hpp.

## lastColumn_

CoinIntArrayWithLength CoinAbcTypeFactorization::lastColumn_

protected

Previous Column in memory order.

Definition at line 1083 of file CoinAbcBaseFactorization.hpp.

## nextRow_

CoinIntArrayWithLength CoinAbcTypeFactorization::nextRow_

protected

Next Row in memory order.

Definition at line 1085 of file CoinAbcBaseFactorization.hpp.

## lastRow_

CoinIntArrayWithLength CoinAbcTypeFactorization::lastRow_

protected

Previous Row in memory order.

Definition at line 1087 of file CoinAbcBaseFactorization.hpp.

## saveColumn_

CoinIntArrayWithLength CoinAbcTypeFactorization::saveColumn_

protected

Columns left to do in a single pivot.

Definition at line 1089 of file CoinAbcBaseFactorization.hpp.

## markRow_

CoinIntArrayWithLength CoinAbcTypeFactorization::markRow_

protected

Marks rows to be updated.

Definition at line 1091 of file CoinAbcBaseFactorization.hpp.

## indexColumnU_

CoinIntArrayWithLength CoinAbcTypeFactorization::indexColumnU_

protected

Base address for U (may change).

Definition at line 1093 of file CoinAbcBaseFactorization.hpp.

## pivotRegion_

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::pivotRegion_

protected

Inverses of pivot values.

Definition at line 1095 of file CoinAbcBaseFactorization.hpp.

## elementU_

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementU_

protected

Elements of U.

Definition at line 1097 of file CoinAbcBaseFactorization.hpp.

## indexRowU_

CoinIntArrayWithLength CoinAbcTypeFactorization::indexRowU_

protected

Row indices of U.

Definition at line 1099 of file CoinAbcBaseFactorization.hpp.

## startColumnU_

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startColumnU_

protected

Start of each column in U.

Definition at line 1101 of file CoinAbcBaseFactorization.hpp.

## elementRowU_

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementRowU_

protected

Elements of U by row.

Definition at line 1116 of file CoinAbcBaseFactorization.hpp.

## elementL_

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementL_

protected

Elements of L.

Definition at line 1119 of file CoinAbcBaseFactorization.hpp.

## indexRowL_

CoinIntArrayWithLength CoinAbcTypeFactorization::indexRowL_

protected

Row indices of L.

Definition at line 1121 of file CoinAbcBaseFactorization.hpp.

## startColumnL_

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startColumnL_

protected

Start of each column in L.

Definition at line 1123 of file CoinAbcBaseFactorization.hpp.

## denseArea_

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::denseArea_

protected

Dense area.

Definition at line 1126 of file CoinAbcBaseFactorization.hpp.

## workArea_

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::workArea_

protected

First work area.

Definition at line 1129 of file CoinAbcBaseFactorization.hpp.

## workArea2_

CoinUnsignedIntArrayWithLength CoinAbcTypeFactorization::workArea2_

protected

Second work area.

Definition at line 1131 of file CoinAbcBaseFactorization.hpp.

## startRowL_

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startRowL_

protected

Start of each row in L.

Definition at line 1134 of file CoinAbcBaseFactorization.hpp.

## indexColumnL_

CoinIntArrayWithLength CoinAbcTypeFactorization::indexColumnL_

protected

Index of column in row for L.

Definition at line 1136 of file CoinAbcBaseFactorization.hpp.

## elementByRowL_

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementByRowL_

protected

Elements in L (row copy).

Definition at line 1138 of file CoinAbcBaseFactorization.hpp.

## sparse_

CoinIntArrayWithLength CoinAbcTypeFactorization::sparse_

mutable protected

Sparse regions.

Definition at line 1140 of file CoinAbcBaseFactorization.hpp.

## messageLevel_

CoinSimplexInt CoinAbcTypeFactorization::messageLevel_

protected

Detail in messages.

Definition at line 1143 of file CoinAbcBaseFactorization.hpp.

## numberCompressions_

CoinBigIndex CoinAbcTypeFactorization::numberCompressions_

protected

Number of compressions done.

Definition at line 1145 of file CoinAbcBaseFactorization.hpp.

## lastSlack_

CoinSimplexInt CoinAbcTypeFactorization::lastSlack_

protected

Definition at line 1147 of file CoinAbcBaseFactorization.hpp.

## ftranCountInput_

double CoinAbcTypeFactorization::ftranCountInput_

mutable protected

To decide how to solve.

Definition at line 1150 of file CoinAbcBaseFactorization.hpp.

## ftranCountAfterL_

double CoinAbcTypeFactorization::ftranCountAfterL_

mutable protected

Definition at line 1151 of file CoinAbcBaseFactorization.hpp.

## ftranCountAfterR_

double CoinAbcTypeFactorization::ftranCountAfterR_

mutable protected

Definition at line 1152 of file CoinAbcBaseFactorization.hpp.

## ftranCountAfterU_

double CoinAbcTypeFactorization::ftranCountAfterU_

mutable protected

Definition at line 1153 of file CoinAbcBaseFactorization.hpp.

## ftranAverageAfterL_

double CoinAbcTypeFactorization::ftranAverageAfterL_

protected

Definition at line 1154 of file CoinAbcBaseFactorization.hpp.

## ftranAverageAfterR_

double CoinAbcTypeFactorization::ftranAverageAfterR_

protected

Definition at line 1155 of file CoinAbcBaseFactorization.hpp.

## ftranAverageAfterU_

double CoinAbcTypeFactorization::ftranAverageAfterU_

protected

Definition at line 1156 of file CoinAbcBaseFactorization.hpp.

## numberFtranCounts_

CoinSimplexInt CoinAbcTypeFactorization::numberFtranCounts_

mutable protected

Definition at line 1161 of file CoinAbcBaseFactorization.hpp.

## maximumRows_

CoinSimplexInt CoinAbcTypeFactorization::maximumRows_

protected

Maximum rows (ever) (here to use double alignment).

Definition at line 1164 of file CoinAbcBaseFactorization.hpp.

## ftranFTCountInput_

double CoinAbcTypeFactorization::ftranFTCountInput_

mutable protected

Definition at line 1166 of file CoinAbcBaseFactorization.hpp.

## ftranFTCountAfterL_

double CoinAbcTypeFactorization::ftranFTCountAfterL_

mutable protected

Definition at line 1167 of file CoinAbcBaseFactorization.hpp.

## ftranFTCountAfterR_

double CoinAbcTypeFactorization::ftranFTCountAfterR_

mutable protected

Definition at line 1168 of file CoinAbcBaseFactorization.hpp.

## ftranFTCountAfterU_

double CoinAbcTypeFactorization::ftranFTCountAfterU_

mutable protected

Definition at line 1169 of file CoinAbcBaseFactorization.hpp.

## ftranFTAverageAfterL_

double CoinAbcTypeFactorization::ftranFTAverageAfterL_

protected

Definition at line 1170 of file CoinAbcBaseFactorization.hpp.

## ftranFTAverageAfterR_

double CoinAbcTypeFactorization::ftranFTAverageAfterR_

protected

Definition at line 1171 of file CoinAbcBaseFactorization.hpp.

## ftranFTAverageAfterU_

double CoinAbcTypeFactorization::ftranFTAverageAfterU_

protected

Definition at line 1172 of file CoinAbcBaseFactorization.hpp.

## numberFtranFTCounts_

CoinSimplexInt CoinAbcTypeFactorization::numberFtranFTCounts_

mutable protected

Definition at line 1177 of file CoinAbcBaseFactorization.hpp.

## denseThreshold_

CoinSimplexInt CoinAbcTypeFactorization::denseThreshold_

protected

Dense threshold (here to use double alignment).

Definition at line 1181 of file CoinAbcBaseFactorization.hpp.

## btranCountInput_

double CoinAbcTypeFactorization::btranCountInput_

mutable protected

Definition at line 1184 of file CoinAbcBaseFactorization.hpp.

## btranCountAfterU_

double CoinAbcTypeFactorization::btranCountAfterU_

mutable protected

Definition at line 1185 of file CoinAbcBaseFactorization.hpp.

## btranCountAfterR_

double CoinAbcTypeFactorization::btranCountAfterR_

mutable protected

Definition at line 1186 of file CoinAbcBaseFactorization.hpp.

## btranCountAfterL_

double CoinAbcTypeFactorization::btranCountAfterL_

mutable protected

Definition at line 1187 of file CoinAbcBaseFactorization.hpp.

## btranAverageAfterU_

double CoinAbcTypeFactorization::btranAverageAfterU_

protected

Definition at line 1188 of file CoinAbcBaseFactorization.hpp.

## btranAverageAfterR_

double CoinAbcTypeFactorization::btranAverageAfterR_

protected

Definition at line 1189 of file CoinAbcBaseFactorization.hpp.

## btranAverageAfterL_

double CoinAbcTypeFactorization::btranAverageAfterL_

protected

Definition at line 1190 of file CoinAbcBaseFactorization.hpp.

## numberBtranCounts_

CoinSimplexInt CoinAbcTypeFactorization::numberBtranCounts_

mutable protected

Definition at line 1195 of file CoinAbcBaseFactorization.hpp.

## maximumMaximumPivots_

CoinSimplexInt CoinAbcTypeFactorization::maximumMaximumPivots_

protected

Maximum maximum pivots.

Definition at line 1198 of file CoinAbcBaseFactorization.hpp.

## ftranFullCountInput_

double CoinAbcTypeFactorization::ftranFullCountInput_

mutable protected

To decide how to solve.

Definition at line 1201 of file CoinAbcBaseFactorization.hpp.

## ftranFullCountAfterL_

double CoinAbcTypeFactorization::ftranFullCountAfterL_

mutable protected

Definition at line 1202 of file CoinAbcBaseFactorization.hpp.

## ftranFullCountAfterR_

double CoinAbcTypeFactorization::ftranFullCountAfterR_

mutable protected

Definition at line 1203 of file CoinAbcBaseFactorization.hpp.

## ftranFullCountAfterU_

double CoinAbcTypeFactorization::ftranFullCountAfterU_

mutable protected

Definition at line 1204 of file CoinAbcBaseFactorization.hpp.

## ftranFullAverageAfterL_

double CoinAbcTypeFactorization::ftranFullAverageAfterL_

protected

Definition at line 1205 of file CoinAbcBaseFactorization.hpp.

## ftranFullAverageAfterR_

double CoinAbcTypeFactorization::ftranFullAverageAfterR_

protected

Definition at line 1206 of file CoinAbcBaseFactorization.hpp.

## ftranFullAverageAfterU_

double CoinAbcTypeFactorization::ftranFullAverageAfterU_

protected

Definition at line 1207 of file CoinAbcBaseFactorization.hpp.

## numberFtranFullCounts_

CoinSimplexInt CoinAbcTypeFactorization::numberFtranFullCounts_

mutable protected

Definition at line 1212 of file CoinAbcBaseFactorization.hpp.

## initialNumberRows_

CoinSimplexInt CoinAbcTypeFactorization::initialNumberRows_

protected

Rows first time nonzero.

Definition at line 1215 of file CoinAbcBaseFactorization.hpp.

## btranFullCountInput_

double CoinAbcTypeFactorization::btranFullCountInput_

mutable protected

To decide how to solve.

Definition at line 1218 of file CoinAbcBaseFactorization.hpp.

## btranFullCountAfterL_

double CoinAbcTypeFactorization::btranFullCountAfterL_

mutable protected

Definition at line 1219 of file CoinAbcBaseFactorization.hpp.

## btranFullCountAfterR_

double CoinAbcTypeFactorization::btranFullCountAfterR_

mutable protected

Definition at line 1220 of file CoinAbcBaseFactorization.hpp.

## btranFullCountAfterU_

double CoinAbcTypeFactorization::btranFullCountAfterU_

mutable protected

Definition at line 1221 of file CoinAbcBaseFactorization.hpp.

## btranFullAverageAfterL_

double CoinAbcTypeFactorization::btranFullAverageAfterL_

protected

Definition at line 1222 of file CoinAbcBaseFactorization.hpp.

## btranFullAverageAfterR_

double CoinAbcTypeFactorization::btranFullAverageAfterR_

protected

Definition at line 1223 of file CoinAbcBaseFactorization.hpp.

## btranFullAverageAfterU_

double CoinAbcTypeFactorization::btranFullAverageAfterU_

protected

Definition at line 1224 of file CoinAbcBaseFactorization.hpp.

## numberBtranFullCounts_

CoinSimplexInt CoinAbcTypeFactorization::numberBtranFullCounts_

mutable protected

Definition at line 1229 of file CoinAbcBaseFactorization.hpp.

## state_

CoinSimplexInt CoinAbcTypeFactorization::state_

protected

State of saved version and what can be done 0 - nothing saved 1 - saved and can go back to previous save by unwinding 2 - saved - getting on for a full copy higher bits - see ABC_FAC....

Definition at line 1237 of file CoinAbcBaseFactorization.hpp.

## sizeSparseArray_

CoinBigIndex CoinAbcTypeFactorization::sizeSparseArray_

protected

Size in bytes of a sparseArray.

Definition at line 1239 of file CoinAbcBaseFactorization.hpp.

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

- Clp/src/CoinAbcBaseFactorization.hpp