Cbc  2.10.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Friends | List of all members
CoinAbcTypeFactorization Class Reference

#include <CoinAbcBaseFactorization.hpp>

+ Inheritance diagram for CoinAbcTypeFactorization:
+ Collaboration diagram for CoinAbcTypeFactorization:

Public Member Functions

Constructors and destructor and copy
 CoinAbcTypeFactorization ()
 Default constructor. More...
 
 CoinAbcTypeFactorization (const CoinAbcTypeFactorization &other)
 Copy constructor. More...
 
 CoinAbcTypeFactorization (const CoinFactorization &other)
 Copy constructor. More...
 
virtual ~CoinAbcTypeFactorization ()
 Destructor. More...
 
virtual CoinAbcAnyFactorizationclone () const
 Clone. More...
 
void almostDestructor ()
 Delete all stuff (leaves as after CoinAbcFactorization()) More...
 
void show_self () const
 Debug show object (shows one representation) More...
 
void sort () const
 Debug - sort so can compare. More...
 
CoinAbcTypeFactorizationoperator= (const CoinAbcTypeFactorization &other)
 = copy More...
 
Do factorization
CoinSimplexDouble conditionNumber () const
 Condition number - product of pivots after factorization. More...
 
general stuff such as permutation or status
CoinSimplexIntpermute () const
 Returns address of permute region. More...
 
virtual CoinSimplexIntindices () const
 Returns array to put basis indices in. More...
 
virtual CoinSimplexIntpivotColumn () const
 Returns address of pivotColumn region (also used for permuting) More...
 
virtual CoinFactorizationDoublepivotRegion () const
 Returns address of pivot region. More...
 
CoinBigIndexstartRowL () const
 Start of each row in L. More...
 
CoinBigIndexstartColumnL () const
 Start of each column in L. More...
 
CoinSimplexIntindexColumnL () const
 Index of column in row for L. More...
 
CoinSimplexIntindexRowL () const
 Row indices of L. More...
 
CoinFactorizationDoubleelementByRowL () const
 Elements in L (row copy) More...
 
CoinSimplexIntpivotLinkedBackwards () const
 Forward and backward linked lists (numberRows_+2) More...
 
CoinSimplexIntpivotLinkedForwards () const
 
CoinSimplexIntpivotLOrder () const
 
CoinSimplexIntfirstCount () const
 For equal counts in factorization. More...
 
CoinSimplexIntnextCount () const
 Next Row/Column with count. More...
 
CoinSimplexIntlastCount () const
 Previous Row/Column with count. More...
 
CoinSimplexInt numberRowsExtra () const
 Number of Rows after iterating. More...
 
CoinBigIndex numberL () const
 Number in L. More...
 
CoinBigIndex baseL () const
 Base of L. More...
 
CoinSimplexInt maximumRowsExtra () const
 Maximum of Rows after iterating. More...
 
virtual CoinBigIndex numberElements () const
 Total number of elements in factorization. More...
 
CoinSimplexInt numberForrestTomlin () const
 Length of FT vector. More...
 
CoinSimplexDouble adjustedAreaFactor () const
 Returns areaFactor but adjusted for dense. More...
 
CoinSimplexInt messageLevel () const
 Level of detail of messages. More...
 
void messageLevel (CoinSimplexInt value)
 
virtual void maximumPivots (CoinSimplexInt value)
 Set maximum pivots. More...
 
CoinSimplexInt denseThreshold () const
 Gets dense threshold. More...
 
void setDenseThreshold (CoinSimplexInt value)
 Sets dense threshold. More...
 
CoinSimplexDouble maximumCoefficient () const
 Returns maximum absolute value in factorization. More...
 
bool spaceForForrestTomlin () const
 True if FT update and space. More...
 
some simple stuff
CoinBigIndex numberElementsU () const
 Returns number in U area. More...
 
void setNumberElementsU (CoinBigIndex value)
 Setss number in U area. More...
 
CoinBigIndex lengthAreaU () const
 Returns length of U area. More...
 
CoinBigIndex numberElementsL () const
 Returns number in L area. More...
 
CoinBigIndex lengthAreaL () const
 Returns length of L area. More...
 
CoinBigIndex numberElementsR () const
 Returns number in R area. More...
 
CoinBigIndex numberCompressions () const
 Number of compressions done. More...
 
virtual CoinBigIndexstarts () const
 Returns pivot row. More...
 
virtual CoinSimplexIntnumberInRow () const
 Number of entries in each row. More...
 
virtual CoinSimplexIntnumberInColumn () const
 Number of entries in each column. More...
 
virtual CoinFactorizationDoubleelements () const
 Returns array to put basis elements in. More...
 
CoinBigIndexstartColumnR () const
 Start of columns for R. More...
 
CoinFactorizationDoubleelementU () const
 Elements of U. More...
 
CoinSimplexIntindexRowU () const
 Row indices of U. More...
 
CoinBigIndexstartColumnU () const
 Start of each column in U. More...
 
double * denseVector (CoinIndexedVector *vector) const
 Returns double * associated with vector. More...
 
double * denseVector (CoinIndexedVector &vector) const
 
const double * denseVector (const CoinIndexedVector *vector) const
 Returns double * associated with vector. More...
 
const double * denseVector (const CoinIndexedVector &vector) const
 
void toLongArray (CoinIndexedVector *vector, int which) const
 To a work array and associate vector. More...
 
void fromLongArray (CoinIndexedVector *vector) const
 From a work array and dis-associate vector. More...
 
void fromLongArray (int which) const
 From a work array and dis-associate vector. More...
 
void scan (CoinIndexedVector *vector) const
 Scans region to find nonzeros. More...
 
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. More...
 
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. More...
 
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. More...
 
virtual void replaceColumnPart3 (const AbcSimplex *model, CoinIndexedVector *regionSparse, CoinIndexedVector *tableauColumn, int pivotRow, double alpha)
 Replaces one Column to basis, partial update already in U. More...
 
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. More...
 
void updatePartialUpdate (CoinIndexedVector &partialUpdate)
 Update partial Ftran by R update. More...
 
virtual bool wantsTableauColumn () const
 Returns true if wants tableauColumn in replaceColumn. More...
 
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. More...
 
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) More...
 
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. More...
 
virtual CoinSimplexInt updateColumn (CoinIndexedVector &regionSparse) const
 This version has same effect as above with FTUpdate==false so number returned is always >=0. More...
 
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. More...
 
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. More...
 
virtual void updateFullColumn (CoinIndexedVector &regionSparse) const
 Updates one full column (FTRAN) More...
 
virtual void updateFullColumnTranspose (CoinIndexedVector &regionSparse) const
 Updates one full column (BTRAN) More...
 
virtual void updateWeights (CoinIndexedVector &regionSparse) const
 Updates one column for dual steepest edge weights (FTRAN) More...
 
virtual void updateColumnCpu (CoinIndexedVector &regionSparse, int whichCpu) const
 Updates one column (FTRAN) More...
 
virtual void updateColumnTransposeCpu (CoinIndexedVector &regionSparse, int whichCpu) const
 Updates one column (BTRAN) More...
 
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 More...
 
void goSparse2 ()
 
virtual void checkMarkArrays () const
 
CoinSimplexInt sparseThreshold () const
 get sparse threshold More...
 
void sparseThreshold (CoinSimplexInt value)
 set sparse threshold More...
 
void clearArrays ()
 Get rid of all memory. More...
 
used by ClpFactorization
void checkSparse ()
 See if worth going sparse. More...
 
void gutsOfDestructor (CoinSimplexInt type=1)
 The real work of constructors etc 0 just scalars, 1 bit normal. More...
 
void gutsOfInitialize (CoinSimplexInt type)
 1 bit - tolerances etc, 2 more, 4 dummy arrays More...
 
void gutsOfCopy (const CoinAbcTypeFactorization &other)
 
void resetStatistics ()
 Reset all sparsity etc statistics. More...
 
void printRegion (const CoinIndexedVector &vector, const char *where) const
 
- Public Member Functions inherited from CoinAbcAnyFactorization
 CoinAbcAnyFactorization ()
 Default constructor. More...
 
 CoinAbcAnyFactorization (const CoinAbcAnyFactorization &other)
 Copy constructor. More...
 
virtual ~CoinAbcAnyFactorization ()
 Destructor. More...
 
CoinAbcAnyFactorizationoperator= (const CoinAbcAnyFactorization &other)
 = copy More...
 
int status () const
 Returns status. More...
 
void setStatus (int value)
 Sets status. More...
 
int pivots () const
 Returns number of pivots since factorization. More...
 
void setPivots (int value)
 Sets number of pivots since factorization. More...
 
int numberSlacks () const
 Returns number of slacks. More...
 
void setNumberSlacks (int value)
 Sets number of slacks. More...
 
void setNumberRows (int value)
 Set number of Rows after factorization. More...
 
int numberRows () const
 Number of Rows after factorization. More...
 
CoinSimplexInt numberDense () const
 Number of dense rows after factorization. More...
 
int numberGoodColumns () const
 Number of good columns in factorization. More...
 
void relaxAccuracyCheck (double value)
 Allows change of pivot accuracy check 1.0 == none >1.0 relaxed. More...
 
double getAccuracyCheck () const
 
int maximumPivots () const
 Maximum number of pivots between factorizations. More...
 
double pivotTolerance () const
 Pivot tolerance. More...
 
void pivotTolerance (double value)
 
double minimumPivotTolerance () const
 Minimum pivot tolerance. More...
 
void minimumPivotTolerance (double value)
 
double areaFactor () const
 Area factor. More...
 
void areaFactor (CoinSimplexDouble value)
 
double zeroTolerance () const
 Zero tolerance. More...
 
void zeroTolerance (double value)
 
virtual int * pivotRow () const
 Returns pivot row. More...
 
virtual CoinFactorizationDoubleworkArea () const
 Returns work area. More...
 
virtual int * intWorkArea () const
 Returns int work area. More...
 
virtual int * permuteBack () const
 Returns permute back. More...
 
int solveMode () const
 Get solve mode e.g. More...
 
void setSolveMode (int value)
 Set solve mode e.g. More...
 
virtual void setUsefulInformation (const int *info, int whereFrom)
 Useful information for factorization 0 - iteration number whereFrom is 0 for factorize and 1 for replaceColumn. More...
 
virtual void checkReplacePart1a (CoinIndexedVector *, int)
 
virtual double checkReplacePart1b (CoinIndexedVector *, int)
 

Friends

void CoinAbcFactorizationUnitTest (const std::string &mpsDir)
 

used by factorization

virtual void getAreas (CoinSimplexInt numberRows, CoinSimplexInt numberColumns, CoinBigIndex maximumL, CoinBigIndex maximumU)
 Gets space for a factorization, called by constructors. More...
 
virtual void preProcess ()
 PreProcesses column ordered copy of basis. More...
 
void preProcess (CoinSimplexInt)
 
double preProcess3 ()
 Return largest element. More...
 
void preProcess4 ()
 
virtual CoinSimplexInt factor (AbcSimplex *model)
 Does most of factorization. More...
 
virtual void postProcess (const CoinSimplexInt *sequence, CoinSimplexInt *pivotVariable)
 Does post processing on valid factorization - putting variables on correct rows. More...
 
virtual void makeNonSingular (CoinSimplexInt *sequence)
 Makes a non-singular basis by replacing variables. More...
 
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. More...
 
CoinSimplexInt factorSparse ()
 Does sparse phase of factorization return code is <0 error, 0= finished. More...
 
CoinSimplexInt factorDense ()
 Does dense phase of factorization return code is <0 error, 0= finished. More...
 
bool pivotOneOtherRow (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn)
 Pivots when just one other row so faster? More...
 
bool pivotRowSingleton (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn)
 Does one pivot on Row Singleton in factorization. More...
 
void pivotColumnSingleton (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn)
 Does one pivot on Column Singleton in factorization (can't return false) More...
 
void afterPivot (CoinSimplexInt pivotRow, CoinSimplexInt pivotColumn)
 After pivoting. More...
 
int wantToGoDense ()
 After pivoting - returns true if need to go dense. More...
 
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. More...
 
bool reorderU ()
 Reorders U so contiguous and in order (if there is space) Returns true if it could. More...
 
bool getColumnSpaceIterateR (CoinSimplexInt iColumn, CoinFactorizationDouble value, CoinSimplexInt iRow)
 getColumnSpaceIterateR. More...
 
CoinBigIndex getColumnSpaceIterate (CoinSimplexInt iColumn, CoinFactorizationDouble value, CoinSimplexInt iRow)
 getColumnSpaceIterate. More...
 
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 More...

 
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 More...

 
void checkConsistency ()
 Checks that row and column copies look OK. More...
 
void addLink (CoinSimplexInt index, CoinSimplexInt count)
 Adds a link in chain of equal counts. More...
 
void deleteLink (CoinSimplexInt index)
 Deletes a link in chain of equal counts. More...
 
void modifyLink (CoinSimplexInt index, CoinSimplexInt count)
 Modifies links in chain of equal counts. More...
 
void separateLinks ()
 Separate out links with same row/column count. More...
 
void separateLinks (CoinSimplexInt, CoinSimplexInt)
 
void cleanup ()
 Cleans up at end of factorization. More...
 
void doAddresses ()
 Set up addresses from arrays. More...
 
void updateColumnL (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
 Updates part of column (FTRANL) More...
 
void updateColumnLDensish (CoinIndexedVector *region) const
 Updates part of column (FTRANL) when densish. More...
 
void updateColumnLDense (CoinIndexedVector *region) const
 Updates part of column (FTRANL) when dense (i.e. do as inner products) More...
 
void updateColumnLSparse (CoinIndexedVector *region) const
 Updates part of column (FTRANL) when sparse. More...
 
void updateColumnR (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
 Updates part of column (FTRANR) without FT update. More...
 
bool storeFT (const CoinIndexedVector *regionFT)
 Store update after doing L and R - retuns false if no room. More...
 
void updateColumnU (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
 Updates part of column (FTRANU) More...
 
void updateColumnUSparse (CoinIndexedVector *regionSparse) const
 Updates part of column (FTRANU) when sparse. More...
 
void updateColumnUDensish (CoinIndexedVector *regionSparse) const
 Updates part of column (FTRANU) More...
 
void updateColumnUDense (CoinIndexedVector *regionSparse) const
 Updates part of column (FTRANU) when dense (i.e. do as inner products) More...
 
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. More...
 
void updateColumnPFI (CoinIndexedVector *regionSparse) const
 Updates part of column PFI (FTRAN) (after rest) More...
 
void updateColumnTransposePFI (CoinIndexedVector *region) const
 Updates part of column transpose PFI (BTRAN) (before rest) More...
 
void updateColumnTransposeU (CoinIndexedVector *region, CoinSimplexInt smallestIndex, CoinAbcStatistics &statistics) const
 Updates part of column transpose (BTRANU), assumes index is sorted i.e. More...
 
void updateColumnTransposeUDensish (CoinIndexedVector *region, CoinSimplexInt smallestIndex) const
 Updates part of column transpose (BTRANU) when densish, assumes index is sorted i.e. More...
 
void updateColumnTransposeUSparse (CoinIndexedVector *region) const
 Updates part of column transpose (BTRANU) when sparse, assumes index is sorted i.e. More...
 
void updateColumnTransposeUByColumn (CoinIndexedVector *region, CoinSimplexInt smallestIndex) const
 Updates part of column transpose (BTRANU) by column assumes index is sorted i.e. More...
 
void updateColumnTransposeR (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
 Updates part of column transpose (BTRANR) More...
 
void updateColumnTransposeRDensish (CoinIndexedVector *region) const
 Updates part of column transpose (BTRANR) when dense. More...
 
void updateColumnTransposeRSparse (CoinIndexedVector *region) const
 Updates part of column transpose (BTRANR) when sparse. More...
 
void updateColumnTransposeL (CoinIndexedVector *region, CoinAbcStatistics &statistics) const
 Updates part of column transpose (BTRANL) More...
 
void updateColumnTransposeLDensish (CoinIndexedVector *region) const
 Updates part of column transpose (BTRANL) when densish by column. More...
 
void updateColumnTransposeLByRow (CoinIndexedVector *region) const
 Updates part of column transpose (BTRANL) when densish by row. More...
 
void updateColumnTransposeLSparse (CoinIndexedVector *region) const
 Updates part of column transpose (BTRANL) when sparse (by Row) More...
 
CoinSimplexInt checkPivot (CoinSimplexDouble saveFromU, CoinSimplexDouble oldPivot) const
 Returns accuracy status of replaceColumn returns 0=OK, 1=Probably OK, 2=singular. More...
 
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 More...
 
int pivot (CoinSimplexInt &pivotRow, CoinSimplexInt &pivotColumn, CoinBigIndex pivotRowPosition, CoinBigIndex pivotColumnPosition, int *COIN_RESTRICT markRow)
 

data

CoinSimplexIntpivotColumnAddress_
 
CoinSimplexIntpermuteAddress_
 
CoinFactorizationDoublepivotRegionAddress_
 
CoinFactorizationDoubleelementUAddress_
 
CoinSimplexIntindexRowUAddress_
 
CoinSimplexIntnumberInColumnAddress_
 
CoinSimplexIntnumberInColumnPlusAddress_
 
CoinBigIndexstartColumnUAddress_
 
CoinBigIndexconvertRowToColumnUAddress_
 
CoinBigIndexconvertColumnToRowUAddress_
 
CoinFactorizationDoubleelementRowUAddress_
 
CoinBigIndexstartRowUAddress_
 
CoinSimplexIntnumberInRowAddress_
 
CoinSimplexIntindexColumnUAddress_
 
CoinSimplexIntfirstCountAddress_
 
CoinSimplexIntnextCountAddress_
 Next Row/Column with count. More...
 
CoinSimplexIntlastCountAddress_
 Previous Row/Column with count. More...
 
CoinSimplexIntnextColumnAddress_
 
CoinSimplexIntlastColumnAddress_
 
CoinSimplexIntnextRowAddress_
 
CoinSimplexIntlastRowAddress_
 
CoinSimplexIntsaveColumnAddress_
 
CoinCheckZeromarkRowAddress_
 
CoinSimplexIntlistAddress_
 
CoinFactorizationDoubleelementLAddress_
 
CoinSimplexIntindexRowLAddress_
 
CoinBigIndexstartColumnLAddress_
 
CoinBigIndexstartRowLAddress_
 
CoinSimplexIntpivotLinkedBackwardsAddress_
 
CoinSimplexIntpivotLinkedForwardsAddress_
 
CoinSimplexIntpivotLOrderAddress_
 
CoinBigIndexstartColumnRAddress_
 
CoinFactorizationDoubleelementRAddress_
 Elements of R. More...
 
CoinSimplexIntindexRowRAddress_
 Row indices for R. More...
 
CoinSimplexIntindexColumnLAddress_
 
CoinFactorizationDoubleelementByRowLAddress_
 
CoinFactorizationDoubledenseAreaAddress_
 
CoinFactorizationDoubleworkAreaAddress_
 
CoinSimplexUnsignedIntworkArea2Address_
 
CoinSimplexIntsparseAddress_
 
CoinSimplexInt numberRowsExtra_
 Number of Rows after iterating. More...
 
CoinSimplexInt maximumRowsExtra_
 Maximum number of Rows after iterating. More...
 
CoinSimplexInt numberRowsSmall_
 Size of small inverse. More...
 
CoinSimplexInt numberGoodL_
 Number factorized in L. More...
 
CoinSimplexInt numberRowsLeft_
 Number Rows left (numberRows-numberGood) More...
 
CoinBigIndex totalElements_
 Number of elements in U (to go) or while iterating total overall. More...
 
CoinBigIndex firstZeroed_
 First place in funny copy zeroed out. More...
 
CoinSimplexInt sparseThreshold_
 Below this use sparse technology - if 0 then no L row copy. More...
 
CoinSimplexInt numberR_
 Number in R. More...
 
CoinBigIndex lengthR_
 Length of R stuff. More...
 
CoinBigIndex lengthAreaR_
 length of area reserved for R More...
 
CoinBigIndex numberL_
 Number in L. More...
 
CoinBigIndex baseL_
 Base of L. More...
 
CoinBigIndex lengthL_
 Length of L. More...
 
CoinBigIndex lengthAreaL_
 Length of area reserved for L. More...
 
CoinSimplexInt numberU_
 Number in U. More...
 
CoinBigIndex maximumU_
 Maximum space used in U. More...
 
CoinBigIndex lengthU_
 Length of U. More...
 
CoinBigIndex lengthAreaU_
 Length of area reserved for U. More...
 
CoinBigIndex lastEntryByColumnU_
 Last entry by column for U. More...
 
CoinBigIndex lastEntryByRowU_
 Last entry by row for U. More...
 
CoinSimplexInt numberTrials_
 Number of trials before rejection. More...
 
CoinSimplexInt leadingDimension_
 Leading dimension for dense. More...
 
CoinIntArrayWithLength pivotColumn_
 Pivot order for each Column. More...
 
CoinIntArrayWithLength permute_
 Permutation vector for pivot row order. More...
 
CoinBigIndexArrayWithLength startRowU_
 Start of each Row as pointer. More...
 
CoinIntArrayWithLength numberInRow_
 Number in each Row. More...
 
CoinIntArrayWithLength numberInColumn_
 Number in each Column. More...
 
CoinIntArrayWithLength numberInColumnPlus_
 Number in each Column including pivoted. More...
 
CoinIntArrayWithLength firstCount_
 First Row/Column with count of k, can tell which by offset - Rows then Columns. More...
 
CoinIntArrayWithLength nextColumn_
 Next Column in memory order. More...
 
CoinIntArrayWithLength lastColumn_
 Previous Column in memory order. More...
 
CoinIntArrayWithLength nextRow_
 Next Row in memory order. More...
 
CoinIntArrayWithLength lastRow_
 Previous Row in memory order. More...
 
CoinIntArrayWithLength saveColumn_
 Columns left to do in a single pivot. More...
 
CoinIntArrayWithLength markRow_
 Marks rows to be updated. More...
 
CoinIntArrayWithLength indexColumnU_
 Base address for U (may change) More...
 
CoinFactorizationDoubleArrayWithLength pivotRegion_
 Inverses of pivot values. More...
 
CoinFactorizationDoubleArrayWithLength elementU_
 Elements of U. More...
 
CoinIntArrayWithLength indexRowU_
 Row indices of U. More...
 
CoinBigIndexArrayWithLength startColumnU_
 Start of each column in U. More...
 
CoinBigIndexArrayWithLength convertRowToColumnU_
 Converts rows to columns in U. More...
 
CoinBigIndexArrayWithLength convertColumnToRowU_
 Converts columns to rows in U. More...
 
CoinFactorizationDoubleArrayWithLength elementRowU_
 Elements of U by row. More...
 
CoinFactorizationDoubleArrayWithLength elementL_
 Elements of L. More...
 
CoinIntArrayWithLength indexRowL_
 Row indices of L. More...
 
CoinBigIndexArrayWithLength startColumnL_
 Start of each column in L. More...
 
CoinFactorizationDoubleArrayWithLength denseArea_
 Dense area. More...
 
CoinFactorizationDoubleArrayWithLength workArea_
 First work area. More...
 
CoinUnsignedIntArrayWithLength workArea2_
 Second work area. More...
 
CoinBigIndexArrayWithLength startRowL_
 Start of each row in L. More...
 
CoinIntArrayWithLength indexColumnL_
 Index of column in row for L. More...
 
CoinFactorizationDoubleArrayWithLength elementByRowL_
 Elements in L (row copy) More...
 
CoinIntArrayWithLength sparse_
 Sparse regions. More...
 
CoinSimplexInt messageLevel_
 Detail in messages. More...
 
CoinBigIndex numberCompressions_
 Number of compressions done. More...
 
CoinSimplexInt lastSlack_
 
double ftranCountInput_
 To decide how to solve. More...
 
double ftranCountAfterL_
 
double ftranCountAfterR_
 
double ftranCountAfterU_
 
double ftranAverageAfterL_
 
double ftranAverageAfterR_
 
double ftranAverageAfterU_
 
CoinSimplexInt numberFtranCounts_
 
CoinSimplexInt maximumRows_
 Maximum rows (ever) (here to use double alignment) More...
 
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) More...
 
double btranCountInput_
 
double btranCountAfterU_
 
double btranCountAfterR_
 
double btranCountAfterL_
 
double btranAverageAfterU_
 
double btranAverageAfterR_
 
double btranAverageAfterL_
 
CoinSimplexInt numberBtranCounts_
 
CoinSimplexInt maximumMaximumPivots_
 Maximum maximum pivots. More...
 
double ftranFullCountInput_
 To decide how to solve. More...
 
double ftranFullCountAfterL_
 
double ftranFullCountAfterR_
 
double ftranFullCountAfterU_
 
double ftranFullAverageAfterL_
 
double ftranFullAverageAfterR_
 
double ftranFullAverageAfterU_
 
CoinSimplexInt numberFtranFullCounts_
 
CoinSimplexInt initialNumberRows_
 Rows first time nonzero. More...
 
double btranFullCountInput_
 To decide how to solve. More...
 
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.... More...
 
CoinBigIndex sizeSparseArray_
 Size in bytes of a sparseArray. More...
 
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 ()
 

Additional Inherited Members

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

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

CoinSimplexDouble CoinAbcTypeFactorization::conditionNumber ( ) const

Condition number - product of pivots after factorization.

CoinSimplexInt* CoinAbcTypeFactorization::permute ( ) const
inlinevirtual

Returns address of permute region.

Implements CoinAbcAnyFactorization.

Definition at line 65 of file CoinAbcBaseFactorization.hpp.

virtual CoinSimplexInt* CoinAbcTypeFactorization::indices ( ) const
inlinevirtual

Returns array to put basis indices in.

Implements CoinAbcAnyFactorization.

Definition at line 70 of file CoinAbcBaseFactorization.hpp.

virtual CoinSimplexInt* CoinAbcTypeFactorization::pivotColumn ( ) const
inlinevirtual

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
inlinevirtual

Returns address of pivot region.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 80 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startRowL ( ) const
inline

Start of each row in L.

Definition at line 86 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnL ( ) const
inline

Start of each column in L.

Definition at line 93 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexColumnL ( ) const
inline

Index of column in row for L.

Definition at line 100 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowL ( ) const
inline

Row indices of L.

Definition at line 107 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementByRowL ( ) const
inline

Elements in L (row copy)

Definition at line 114 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedBackwards ( ) const
inline

Forward and backward linked lists (numberRows_+2)

Definition at line 122 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedForwards ( ) const
inline

Definition at line 126 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLOrder ( ) const
inline

Definition at line 130 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 163 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::nextCount ( ) const
inline

Next Row/Column with count.

Definition at line 169 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::lastCount ( ) const
inline

Previous Row/Column with count.

Definition at line 175 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberRowsExtra ( ) const
inline

Number of Rows after iterating.

Definition at line 181 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberL ( ) const
inline

Number in L.

Definition at line 186 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::baseL ( ) const
inline

Base of L.

Definition at line 192 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::maximumRowsExtra ( ) const
inline

Maximum of Rows after iterating.

Definition at line 197 of file CoinAbcBaseFactorization.hpp.

virtual CoinBigIndex CoinAbcTypeFactorization::numberElements ( ) const
inlinevirtual

Total number of elements in factorization.

Implements CoinAbcAnyFactorization.

Definition at line 202 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberForrestTomlin ( ) const
inline

Length of FT vector.

Definition at line 207 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 214 of file CoinAbcBaseFactorization.hpp.

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

Set maximum pivots.

Reimplemented from CoinAbcAnyFactorization.

CoinSimplexInt CoinAbcTypeFactorization::denseThreshold ( ) const
inline

Gets dense threshold.

Definition at line 224 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setDenseThreshold ( CoinSimplexInt  value)
inline

Sets dense threshold.

Definition at line 229 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 244 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberElementsU ( ) const
inline

Returns number in U area.

Definition at line 256 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNumberElementsU ( CoinBigIndex  value)
inline

Setss number in U area.

Definition at line 261 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaU ( ) const
inline

Returns length of U area.

Definition at line 266 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberElementsL ( ) const
inline

Returns number in L area.

Definition at line 271 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaL ( ) const
inline

Returns length of L area.

Definition at line 276 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberElementsR ( ) const
inline

Returns number in R area.

Definition at line 281 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberCompressions ( ) const
inline

Number of compressions done.

Definition at line 286 of file CoinAbcBaseFactorization.hpp.

virtual CoinBigIndex* CoinAbcTypeFactorization::starts ( ) const
inlinevirtual

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.

virtual CoinSimplexInt* CoinAbcTypeFactorization::numberInRow ( ) const
inlinevirtual

Number of entries in each row.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 302 of file CoinAbcBaseFactorization.hpp.

virtual CoinSimplexInt* CoinAbcTypeFactorization::numberInColumn ( ) const
inlinevirtual

Number of entries in each column.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 307 of file CoinAbcBaseFactorization.hpp.

virtual CoinFactorizationDouble* CoinAbcTypeFactorization::elements ( ) const
inlinevirtual

Returns array to put basis elements in.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 312 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnR ( ) const
inline

Start of columns for R.

Definition at line 317 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementU ( ) const
inline

Elements of U.

Definition at line 322 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowU ( ) const
inline

Row indices of U.

Definition at line 327 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnU ( ) const
inline

Start of each column in U.

Definition at line 332 of file CoinAbcBaseFactorization.hpp.

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

Returns double * associated with vector.

Definition at line 357 of file CoinAbcBaseFactorization.hpp.

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

Definition at line 361 of file CoinAbcBaseFactorization.hpp.

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

Returns double * associated with vector.

Definition at line 366 of file CoinAbcBaseFactorization.hpp.

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

Definition at line 370 of file CoinAbcBaseFactorization.hpp.

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

To a work array and associate vector.

Definition at line 375 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::fromLongArray ( CoinIndexedVector vector) const
inline

From a work array and dis-associate vector.

Definition at line 377 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::fromLongArray ( int  which) const
inline

From a work array and dis-associate vector.

Definition at line 379 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::scan ( CoinIndexedVector vector) const
inline

Scans region to find nonzeros.

Definition at line 381 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
inlinevirtual

Returns true if wants tableauColumn in replaceColumn.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 503 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
virtual void CoinAbcTypeFactorization::updateColumnFTPart2 ( CoinIndexedVector regionSparse)
virtual
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
void CoinAbcTypeFactorization::pack ( CoinIndexedVector regionFrom,
CoinIndexedVector regionTo 
) const
void CoinAbcTypeFactorization::goSparse ( )
inlinevirtual

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.

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

Reimplemented from CoinAbcAnyFactorization.

CoinSimplexInt CoinAbcTypeFactorization::sparseThreshold ( ) const
inline

get sparse threshold

Definition at line 572 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::sparseThreshold ( CoinSimplexInt  value)

set sparse threshold

void CoinAbcTypeFactorization::clearArrays ( )
inlinevirtual

Get rid of all memory.

Reimplemented from CoinAbcAnyFactorization.

Definition at line 586 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)
void CoinAbcTypeFactorization::resetStatistics ( )

Reset all sparsity etc statistics.

void CoinAbcTypeFactorization::printRegion ( const CoinIndexedVector vector,
const char *  where 
) const
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  )
double CoinAbcTypeFactorization::preProcess3 ( )

Return largest element.

void CoinAbcTypeFactorization::preProcess4 ( )
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 
)
inlineprotected

Adds a link in chain of equal counts.

Definition at line 694 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::deleteLink ( CoinSimplexInt  index)
inlineprotected

Deletes a link in chain of equal counts.

Definition at line 707 of file CoinAbcBaseFactorization.hpp.

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

Modifies links in chain of equal counts.

Definition at line 726 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::separateLinks ( )
protected

Separate out links with same row/column count.

void CoinAbcTypeFactorization::separateLinks ( CoinSimplexInt  ,
CoinSimplexInt   
)
protected
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
bool CoinAbcTypeFactorization::gotLCopy ( ) const
inline

Definition at line 1244 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNoGotLCopy ( )
inline

Definition at line 1248 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setYesGotLCopy ( )
inline

Definition at line 1249 of file CoinAbcBaseFactorization.hpp.

bool CoinAbcTypeFactorization::gotRCopy ( ) const
inline

Definition at line 1250 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNoGotRCopy ( )
inline

Definition at line 1251 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setYesGotRCopy ( )
inline

Definition at line 1252 of file CoinAbcBaseFactorization.hpp.

bool CoinAbcTypeFactorization::gotUCopy ( ) const
inline

Definition at line 1253 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNoGotUCopy ( )
inline

Definition at line 1254 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setYesGotUCopy ( )
inline

Definition at line 1255 of file CoinAbcBaseFactorization.hpp.

bool CoinAbcTypeFactorization::gotSparse ( ) const
inline

Definition at line 1256 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setNoGotSparse ( )
inline

Definition at line 1257 of file CoinAbcBaseFactorization.hpp.

void CoinAbcTypeFactorization::setYesGotSparse ( )
inline

Definition at line 1258 of file CoinAbcBaseFactorization.hpp.

Friends And Related Function Documentation

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

Member Data Documentation

CoinSimplexInt* CoinAbcTypeFactorization::pivotColumnAddress_
protected

Definition at line 938 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::permuteAddress_
protected

Definition at line 939 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::pivotRegionAddress_
protected

Definition at line 940 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementUAddress_
protected

Definition at line 941 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowUAddress_
protected

Definition at line 942 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::numberInColumnAddress_
protected

Definition at line 943 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::numberInColumnPlusAddress_
protected

Definition at line 944 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnUAddress_
protected

Definition at line 950 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::convertRowToColumnUAddress_
protected

Definition at line 952 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::convertColumnToRowUAddress_
protected

Definition at line 954 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementRowUAddress_
protected

Definition at line 958 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startRowUAddress_
protected

Definition at line 960 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::numberInRowAddress_
protected

Definition at line 961 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexColumnUAddress_
protected

Definition at line 962 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::firstCountAddress_
protected

Definition at line 963 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::nextCountAddress_
protected

Next Row/Column with count.

Definition at line 965 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::lastCountAddress_
protected

Previous Row/Column with count.

Definition at line 967 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::nextColumnAddress_
protected

Definition at line 968 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::lastColumnAddress_
protected

Definition at line 969 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::nextRowAddress_
protected

Definition at line 970 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::lastRowAddress_
protected

Definition at line 971 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::saveColumnAddress_
protected

Definition at line 972 of file CoinAbcBaseFactorization.hpp.

CoinCheckZero* CoinAbcTypeFactorization::markRowAddress_
protected

Definition at line 974 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::listAddress_
protected

Definition at line 975 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementLAddress_
protected

Definition at line 976 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowLAddress_
protected

Definition at line 977 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnLAddress_
protected

Definition at line 978 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startRowLAddress_
protected

Definition at line 980 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedBackwardsAddress_
protected

Definition at line 982 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLinkedForwardsAddress_
protected

Definition at line 983 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::pivotLOrderAddress_
protected

Definition at line 984 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex* CoinAbcTypeFactorization::startColumnRAddress_
protected

Definition at line 985 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementRAddress_
protected

Elements of R.

Definition at line 987 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexRowRAddress_
protected

Row indices for R.

Definition at line 989 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::indexColumnLAddress_
protected

Definition at line 990 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::elementByRowLAddress_
protected

Definition at line 991 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::denseAreaAddress_
protected

Definition at line 993 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDouble* CoinAbcTypeFactorization::workAreaAddress_
protected

Definition at line 995 of file CoinAbcBaseFactorization.hpp.

CoinSimplexUnsignedInt* CoinAbcTypeFactorization::workArea2Address_
protected

Definition at line 996 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt* CoinAbcTypeFactorization::sparseAddress_
mutableprotected

Definition at line 997 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberRowsExtra_
protected

Number of Rows after iterating.

Definition at line 1003 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::maximumRowsExtra_
protected

Maximum number of Rows after iterating.

Definition at line 1005 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberRowsSmall_
protected

Size of small inverse.

Definition at line 1007 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberGoodL_
protected

Number factorized in L.

Definition at line 1009 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberRowsLeft_
protected

Number Rows left (numberRows-numberGood)

Definition at line 1011 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::totalElements_
protected

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

Definition at line 1014 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::firstZeroed_
protected

First place in funny copy zeroed out.

Definition at line 1016 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::sparseThreshold_
protected

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

Definition at line 1019 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberR_
protected

Number in R.

Definition at line 1022 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthR_
protected

Length of R stuff.

Definition at line 1024 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaR_
protected

length of area reserved for R

Definition at line 1026 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberL_
protected

Number in L.

Definition at line 1028 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::baseL_
protected

Base of L.

Definition at line 1030 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthL_
protected

Length of L.

Definition at line 1032 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaL_
protected

Length of area reserved for L.

Definition at line 1034 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberU_
protected

Number in U.

Definition at line 1036 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::maximumU_
protected

Maximum space used in U.

Definition at line 1038 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthU_
protected

Length of U.

Definition at line 1040 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lengthAreaU_
protected

Length of area reserved for U.

Definition at line 1042 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lastEntryByColumnU_
protected

Last entry by column for U.

Definition at line 1044 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::lastEntryByRowU_
protected

Last entry by row for U.

Definition at line 1052 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberTrials_
protected

Number of trials before rejection.

Definition at line 1054 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::leadingDimension_
protected

Leading dimension for dense.

Definition at line 1057 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::pivotColumn_
protected

Pivot order for each Column.

Definition at line 1066 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::permute_
protected

Permutation vector for pivot row order.

Definition at line 1068 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startRowU_
protected

Start of each Row as pointer.

Definition at line 1070 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInRow_
protected

Number in each Row.

Definition at line 1072 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInColumn_
protected

Number in each Column.

Definition at line 1074 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::numberInColumnPlus_
protected

Number in each Column including pivoted.

Definition at line 1076 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 1079 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::nextColumn_
protected

Next Column in memory order.

Definition at line 1081 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::lastColumn_
protected

Previous Column in memory order.

Definition at line 1083 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::nextRow_
protected

Next Row in memory order.

Definition at line 1085 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::lastRow_
protected

Previous Row in memory order.

Definition at line 1087 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::saveColumn_
protected

Columns left to do in a single pivot.

Definition at line 1089 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::markRow_
protected

Marks rows to be updated.

Definition at line 1091 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::indexColumnU_
protected

Base address for U (may change)

Definition at line 1093 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::pivotRegion_
protected

Inverses of pivot values.

Definition at line 1095 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementU_
protected

Elements of U.

Definition at line 1097 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::indexRowU_
protected

Row indices of U.

Definition at line 1099 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startColumnU_
protected

Start of each column in U.

Definition at line 1101 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::convertRowToColumnU_
protected

Converts rows to columns in U.

Definition at line 1108 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::convertColumnToRowU_
protected

Converts columns to rows in U.

Definition at line 1111 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementRowU_
protected

Elements of U by row.

Definition at line 1116 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementL_
protected

Elements of L.

Definition at line 1119 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::indexRowL_
protected

Row indices of L.

Definition at line 1121 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startColumnL_
protected

Start of each column in L.

Definition at line 1123 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::denseArea_
protected

Dense area.

Definition at line 1126 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::workArea_
protected

First work area.

Definition at line 1129 of file CoinAbcBaseFactorization.hpp.

CoinUnsignedIntArrayWithLength CoinAbcTypeFactorization::workArea2_
protected

Second work area.

Definition at line 1131 of file CoinAbcBaseFactorization.hpp.

CoinBigIndexArrayWithLength CoinAbcTypeFactorization::startRowL_
protected

Start of each row in L.

Definition at line 1134 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::indexColumnL_
protected

Index of column in row for L.

Definition at line 1136 of file CoinAbcBaseFactorization.hpp.

CoinFactorizationDoubleArrayWithLength CoinAbcTypeFactorization::elementByRowL_
protected

Elements in L (row copy)

Definition at line 1138 of file CoinAbcBaseFactorization.hpp.

CoinIntArrayWithLength CoinAbcTypeFactorization::sparse_
mutableprotected

Sparse regions.

Definition at line 1140 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::messageLevel_
protected

Detail in messages.

Definition at line 1143 of file CoinAbcBaseFactorization.hpp.

CoinBigIndex CoinAbcTypeFactorization::numberCompressions_
protected

Number of compressions done.

Definition at line 1145 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::lastSlack_
protected

Definition at line 1147 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranCountInput_
mutableprotected

To decide how to solve.

Definition at line 1150 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranCountAfterL_
mutableprotected

Definition at line 1151 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranCountAfterR_
mutableprotected

Definition at line 1152 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranCountAfterU_
mutableprotected

Definition at line 1153 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranAverageAfterL_
protected

Definition at line 1154 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranAverageAfterR_
protected

Definition at line 1155 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranAverageAfterU_
protected

Definition at line 1156 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberFtranCounts_
mutableprotected

Definition at line 1161 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::maximumRows_
protected

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

Definition at line 1164 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTCountInput_
mutableprotected

Definition at line 1166 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTCountAfterL_
mutableprotected

Definition at line 1167 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTCountAfterR_
mutableprotected

Definition at line 1168 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTCountAfterU_
mutableprotected

Definition at line 1169 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTAverageAfterL_
protected

Definition at line 1170 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTAverageAfterR_
protected

Definition at line 1171 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFTAverageAfterU_
protected

Definition at line 1172 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberFtranFTCounts_
mutableprotected

Definition at line 1177 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::denseThreshold_
protected

Dense threshold (here to use double alignment)

Definition at line 1181 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranCountInput_
mutableprotected

Definition at line 1184 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranCountAfterU_
mutableprotected

Definition at line 1185 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranCountAfterR_
mutableprotected

Definition at line 1186 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranCountAfterL_
mutableprotected

Definition at line 1187 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranAverageAfterU_
protected

Definition at line 1188 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranAverageAfterR_
protected

Definition at line 1189 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranAverageAfterL_
protected

Definition at line 1190 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberBtranCounts_
mutableprotected

Definition at line 1195 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::maximumMaximumPivots_
protected

Maximum maximum pivots.

Definition at line 1198 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullCountInput_
mutableprotected

To decide how to solve.

Definition at line 1201 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullCountAfterL_
mutableprotected

Definition at line 1202 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullCountAfterR_
mutableprotected

Definition at line 1203 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullCountAfterU_
mutableprotected

Definition at line 1204 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullAverageAfterL_
protected

Definition at line 1205 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullAverageAfterR_
protected

Definition at line 1206 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::ftranFullAverageAfterU_
protected

Definition at line 1207 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberFtranFullCounts_
mutableprotected

Definition at line 1212 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::initialNumberRows_
protected

Rows first time nonzero.

Definition at line 1215 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullCountInput_
mutableprotected

To decide how to solve.

Definition at line 1218 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullCountAfterL_
mutableprotected

Definition at line 1219 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullCountAfterR_
mutableprotected

Definition at line 1220 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullCountAfterU_
mutableprotected

Definition at line 1221 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullAverageAfterL_
protected

Definition at line 1222 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullAverageAfterR_
protected

Definition at line 1223 of file CoinAbcBaseFactorization.hpp.

double CoinAbcTypeFactorization::btranFullAverageAfterU_
protected

Definition at line 1224 of file CoinAbcBaseFactorization.hpp.

CoinSimplexInt CoinAbcTypeFactorization::numberBtranFullCounts_
mutableprotected

Definition at line 1229 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 1237 of file CoinAbcBaseFactorization.hpp.

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: