# CoinAbcTypeFactorization Class Reference

`#include <CoinAbcBaseFactorization.hpp>`

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

List of all members.

## 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
| Returns address of permute region.
CoinSimplexInt * | pivotLOrder () const
| Returns address of permute region.
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)
| Returns address of permute region.
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
| Returns number in U area.
const double * | denseVector (const CoinIndexedVector *vector) const
| Returns double * associated with vector.
const double * | denseVector (const CoinIndexedVector &vector) const
| Returns number in U area.
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)
| Later take out return codes (apart from +- 1 on FT).
virtual void | updateColumnFTPart2 (CoinIndexedVector &regionSparse)
| Later take out return codes (apart from +- 1 on FT).
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
| Later take out return codes (apart from +- 1 on FT).
void | pack (CoinIndexedVector *regionFrom, CoinIndexedVector *regionTo) const
| Later take out return codes (apart from +- 1 on FT).
void | goSparse ()
| makes a row copy of L for speed and to allow very sparse problems
void | goSparse2 ()
| Later take out return codes (apart from +- 1 on FT).
virtual void | checkMarkArrays () const
| Later take out return codes (apart from +- 1 on FT).
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)
| See if worth going sparse.
void | resetStatistics ()
| Reset all sparsity etc statistics.
void | printRegion (const CoinIndexedVector &vector, const char *where) const
| See if worth going sparse.
## Friends
void | CoinAbcFactorizationUnitTest (const std::string &mpsDir)
## data
CoinSimplexInt * | pivotColumnAddress_
| Next Row/Column with count.
CoinSimplexInt * | permuteAddress_
| Next Row/Column with count.
CoinFactorizationDouble * | pivotRegionAddress_
| Next Row/Column with count.
CoinFactorizationDouble * | elementUAddress_
| Next Row/Column with count.
CoinSimplexInt * | indexRowUAddress_
| Next Row/Column with count.
CoinSimplexInt * | numberInColumnAddress_
| Next Row/Column with count.
CoinSimplexInt * | numberInColumnPlusAddress_
| Next Row/Column with count.
CoinBigIndex * | startColumnUAddress_
| Next Row/Column with count.
CoinBigIndex * | convertRowToColumnUAddress_
| Next Row/Column with count.
CoinBigIndex * | convertColumnToRowUAddress_
| Next Row/Column with count.
CoinFactorizationDouble * | elementRowUAddress_
| Next Row/Column with count.
CoinBigIndex * | startRowUAddress_
| Next Row/Column with count.
CoinSimplexInt * | numberInRowAddress_
| Next Row/Column with count.
CoinSimplexInt * | indexColumnUAddress_
| Next Row/Column with count.
CoinSimplexInt * | firstCountAddress_
| Next Row/Column with count.
CoinSimplexInt * | nextCountAddress_
| Next Row/Column with count.
CoinSimplexInt * | lastCountAddress_
| Previous Row/Column with count.
CoinSimplexInt * | nextColumnAddress_
| Next Row/Column with count.
CoinSimplexInt * | lastColumnAddress_
| Next Row/Column with count.
CoinSimplexInt * | nextRowAddress_
| Next Row/Column with count.
CoinSimplexInt * | lastRowAddress_
| Next Row/Column with count.
CoinSimplexInt * | saveColumnAddress_
| Next Row/Column with count.
CoinCheckZero * | markRowAddress_
| Next Row/Column with count.
CoinSimplexInt * | listAddress_
| Next Row/Column with count.
CoinFactorizationDouble * | elementLAddress_
| Next Row/Column with count.
CoinSimplexInt * | indexRowLAddress_
| Next Row/Column with count.
CoinBigIndex * | startColumnLAddress_
| Next Row/Column with count.
CoinBigIndex * | startRowLAddress_
| Next Row/Column with count.
CoinSimplexInt * | pivotLinkedBackwardsAddress_
| Next Row/Column with count.
CoinSimplexInt * | pivotLinkedForwardsAddress_
| Next Row/Column with count.
CoinSimplexInt * | pivotLOrderAddress_
| Next Row/Column with count.
CoinBigIndex * | startColumnRAddress_
| Next Row/Column with count.
CoinFactorizationDouble * | elementRAddress_
| Elements of R.
CoinSimplexInt * | indexRowRAddress_
| Row indices for R.
CoinSimplexInt * | indexColumnLAddress_
| Next Row/Column with count.
CoinFactorizationDouble * | elementByRowLAddress_
| Next Row/Column with count.
CoinFactorizationDouble * | denseAreaAddress_
| Next Row/Column with count.
CoinFactorizationDouble * | workAreaAddress_
| Next Row/Column with count.
CoinSimplexUnsignedInt * | workArea2Address_
| Next Row/Column with count.
CoinSimplexInt * | sparseAddress_
| Next Row/Column with count.
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.
CoinBigIndexArrayWithLength | convertRowToColumnU_
| Converts rows to columns in U.
CoinBigIndexArrayWithLength | convertColumnToRowU_
| Converts columns to rows 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_
| Next Row/Column with count.
double | ftranCountInput_
| To decide how to solve.
double | ftranCountAfterL_
| Next Row/Column with count.
double | ftranCountAfterR_
| Next Row/Column with count.
double | ftranCountAfterU_
| Next Row/Column with count.
double | ftranAverageAfterL_
| Next Row/Column with count.
double | ftranAverageAfterR_
| Next Row/Column with count.
double | ftranAverageAfterU_
| Next Row/Column with count.
CoinSimplexInt | numberFtranCounts_
| Next Row/Column with count.
CoinSimplexInt | maximumRows_
| Maximum rows (ever) (here to use double alignment).
double | ftranFTCountInput_
| Next Row/Column with count.
double | ftranFTCountAfterL_
| Next Row/Column with count.
double | ftranFTCountAfterR_
| Next Row/Column with count.
double | ftranFTCountAfterU_
| Next Row/Column with count.
double | ftranFTAverageAfterL_
| Next Row/Column with count.
double | ftranFTAverageAfterR_
| Next Row/Column with count.
double | ftranFTAverageAfterU_
| Next Row/Column with count.
CoinSimplexInt | numberFtranFTCounts_
| Next Row/Column with count.
CoinSimplexInt | denseThreshold_
| Dense threshold (here to use double alignment).
double | btranCountInput_
| Next Row/Column with count.
double | btranCountAfterU_
| Next Row/Column with count.
double | btranCountAfterR_
| Next Row/Column with count.
double | btranCountAfterL_
| Next Row/Column with count.
double | btranAverageAfterU_
| Next Row/Column with count.
double | btranAverageAfterR_
| Next Row/Column with count.
double | btranAverageAfterL_
| Next Row/Column with count.
CoinSimplexInt | numberBtranCounts_
| Next Row/Column with count.
CoinSimplexInt | maximumMaximumPivots_
| Maximum maximum pivots.
double | ftranFullCountInput_
| To decide how to solve.
double | ftranFullCountAfterL_
| Next Row/Column with count.
double | ftranFullCountAfterR_
| Next Row/Column with count.
double | ftranFullCountAfterU_
| Next Row/Column with count.
double | ftranFullAverageAfterL_
| Next Row/Column with count.
double | ftranFullAverageAfterR_
| Next Row/Column with count.
double | ftranFullAverageAfterU_
| Next Row/Column with count.
CoinSimplexInt | numberFtranFullCounts_
| Next Row/Column with count.
CoinSimplexInt | initialNumberRows_
| Rows first time nonzero.
double | btranFullCountInput_
| To decide how to solve.
double | btranFullCountAfterL_
| Next Row/Column with count.
double | btranFullCountAfterR_
| Next Row/Column with count.
double | btranFullCountAfterU_
| Next Row/Column with count.
double | btranFullAverageAfterL_
| Next Row/Column with count.
double | btranFullAverageAfterR_
| Next Row/Column with count.
double | btranFullAverageAfterU_
| Next Row/Column with count.
CoinSimplexInt | numberBtranFullCounts_
| Next Row/Column with count.
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
| Next Row/Column with count.
void | setNoGotLCopy ()
| Next Row/Column with count.
void | setYesGotLCopy ()
| Next Row/Column with count.
bool | gotRCopy () const
| Next Row/Column with count.
void | setNoGotRCopy ()
| Next Row/Column with count.
void | setYesGotRCopy ()
| Next Row/Column with count.
bool | gotUCopy () const
| Next Row/Column with count.
void | setNoGotUCopy ()
| Next Row/Column with count.
void | setYesGotUCopy ()
| Next Row/Column with count.
bool | gotSparse () const
| Next Row/Column with count.
void | setNoGotSparse ()
| Next Row/Column with count.
void | setYesGotSparse ()
| Next Row/Column with count.
## 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)
| Gets space for a factorization, called by constructors.
double | preProcess3 ()
| Return largest element.
void | preProcess4 ()
| Gets space for a factorization, called by constructors.
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)
| Gets space for a factorization, called by constructors.
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)
| Gets space for a factorization, called by constructors.

## Detailed Description

Definition at line 28 of file CoinAbcBaseFactorization.hpp.

## Constructor & Destructor Documentation

CoinAbcTypeFactorization::CoinAbcTypeFactorization | ( |  | ) |

Default constructor.

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

Copy constructor.

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

Copy constructor.

virtual CoinAbcTypeFactorization::~CoinAbcTypeFactorization | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

virtual CoinAbcAnyFactorization* CoinAbcTypeFactorization::clone | ( |  | ) | const`[virtual]`

Clone.

Implements CoinAbcAnyFactorization.

void CoinAbcTypeFactorization::almostDestructor | ( |  | ) |

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

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

Debug show object (shows one representation).

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

Debug - sort so can compare.

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

= copy

Reimplemented from CoinAbcAnyFactorization.

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

Condition number - product of pivots after factorization.

CoinSimplexInt* CoinAbcTypeFactorization::permute | ( |  | ) | const`[inline, virtual]`

Returns address of permute region.

Implements CoinAbcAnyFactorization.

Definition at line 68 of file CoinAbcBaseFactorization.hpp.

virtual CoinSimplexInt* CoinAbcTypeFactorization::indices | ( |  | ) | const`[inline, virtual]`

Returns array to put basis indices in.

Implements CoinAbcAnyFactorization.

Definition at line 72 of file CoinAbcBaseFactorization.hpp.

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.

virtual CoinFactorizationDouble* CoinAbcTypeFactorization::pivotRegion | ( |  | ) | const`[inline, virtual]`

Returns address of pivot region.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 79 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startRowL | ( |  | ) | const`[inline]`

Start of each row in L.

Definition at line 84 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnL | ( |  | ) | const`[inline]`

Start of each column in L.

Definition at line 89 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexColumnL | ( |  | ) | const`[inline]`

Index of column in row for L.

Definition at line 94 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowL | ( |  | ) | const`[inline]`

Row indices of L.

Definition at line 99 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementByRowL | ( |  | ) | const`[inline]`

Elements in L (row copy).

Definition at line 104 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedBackwards | ( |  | ) | const`[inline]`

Forward and backward linked lists (numberRows_+2).

Definition at line 110 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedForwards | ( |  | ) | const`[inline]`

Returns address of permute region.

Definition at line 112 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLOrder | ( |  | ) | const`[inline]`

Returns address of permute region.

Definition at line 114 of file CoinAbcBaseFactorization.hpp.

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 143 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::nextCount | ( |  | ) | const`[inline]`

Next Row/Column with count.

Definition at line 147 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::lastCount | ( |  | ) | const`[inline]`

Previous Row/Column with count.

Definition at line 151 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberRowsExtra | ( |  | ) | const`[inline]`

Number of Rows after iterating.

Definition at line 155 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberL | ( |  | ) | const`[inline]`

Number in L.

Definition at line 159 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::baseL | ( |  | ) | const`[inline]`

Base of L.

Definition at line 163 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::maximumRowsExtra | ( |  | ) | const`[inline]`

Maximum of Rows after iterating.

Definition at line 166 of file CoinAbcBaseFactorization.hpp.

virtual CoinBigIndex CoinAbcTypeFactorization::numberElements | ( |  | ) | const`[inline, virtual]`

Total number of elements in factorization.

Implements CoinAbcAnyFactorization.

Definition at line 170 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberForrestTomlin | ( |  | ) | const`[inline]`

Length of FT vector.

Definition at line 174 of file CoinAbcBaseFactorization.hpp.

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

Returns areaFactor but adjusted for dense.

CoinSimplexInt CoinAbcTypeFactorization::messageLevel | ( |  | ) | const`[inline]`

Level of detail of messages.

Definition at line 180 of file CoinAbcBaseFactorization.hpp.

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

Returns address of permute region.

virtual void CoinAbcTypeFactorization::maximumPivots | ( | CoinSimplexInt | value | ) | `[virtual]`

Set maximum pivots.

Reimplemented from CoinAbcAnyFactorization.

CoinSimplexInt CoinAbcTypeFactorization::denseThreshold | ( |  | ) | const`[inline]`

Gets dense threshold.

Definition at line 189 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setDenseThreshold | ( | CoinSimplexInt | value | ) | `[inline]`

Sets dense threshold.

Definition at line 192 of file CoinAbcBaseFactorization.hpp.

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

Returns maximum absolute value in factorization.

bool CoinAbcTypeFactorization::spaceForForrestTomlin | ( |  | ) | const`[inline]`

True if FT update and space.

Definition at line 205 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberElementsU | ( |  | ) | const`[inline]`

Returns number in U area.

Definition at line 218 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNumberElementsU | ( | CoinBigIndex | value | ) | `[inline]`

Setss number in U area.

Definition at line 222 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaU | ( |  | ) | const`[inline]`

Returns length of U area.

Definition at line 225 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberElementsL | ( |  | ) | const`[inline]`

Returns number in L area.

Definition at line 229 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaL | ( |  | ) | const`[inline]`

Returns length of L area.

Definition at line 233 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberElementsR | ( |  | ) | const`[inline]`

Returns number in R area.

Definition at line 237 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberCompressions | ( |  | ) | const`[inline]`

Number of compressions done.

Definition at line 241 of file CoinAbcBaseFactorization.hpp.

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 250 of file CoinAbcBaseFactorization.hpp.

virtual CoinSimplexInt* CoinAbcTypeFactorization::numberInRow | ( |  | ) | const`[inline, virtual]`

Number of entries in each row.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 253 of file CoinAbcBaseFactorization.hpp.

virtual CoinSimplexInt* CoinAbcTypeFactorization::numberInColumn | ( |  | ) | const`[inline, virtual]`

Number of entries in each column.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 256 of file CoinAbcBaseFactorization.hpp.

virtual CoinFactorizationDouble* CoinAbcTypeFactorization::elements | ( |  | ) | const`[inline, virtual]`

Returns array to put basis elements in.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 259 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnR | ( |  | ) | const`[inline]`

Start of columns for R.

Definition at line 262 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementU | ( |  | ) | const`[inline]`

Elements of U.

Definition at line 265 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowU | ( |  | ) | const`[inline]`

Row indices of U.

Definition at line 268 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnU | ( |  | ) | const`[inline]`

Start of each column in U.

Definition at line 271 of file CoinAbcBaseFactorization.hpp.

double* CoinAbcTypeFactorization::denseVector | ( | CoinIndexedVector * | vector | ) | const`[inline]`

Returns double * associated with vector.

Definition at line 294 of file CoinAbcBaseFactorization.hpp.

double* CoinAbcTypeFactorization::denseVector | ( | CoinIndexedVector & | vector | ) | const`[inline]`

Returns number in U area.

Definition at line 296 of file CoinAbcBaseFactorization.hpp.

const double* CoinAbcTypeFactorization::denseVector | ( | const CoinIndexedVector * | vector | ) | const`[inline]`

Returns double * associated with vector.

Definition at line 299 of file CoinAbcBaseFactorization.hpp.

const double* CoinAbcTypeFactorization::denseVector | ( | const CoinIndexedVector & | vector | ) | const`[inline]`

Returns number in U area.

Definition at line 301 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::toLongArray | ( | CoinIndexedVector * | vector,
|  | int | which |
| ) |  |  | const`[inline]`

To a work array and associate vector.

Definition at line 304 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::fromLongArray | ( | CoinIndexedVector * | vector | ) | const`[inline]`

From a work array and dis-associate vector.

Definition at line 306 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::fromLongArray | ( | int | which | ) | const`[inline]`

From a work array and dis-associate vector.

Definition at line 308 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::scan | ( | CoinIndexedVector * | vector | ) | const`[inline]`

Scans region to find nonzeros.

Definition at line 310 of file CoinAbcBaseFactorization.hpp.

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.

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.

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.

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.

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.

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

Update partial Ftran by R update.

virtual bool CoinAbcTypeFactorization::wantsTableauColumn | ( |  | ) | const`[inline, virtual]`

Returns true if wants tableauColumn in replaceColumn.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 427 of file CoinAbcBaseFactorization.hpp.

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.

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.

virtual int CoinAbcTypeFactorization::updateColumnFTPart1 | ( | 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.

virtual void CoinAbcTypeFactorization::updateColumnFTPart2 | ( | 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.

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.

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.

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.

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.

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

Updates one full column (FTRAN).

Implements CoinAbcAnyFactorization.

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

Updates one full column (BTRAN).

Implements CoinAbcAnyFactorization.

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

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

Implements CoinAbcAnyFactorization.

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

Updates one column (FTRAN).

Reimplemented from CoinAbcAnyFactorization.

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

Updates one column (BTRAN).

Reimplemented from CoinAbcAnyFactorization.

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

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

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

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

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 487 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::goSparse2 | ( |  | ) |

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

virtual void CoinAbcTypeFactorization::checkMarkArrays | ( |  | ) | const`[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

Reimplemented from CoinAbcAnyFactorization.

CoinSimplexInt CoinAbcTypeFactorization::sparseThreshold | ( |  | ) | const`[inline]`

get sparse threshold

Definition at line 494 of file CoinAbcBaseFactorization.hpp.

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

set sparse threshold

void CoinAbcTypeFactorization::clearArrays | ( |  | ) | `[inline, virtual]`

Get rid of all memory.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 506 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::checkSparse | ( |  | ) |

See if worth going sparse.

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

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

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

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

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

See if worth going sparse.

void CoinAbcTypeFactorization::resetStatistics | ( |  | ) |

Reset all sparsity etc statistics.

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

See if worth going sparse.

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

Gets space for a factorization, called by constructors.

Implements CoinAbcAnyFactorization.

virtual void CoinAbcTypeFactorization::preProcess | ( |  | ) | `[virtual]`

PreProcesses column ordered copy of basis.

Implements CoinAbcAnyFactorization.

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

Gets space for a factorization, called by constructors.

double CoinAbcTypeFactorization::preProcess3 | ( |  | ) |

Return largest element.

void CoinAbcTypeFactorization::preProcess4 | ( |  | ) |

Gets space for a factorization, called by constructors.

virtual CoinSimplexInt CoinAbcTypeFactorization::factor | ( | AbcSimplex * | model | ) | `[virtual]`

Does most of factorization.

Implements CoinAbcAnyFactorization.

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

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

Implements CoinAbcAnyFactorization.

virtual void CoinAbcTypeFactorization::makeNonSingular | ( | CoinSimplexInt * | sequence | ) | `[virtual]`

Makes a non-singular basis by replacing variables.

Implements CoinAbcAnyFactorization.

CoinSimplexInt CoinAbcTypeFactorization::factorSparse | ( |  | ) | `[protected]`

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

CoinSimplexInt CoinAbcTypeFactorization::factorDense | ( |  | ) | `[protected]`

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

bool CoinAbcTypeFactorization::pivotOneOtherRow | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn |
| ) |  |  | `[protected]`

Pivots when just one other row so faster?

bool CoinAbcTypeFactorization::pivotRowSingleton | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn |
| ) |  |  | `[protected]`

Does one pivot on Row Singleton in factorization.

void CoinAbcTypeFactorization::pivotColumnSingleton | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn |
| ) |  |  | `[protected]`

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

void CoinAbcTypeFactorization::afterPivot | ( | CoinSimplexInt | pivotRow,
|  | CoinSimplexInt | pivotColumn |
| ) |  |  | `[protected]`

After pivoting.

int CoinAbcTypeFactorization::wantToGoDense | ( |  | ) | `[protected]`

After pivoting - returns true if need to go dense.

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.

bool CoinAbcTypeFactorization::reorderU | ( |  | ) | `[protected]`

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

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

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)

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.

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.

void CoinAbcTypeFactorization::checkConsistency | ( |  | ) | `[protected]`

Checks that row and column copies look OK.

void CoinAbcTypeFactorization::addLink | ( | CoinSimplexInt | index,
|  | CoinSimplexInt | count |
| ) |  |  | `[inline, protected]`

Adds a link in chain of equal counts.

Definition at line 611 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::deleteLink | ( | CoinSimplexInt | index | ) | `[inline, protected]`

Deletes a link in chain of equal counts.

Definition at line 623 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::modifyLink | ( | CoinSimplexInt | index,
|  | CoinSimplexInt | count |
| ) |  |  | `[inline, protected]`

Modifies links in chain of equal counts.

Definition at line 641 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::separateLinks | ( |  | ) | `[protected]`

Separate out links with same row/column count.

void CoinAbcTypeFactorization::separateLinks | ( | CoinSimplexInt | ,
|  | CoinSimplexInt |  |
| ) |  |  | `[protected]`

Gets space for a factorization, called by constructors.

void CoinAbcTypeFactorization::cleanup | ( |  | ) | `[protected]`

Cleans up at end of factorization.

void CoinAbcTypeFactorization::doAddresses | ( |  | ) | `[protected]`

Set up addresses from arrays.

void CoinAbcTypeFactorization::updateColumnL | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics |
| ) |  |  | const`[protected]`

Updates part of column (FTRANL).

void CoinAbcTypeFactorization::updateColumnLDensish | ( | CoinIndexedVector * | region | ) | const`[protected]`

Updates part of column (FTRANL) when densish.

void CoinAbcTypeFactorization::updateColumnLDense | ( | CoinIndexedVector * | region | ) | const`[protected]`

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

void CoinAbcTypeFactorization::updateColumnLSparse | ( | CoinIndexedVector * | region | ) | const`[protected]`

Updates part of column (FTRANL) when sparse.

void CoinAbcTypeFactorization::updateColumnR | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics |
| ) |  |  | const`[protected]`

Updates part of column (FTRANR) without FT update.

bool CoinAbcTypeFactorization::storeFT | ( | const CoinIndexedVector * | regionFT | ) | `[protected]`

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

void CoinAbcTypeFactorization::updateColumnU | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics |
| ) |  |  | const`[protected]`

Updates part of column (FTRANU).

void CoinAbcTypeFactorization::updateColumnUSparse | ( | CoinIndexedVector * | regionSparse | ) | const`[protected]`

Updates part of column (FTRANU) when sparse.

void CoinAbcTypeFactorization::updateColumnUDensish | ( | CoinIndexedVector * | regionSparse | ) | const`[protected]`

Updates part of column (FTRANU).

void CoinAbcTypeFactorization::updateColumnUDense | ( | CoinIndexedVector * | regionSparse | ) | const`[protected]`

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

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.

void CoinAbcTypeFactorization::updateColumnPFI | ( | CoinIndexedVector * | regionSparse | ) | const`[protected]`

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

void CoinAbcTypeFactorization::updateColumnTransposePFI | ( | CoinIndexedVector * | region | ) | const`[protected]`

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

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

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

void CoinAbcTypeFactorization::updateColumnTransposeUSparse | ( | CoinIndexedVector * | region | ) | const`[protected]`

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

region is correct

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

void CoinAbcTypeFactorization::updateColumnTransposeR | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics |
| ) |  |  | const`[protected]`

Updates part of column transpose (BTRANR).

void CoinAbcTypeFactorization::updateColumnTransposeRDensish | ( | CoinIndexedVector * | region | ) | const`[protected]`

Updates part of column transpose (BTRANR) when dense.

void CoinAbcTypeFactorization::updateColumnTransposeRSparse | ( | CoinIndexedVector * | region | ) | const`[protected]`

Updates part of column transpose (BTRANR) when sparse.

void CoinAbcTypeFactorization::updateColumnTransposeL | ( | CoinIndexedVector * | region,
|  | CoinAbcStatistics & | statistics |
| ) |  |  | const`[protected]`

Updates part of column transpose (BTRANL).

void CoinAbcTypeFactorization::updateColumnTransposeLDensish | ( | CoinIndexedVector * | region | ) | const`[protected]`

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

void CoinAbcTypeFactorization::updateColumnTransposeLByRow | ( | CoinIndexedVector * | region | ) | const`[protected]`

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

void CoinAbcTypeFactorization::updateColumnTransposeLSparse | ( | CoinIndexedVector * | region | ) | const`[protected]`

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

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)

CoinSimplexInt CoinAbcTypeFactorization::checkPivot | ( | CoinSimplexDouble | saveFromU,
|  | CoinSimplexDouble | oldPivot |
| ) |  |  | const`[protected]`

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

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

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

Gets space for a factorization, called by constructors.

bool CoinAbcTypeFactorization::gotLCopy | ( |  | ) | const`[inline]`

Next Row/Column with count.

Definition at line 1142 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNoGotLCopy | ( |  | ) | `[inline]`

Next Row/Column with count.

Definition at line 1143 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setYesGotLCopy | ( |  | ) | `[inline]`

Next Row/Column with count.

Definition at line 1144 of file CoinAbcBaseFactorization.hpp.

bool CoinAbcTypeFactorization::gotRCopy | ( |  | ) | const`[inline]`

Next Row/Column with count.

Definition at line 1145 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNoGotRCopy | ( |  | ) | `[inline]`

Next Row/Column with count.

Definition at line 1146 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setYesGotRCopy | ( |  | ) | `[inline]`

Next Row/Column with count.

Definition at line 1147 of file CoinAbcBaseFactorization.hpp.

bool CoinAbcTypeFactorization::gotUCopy | ( |  | ) | const`[inline]`

Next Row/Column with count.

Definition at line 1148 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNoGotUCopy | ( |  | ) | `[inline]`

Next Row/Column with count.

Definition at line 1149 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setYesGotUCopy | ( |  | ) | `[inline]`

Next Row/Column with count.

Definition at line 1150 of file CoinAbcBaseFactorization.hpp.

bool CoinAbcTypeFactorization::gotSparse | ( |  | ) | const`[inline]`

Next Row/Column with count.

Definition at line 1151 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNoGotSparse | ( |  | ) | `[inline]`

Next Row/Column with count.

Definition at line 1152 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setYesGotSparse | ( |  | ) | `[inline]`

Next Row/Column with count.

Definition at line 1153 of file CoinAbcBaseFactorization.hpp.

## Friends And Related Function Documentation

void CoinAbcFactorizationUnitTest | ( | const std::string & | mpsDir | ) | `[friend]`

## Member Data Documentation

CoinSimplexInt* CoinAbcTypeFactorization::pivotColumnAddress_`[protected]`

Next Row/Column with count.

Definition at line 837 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::permuteAddress_`[protected]`

Next Row/Column with count.

Definition at line 838 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::pivotRegionAddress_`[protected]`

Next Row/Column with count.

Definition at line 839 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementUAddress_`[protected]`

Next Row/Column with count.

Definition at line 840 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowUAddress_`[protected]`

Next Row/Column with count.

Definition at line 841 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::numberInColumnAddress_`[protected]`

Next Row/Column with count.

Definition at line 842 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::numberInColumnPlusAddress_`[protected]`

Next Row/Column with count.

Definition at line 843 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnUAddress_`[protected]`

Next Row/Column with count.

Definition at line 849 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::convertRowToColumnUAddress_`[protected]`

Next Row/Column with count.

Definition at line 851 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::convertColumnToRowUAddress_`[protected]`

Next Row/Column with count.

Definition at line 853 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementRowUAddress_`[protected]`

Next Row/Column with count.

Definition at line 857 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startRowUAddress_`[protected]`

Next Row/Column with count.

Definition at line 859 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::numberInRowAddress_`[protected]`

Next Row/Column with count.

Definition at line 860 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexColumnUAddress_`[protected]`

Next Row/Column with count.

Definition at line 861 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::firstCountAddress_`[protected]`

Next Row/Column with count.

Definition at line 862 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::nextCountAddress_`[protected]`

Next Row/Column with count.

Definition at line 864 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::lastCountAddress_`[protected]`

Previous Row/Column with count.

Definition at line 866 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::nextColumnAddress_`[protected]`

Next Row/Column with count.

Definition at line 867 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::lastColumnAddress_`[protected]`

Next Row/Column with count.

Definition at line 868 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::nextRowAddress_`[protected]`

Next Row/Column with count.

Definition at line 869 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::lastRowAddress_`[protected]`

Next Row/Column with count.

Definition at line 870 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::saveColumnAddress_`[protected]`

Next Row/Column with count.

Definition at line 871 of file CoinAbcBaseFactorization.hpp.

CoinCheckZero* CoinAbcTypeFactorization::markRowAddress_`[protected]`

Next Row/Column with count.

Definition at line 873 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::listAddress_`[protected]`

Next Row/Column with count.

Definition at line 874 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementLAddress_`[protected]`

Next Row/Column with count.

Definition at line 875 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowLAddress_`[protected]`

Next Row/Column with count.

Definition at line 876 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnLAddress_`[protected]`

Next Row/Column with count.

Definition at line 877 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startRowLAddress_`[protected]`

Next Row/Column with count.

Definition at line 879 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedBackwardsAddress_`[protected]`

Next Row/Column with count.

Definition at line 881 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedForwardsAddress_`[protected]`

Next Row/Column with count.

Definition at line 882 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLOrderAddress_`[protected]`

Next Row/Column with count.

Definition at line 883 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnRAddress_`[protected]`

Next Row/Column with count.

Definition at line 884 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementRAddress_`[protected]`

Elements of R.

Definition at line 886 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowRAddress_`[protected]`

Row indices for R.

Definition at line 888 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexColumnLAddress_`[protected]`

Next Row/Column with count.

Definition at line 889 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementByRowLAddress_`[protected]`

Next Row/Column with count.

Definition at line 890 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::denseAreaAddress_`[protected]`

Next Row/Column with count.

Definition at line 892 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::workAreaAddress_`[protected]`

Next Row/Column with count.

Definition at line 894 of file CoinAbcBaseFactorization.hpp.

CoinSimplexUnsignedInt* CoinAbcTypeFactorization::workArea2Address_`[protected]`

Next Row/Column with count.

Definition at line 895 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::sparseAddress_`[mutable, protected]`

Next Row/Column with count.

Definition at line 896 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberRowsExtra_`[protected]`

Number of Rows after iterating.

Definition at line 902 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::maximumRowsExtra_`[protected]`

Maximum number of Rows after iterating.

Definition at line 904 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberRowsSmall_`[protected]`

Size of small inverse.

Definition at line 906 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberGoodL_`[protected]`

Number factorized in L.

Definition at line 908 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberRowsLeft_`[protected]`

Number Rows left (numberRows-numberGood).

Definition at line 910 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::totalElements_`[protected]`

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

Definition at line 913 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::firstZeroed_`[protected]`

First place in funny copy zeroed out.

Definition at line 915 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::sparseThreshold_`[protected]`

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

Definition at line 918 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberR_`[protected]`

Number in R.

Definition at line 921 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthR_`[protected]`

Length of R stuff.

Definition at line 923 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaR_`[protected]`

length of area reserved for R

Definition at line 925 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberL_`[protected]`

Number in L.

Definition at line 927 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::baseL_`[protected]`

Base of L.

Definition at line 929 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthL_`[protected]`

Length of L.

Definition at line 931 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaL_`[protected]`

Length of area reserved for L.

Definition at line 933 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberU_`[protected]`

Number in U.

Definition at line 935 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::maximumU_`[protected]`

Maximum space used in U.

Definition at line 937 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthU_`[protected]`

Length of U.

Definition at line 939 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaU_`[protected]`

Length of area reserved for U.

Definition at line 941 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lastEntryByColumnU_`[protected]`

Last entry by column for U.

Definition at line 943 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lastEntryByRowU_`[protected]`

Last entry by row for U.

Definition at line 951 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberTrials_`[protected]`

Number of trials before rejection.

Definition at line 953 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::leadingDimension_`[protected]`

Leading dimension for dense.

Definition at line 956 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::pivotColumn_`[protected]`

Pivot order for each Column.

Definition at line 965 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::permute_`[protected]`

Permutation vector for pivot row order.

Definition at line 967 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startRowU_`[protected]`

Start of each Row as pointer.

Definition at line 969 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInRow_`[protected]`

Number in each Row.

Definition at line 971 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInColumn_`[protected]`

Number in each Column.

Definition at line 973 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInColumnPlus_`[protected]`

Number in each Column including pivoted.

Definition at line 975 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::firstCount_`[protected]`

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

Definition at line 978 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::nextColumn_`[protected]`

Next Column in memory order.

Definition at line 980 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::lastColumn_`[protected]`

Previous Column in memory order.

Definition at line 982 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::nextRow_`[protected]`

Next Row in memory order.

Definition at line 984 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::lastRow_`[protected]`

Previous Row in memory order.

Definition at line 986 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::saveColumn_`[protected]`

Columns left to do in a single pivot.

Definition at line 988 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::markRow_`[protected]`

Marks rows to be updated.

Definition at line 990 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::indexColumnU_`[protected]`

Base address for U (may change).

Definition at line 992 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::pivotRegion_`[protected]`

Inverses of pivot values.

Definition at line 994 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementU_`[protected]`

Elements of U.

Definition at line 996 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::indexRowU_`[protected]`

Row indices of U.

Definition at line 998 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startColumnU_`[protected]`

Start of each column in U.

Definition at line 1000 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::convertRowToColumnU_`[protected]`

Converts rows to columns in U.

Definition at line 1007 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::convertColumnToRowU_`[protected]`

Converts columns to rows in U.

Definition at line 1010 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementRowU_`[protected]`

Elements of U by row.

Definition at line 1015 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementL_`[protected]`

Elements of L.

Definition at line 1018 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::indexRowL_`[protected]`

Row indices of L.

Definition at line 1020 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startColumnL_`[protected]`

Start of each column in L.

Definition at line 1022 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::denseArea_`[protected]`

Dense area.

Definition at line 1025 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::workArea_`[protected]`

First work area.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 1028 of file CoinAbcBaseFactorization.hpp.

CoinUnsignedIntArrayWithLength CoinAbcTypeFactorization::workArea2_`[protected]`

Second work area.

Definition at line 1030 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startRowL_`[protected]`

Start of each row in L.

Definition at line 1033 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::indexColumnL_`[protected]`

Index of column in row for L.

Definition at line 1035 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementByRowL_`[protected]`

Elements in L (row copy).

Definition at line 1037 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::sparse_`[mutable, protected]`

Sparse regions.

Definition at line 1039 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::messageLevel_`[protected]`

Detail in messages.

Definition at line 1042 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberCompressions_`[protected]`

Number of compressions done.

Definition at line 1044 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::lastSlack_`[protected]`

Next Row/Column with count.

Definition at line 1046 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranCountInput_`[mutable, protected]`

To decide how to solve.

Definition at line 1049 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranCountAfterL_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1050 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranCountAfterR_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1051 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranCountAfterU_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1052 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranAverageAfterL_`[protected]`

Next Row/Column with count.

Definition at line 1053 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranAverageAfterR_`[protected]`

Next Row/Column with count.

Definition at line 1054 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranAverageAfterU_`[protected]`

Next Row/Column with count.

Definition at line 1055 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberFtranCounts_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1060 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::maximumRows_`[protected]`

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

Reimplemented from CoinAbcAnyFactorization.

Definition at line 1063 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTCountInput_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1065 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTCountAfterL_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1066 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTCountAfterR_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1067 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTCountAfterU_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1068 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTAverageAfterL_`[protected]`

Next Row/Column with count.

Definition at line 1069 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTAverageAfterR_`[protected]`

Next Row/Column with count.

Definition at line 1070 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTAverageAfterU_`[protected]`

Next Row/Column with count.

Definition at line 1071 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberFtranFTCounts_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1076 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::denseThreshold_`[protected]`

Dense threshold (here to use double alignment).

Definition at line 1080 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranCountInput_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1083 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranCountAfterU_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1084 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranCountAfterR_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1085 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranCountAfterL_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1086 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranAverageAfterU_`[protected]`

Next Row/Column with count.

Definition at line 1087 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranAverageAfterR_`[protected]`

Next Row/Column with count.

Definition at line 1088 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranAverageAfterL_`[protected]`

Next Row/Column with count.

Definition at line 1089 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberBtranCounts_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1094 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::maximumMaximumPivots_`[protected]`

Maximum maximum pivots.

Definition at line 1097 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullCountInput_`[mutable, protected]`

To decide how to solve.

Definition at line 1100 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullCountAfterL_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1101 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullCountAfterR_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1102 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullCountAfterU_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1103 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullAverageAfterL_`[protected]`

Next Row/Column with count.

Definition at line 1104 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullAverageAfterR_`[protected]`

Next Row/Column with count.

Definition at line 1105 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullAverageAfterU_`[protected]`

Next Row/Column with count.

Definition at line 1106 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberFtranFullCounts_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1111 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::initialNumberRows_`[protected]`

Rows first time nonzero.

Definition at line 1114 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullCountInput_`[mutable, protected]`

To decide how to solve.

Definition at line 1117 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullCountAfterL_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1118 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullCountAfterR_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1119 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullCountAfterU_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1120 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullAverageAfterL_`[protected]`

Next Row/Column with count.

Definition at line 1121 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullAverageAfterR_`[protected]`

Next Row/Column with count.

Definition at line 1122 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullAverageAfterU_`[protected]`

Next Row/Column with count.

Definition at line 1123 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberBtranFullCounts_`[mutable, protected]`

Next Row/Column with count.

Definition at line 1128 of file CoinAbcBaseFactorization.hpp.

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 1136 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::sizeSparseArray_`[protected]`

Size in bytes of a sparseArray.

Definition at line 1138 of file CoinAbcBaseFactorization.hpp.

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

- /home/coin/svn-release/Alps-1.5.2/Clp/src/CoinAbcBaseFactorization.hpp