Implementation of sparse LU factorization with Rational precision.This class implements a sparse LU factorization with either FOREST-TOMLIN or ETA updates, using dynamic Markowitz pivoting. More...
#include <clufactor_rational.h>
Classes | |
struct | Dring |
struct | L |
Data structures for saving the working matrix and L factor. More... | |
struct | Perm |
Data structures for saving the row and column permutations. More... | |
class | Pring |
Pivot Ring. More... | |
class | Temp |
Temporary data structures. More... | |
struct | U |
Data structures for saving the working matrix and U factor. More... | |
Protected Member Functions | |
Solver methods | |
void | solveLright (Rational *vec) |
int | solveRight4update (Rational *vec, int *nonz, Rational *rhs, Rational *forest, int *forestNum, int *forestIdx) |
void | solveRight (Rational *vec, Rational *rhs) |
int | solveRight2update (Rational *vec1, Rational *vec2, Rational *rhs1, Rational *rhs2, int *nonz, Rational *forest, int *forestNum, int *forestIdx) |
void | solveRight2 (Rational *vec1, Rational *vec2, Rational *rhs1, Rational *rhs2) |
void | solveLeft (Rational *vec, Rational *rhs) |
int | solveLeftEps (Rational *vec, Rational *rhs, int *nonz) |
int | solveLeft2 (Rational *vec1, int *nonz, Rational *vec2, Rational *rhs1, Rational *rhs2) |
int | vSolveRight4update (Rational *vec, int *idx, Rational *rhs, int *ridx, int rn, Rational *forest, int *forestNum, int *forestIdx) |
int | vSolveRight4update2 (Rational *vec, int *idx, Rational *rhs, int *ridx, int rn, Rational *vec2, Rational *rhs2, int *ridx2, int rn2, Rational *forest, int *forestNum, int *forestIdx) |
int | vSolveRight4update3 (Rational *vec, int *idx, Rational *rhs, int *ridx, int rn, Rational *vec2, Rational *rhs2, int *ridx2, int rn2, Rational *vec3, Rational *rhs3, int *ridx3, int rn3, Rational *forest, int *forestNum, int *forestIdx) |
void | vSolveRightNoNZ (Rational *vec2, Rational *rhs2, int *ridx2, int rn2) |
int | vSolveLeft (Rational *vec, int *idx, Rational *rhs, int *ridx, int rn) |
void | vSolveLeftNoNZ (Rational *vec, Rational *rhs, int *ridx, int rn) |
int | vSolveLeft2 (Rational *vec, int *idx, Rational *rhs, int *ridx, int rn, Rational *vec2, Rational *rhs2, int *ridx2, int rn2) |
int | vSolveLeft3 (Rational *vec, int *idx, Rational *rhs, int *ridx, int rn, Rational *vec2, Rational *rhs2, int *ridx2, int rn2, Rational *vec3, Rational *rhs3, int *ridx3, int rn3) |
void | forestUpdate (int col, Rational *work, int num, int *nonz) |
Performs the Forrest-Tomlin update of the LU factorization. More... | |
void | update (int p_col, Rational *p_work, const int *p_idx, int num) |
void | updateNoClear (int p_col, const Rational *p_work, const int *p_idx, int num) |
void | factor (const SVectorRational **vec, const Rational &threshold) |
pivoting threshold More... | |
Debugging | |
void | dump () const |
bool | isConsistent () const |
Protected Attributes | |
Protected data | |
SLinSolverRational::Status | stat |
Status indicator. More... | |
int | thedim |
dimension of factorized matrix More... | |
int | nzCnt |
number of nonzeros in U More... | |
Rational | initMaxabs |
maximum abs number in initail Matrix More... | |
Rational | maxabs |
maximum abs number in L and U More... | |
Real | rowMemMult |
factor of minimum Memory * number of nonzeros More... | |
Real | colMemMult |
factor of minimum Memory * number of nonzeros More... | |
Real | lMemMult |
factor of minimum Memory * number of nonzeros More... | |
Perm | row |
row permutation matrices More... | |
Perm | col |
column permutation matrices More... | |
L | l |
L matrix. More... | |
DVectorRational | diag |
Array of pivot elements. More... | |
U | u |
U matrix. More... | |
Rational * | work |
Working array: must always be left as 0! More... | |
Timer * | factorTime |
Time spent in factorizations. More... | |
int | factorCount |
Number of factorizations. More... | |
Real | timeLimit |
Time limit on factorization or solves. More... | |
Private Member Functions | |
Solving | |
These helper methods are used during the factorization process. The solve*-methods solve lower and upper triangular systems from the left or from the right, respectively The methods with '2' in the end solve two systems at the same time. The methods with "Eps" in the end consider elements smaller then the passed epsilon as zero. | |
void | solveUright (Rational *wrk, Rational *vec) |
int | solveUrightEps (Rational *vec, int *nonz, Rational *rhs) |
void | solveUright2 (Rational *work1, Rational *vec1, Rational *work2, Rational *vec2) |
int | solveUright2eps (Rational *work1, Rational *vec1, Rational *work2, Rational *vec2, int *nonz) |
void | solveLright2 (Rational *vec1, Rational *vec2) |
void | solveUpdateRight (Rational *vec) |
void | solveUpdateRight2 (Rational *vec1, Rational *vec2) |
void | solveUleft (Rational *work, Rational *vec) |
void | solveUleft2 (Rational *work1, Rational *vec1, Rational *work2, Rational *vec2) |
int | solveLleft2forest (Rational *vec1, int *, Rational *vec2) |
void | solveLleft2 (Rational *vec1, int *, Rational *vec2) |
int | solveLleftForest (Rational *vec, int *) |
void | solveLleft (Rational *vec) |
int | solveLleftEps (Rational *vec, int *nonz) |
void | solveUpdateLeft (Rational *vec) |
void | solveUpdateLeft2 (Rational *vec1, Rational *vec2) |
int | vSolveLright (Rational *vec, int *ridx, int rn) |
void | vSolveLright2 (Rational *vec, int *ridx, int *rnptr, Rational *vec2, int *ridx2, int *rn2ptr) |
void | vSolveLright3 (Rational *vec, int *ridx, int *rnptr, Rational *vec2, int *ridx2, int *rn2ptr, Rational *vec3, int *ridx3, int *rn3ptr) |
int | vSolveUright (Rational *vec, int *vidx, Rational *rhs, int *ridx, int rn) |
void | vSolveUrightNoNZ (Rational *vec, Rational *rhs, int *ridx, int rn) |
int | vSolveUright2 (Rational *vec, int *vidx, Rational *rhs, int *ridx, int rn, Rational *vec2, Rational *rhs2, int *ridx2, int rn2) |
int | vSolveUpdateRight (Rational *vec, int *ridx, int n) |
void | vSolveUpdateRightNoNZ (Rational *vec) |
int | solveUleft (Rational *vec, int *vecidx, Rational *rhs, int *rhsidx, int rhsn) |
void | solveUleftNoNZ (Rational *vec, Rational *rhs, int *rhsidx, int rhsn) |
int | solveLleftForest (Rational *vec, int *nonz, int n) |
void | solveLleftForestNoNZ (Rational *vec) |
int | solveLleft (Rational *vec, int *nonz, int rn) |
void | solveLleftNoNZ (Rational *vec) |
int | solveUpdateLeft (Rational *vec, int *nonz, int n) |
void | forestPackColumns () |
void | forestMinColMem (int size) |
void | forestReMaxCol (int col, int len) |
void | initPerm () |
void | initFactorMatrix (const SVectorRational **vec) |
void | minLMem (int size) |
void | setPivot (const int p_stage, const int p_col, const int p_row, const Rational &val) |
void | colSingletons () |
void | rowSingletons () |
void | initFactorRings () |
void | freeFactorRings () |
int | setupColVals () |
void | setupRowVals () |
void | eliminateRowSingletons () |
void | eliminateColSingletons () |
void | selectPivots (const Rational &threshold) |
int | updateRow (int r, int lv, int prow, int pcol, const Rational &pval) |
void | eliminatePivot (int prow, int pos) |
void | eliminateNucleus (const Rational &threshold) |
void | minRowMem (int size) |
void | minColMem (int size) |
void | remaxCol (int p_col, int len) |
void | packRows () |
void | packColumns () |
void | remaxRow (int p_row, int len) |
int | makeLvec (int p_len, int p_row) |
bool | timeLimitReached () |
Private Attributes | |
Private data | |
Temp | temp |
Temporary storage. More... | |
Implementation of sparse LU factorization with Rational precision.
This class implements a sparse LU factorization with either FOREST-TOMLIN or ETA updates, using dynamic Markowitz pivoting.
Definition at line 39 of file clufactor_rational.h.
|
private |
Definition at line 1591 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::Temp::s_cact, CLUFactorRational::Temp::s_mark, CLUFactorRational::setPivot(), SLinSolverRational::SINGULAR, CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::stat, CLUFactorRational::temp, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::factor().
|
protected |
Definition at line 2819 of file clufactor_rational.cpp.
References CLUFactorRational::col, CLUFactorRational::diag, CLUFactorRational::L::firstUnused, CLUFactorRational::U::Row::idx, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::U::Row::len, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::U::row, CLUFactorRational::L::row, CLUFactorRational::row, CLUFactorRational::U::Row::start, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Row::val, and CLUFactorRational::L::val.
Referenced by SLUFactorRational::dump(), and CLUFactorRational::timeLimitReached().
|
private |
Definition at line 1974 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::Pring::idx, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, init2DR, initDR, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::perm, CLUFactorRational::Temp::pivot_col, CLUFactorRational::Temp::pivot_colNZ, CLUFactorRational::Temp::pivot_row, CLUFactorRational::Pring::prev, removeDR, CLUFactorRational::U::row, CLUFactorRational::Temp::s_cact, CLUFactorRational::setPivot(), CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::temp, CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::eliminateNucleus().
|
private |
Definition at line 2504 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::eliminateColSingletons(), CLUFactorRational::eliminatePivot(), CLUFactorRational::eliminateRowSingletons(), CLUFactorRational::Pring::idx, initDR, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::Pring::mkwtz, CLUFactorRational::Pring::next, CLUFactorRational::Perm::perm, CLUFactorRational::Temp::pivot_colNZ, CLUFactorRational::Temp::pivot_rowNZ, CLUFactorRational::Temp::pivots, CLUFactorRational::Pring::pos, CLUFactorRational::U::row, CLUFactorRational::Temp::s_mark, CLUFactorRational::selectPivots(), CLUFactorRational::setPivot(), SLinSolverRational::SINGULAR, CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::stat, CLUFactorRational::temp, CLUFactorRational::thedim, CLUFactorRational::timeLimitReached(), CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::factor().
|
private |
Definition at line 2408 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, init2DR, initDR, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::makeLvec(), CLUFactorRational::Perm::perm, CLUFactorRational::Temp::pivot_col, CLUFactorRational::Temp::pivot_colNZ, removeDR, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::Temp::s_cact, CLUFactorRational::Temp::s_mark, CLUFactorRational::setPivot(), CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::temp, CLUFactorRational::u, CLUFactorRational::updateRow(), CLUFactorRational::U::Row::val, and CLUFactorRational::work.
Referenced by CLUFactorRational::eliminateNucleus().
|
private |
Definition at line 1853 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::Pring::idx, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::L::idx, init2DR, initDR, CLUFactorRational::l, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::makeLvec(), CLUFactorRational::Perm::perm, CLUFactorRational::Temp::pivot_col, CLUFactorRational::Temp::pivot_row, CLUFactorRational::Temp::pivot_rowNZ, CLUFactorRational::Pring::prev, removeDR, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::Temp::s_cact, CLUFactorRational::Temp::s_max, CLUFactorRational::setPivot(), CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::temp, CLUFactorRational::u, CLUFactorRational::U::Row::val, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::eliminateNucleus().
|
protected |
pivoting threshold
vec | Array of column vector pointers |
threshold | pivoting threshold |
Definition at line 2751 of file clufactor_rational.cpp.
References CLUFactorRational::colSingletons(), CLUFactorRational::eliminateNucleus(), CLUFactorRational::factorCount, CLUFactorRational::factorTime, CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::freeFactorRings(), CLUFactorRational::Temp::init(), CLUFactorRational::initFactorMatrix(), CLUFactorRational::initFactorRings(), CLUFactorRational::initPerm(), CLUFactorRational::l, MSG_DEBUG, CLUFactorRational::nzCnt, SLinSolverRational::OK, CLUFactorRational::rowSingletons(), CLUFactorRational::setupColVals(), CLUFactorRational::setupRowVals(), CLUFactorRational::Temp::stage, Timer::start(), CLUFactorRational::L::start, CLUFactorRational::stat, Timer::stop(), CLUFactorRational::temp, CLUFactorRational::thedim, and CLUFactorRational::timeLimitReached().
Referenced by SLUFactorRational::load(), and CLUFactorRational::timeLimitReached().
|
private |
Definition at line 2889 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::U::Col::idx, DVectorBase< R >::reDim(), CLUFactorRational::U::Col::size, soplex::spx_realloc(), CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::forestReMaxCol().
|
private |
Definition at line 344 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::Dring::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::U::Col::list, CLUFactorRational::U::Col::max, CLUFactorRational::Dring::next, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Col::used, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::forestReMaxCol().
|
private |
Definition at line 594 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::colMemMult, CLUFactorRational::U::Col::elem, CLUFactorRational::forestMinColMem(), CLUFactorRational::forestPackColumns(), CLUFactorRational::Dring::idx, CLUFactorRational::U::Col::idx, init2DR, CLUFactorRational::U::Col::len, CLUFactorRational::U::Col::list, CLUFactorRational::U::Col::max, CLUFactorRational::Dring::next, CLUFactorRational::Dring::prev, removeDR, CLUFactorRational::U::Col::size, CLUFactorRational::U::Col::start, CLUFactorRational::u, CLUFactorRational::U::Col::used, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::forestUpdate().
|
protected |
Performs the Forrest-Tomlin update of the LU factorization.
BH: I suppose this is implemented as described in UH Suhl, LM Suhl: A fast LU update for linear programming, Annals of OR 43, p. 33-47, 1993.
p_col | Index of basis column to replace. |
p_work | Dense vector to substitute in the basis. |
num | Number of nonzeros in vector represented by p_work. |
nonz | Indices of nonzero elements in vector p_work. |
The parameters num and nonz are used for the following optimization: If both are nonzero, indices of the nonzero elements provided in nonz (num giving their number) allow to access only those nonzero entries. Otherwise we have to go through the entire dense vector element by element.
After copying p_work into U, p_work is used to expand the row r, which is needed to restore the triangular structure of U.
Also num and nonz are used to maintain a heap if there are only very few nonzeros to be eliminated. This is plainly wrong if the method is called with nonz==0, see todo at the corresponding place below.
SPxStatusException | if the loaded matrix is singular |
The following assert is obviously violated if this method is called with nonzero==0.
Definition at line 690 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, soplex::deQueueMin(), CLUFactorRational::diag, soplex::enQueueMin(), CLUFactorRational::L::firstUnused, CLUFactorRational::forestReMaxCol(), CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::L::idx, CLUFactorRational::isConsistent(), CLUFactorRational::l, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::makeLvec(), CLUFactorRational::U::Row::max, CLUFactorRational::U::Col::max, CLUFactorRational::maxabs, CLUFactorRational::nzCnt, SLinSolverRational::OK, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::remaxRow(), CLUFactorRational::U::row, CLUFactorRational::row, SLinSolverRational::SINGULAR, soplex::spxAbs(), CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::L::start, CLUFactorRational::stat, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Col::used, CLUFactorRational::U::Row::val, CLUFactorRational::U::Col::val, and CLUFactorRational::L::val.
Referenced by SLUFactorRational::change(), and CLUFactorRational::timeLimitReached().
|
private |
Definition at line 1832 of file clufactor_rational.cpp.
References CLUFactorRational::Temp::pivot_col, CLUFactorRational::Temp::pivot_colNZ, CLUFactorRational::Temp::pivot_row, CLUFactorRational::Temp::pivot_rowNZ, soplex::spx_free(), and CLUFactorRational::temp.
Referenced by CLUFactorRational::factor().
|
private |
Definition at line 1363 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::colMemMult, CLUFactorRational::U::Row::elem, CLUFactorRational::U::Col::elem, CLUFactorRational::Dring::idx, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, SVectorBase< R >::index(), CLUFactorRational::initMaxabs, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::U::Row::list, CLUFactorRational::U::Col::list, CLUFactorRational::lMemMult, CLUFactorRational::U::Row::max, CLUFactorRational::U::Col::max, CLUFactorRational::minColMem(), CLUFactorRational::minLMem(), CLUFactorRational::minRowMem(), CLUFactorRational::Dring::next, CLUFactorRational::Perm::perm, CLUFactorRational::Dring::prev, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::rowMemMult, CLUFactorRational::Temp::s_cact, CLUFactorRational::Temp::s_mark, CLUFactorRational::setPivot(), SLinSolverRational::SINGULAR, SVectorBase< R >::size(), soplex::spxAbs(), CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::stat, CLUFactorRational::temp, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Row::used, CLUFactorRational::U::Col::used, CLUFactorRational::U::Row::val, and SVectorBase< R >::value().
Referenced by CLUFactorRational::factor().
|
private |
Definition at line 1779 of file clufactor_rational.cpp.
References CLUFactorRational::col, CLUFactorRational::Pring::idx, init2DR, initDR, CLUFactorRational::U::Row::len, CLUFactorRational::Perm::perm, CLUFactorRational::Temp::pivot_col, CLUFactorRational::Temp::pivot_colNZ, CLUFactorRational::Temp::pivot_row, CLUFactorRational::Temp::pivot_rowNZ, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::Temp::s_cact, CLUFactorRational::Temp::s_mark, CLUFactorRational::Temp::s_max, SLinSolverRational::SINGULAR, soplex::spx_alloc(), CLUFactorRational::Temp::stage, CLUFactorRational::stat, CLUFactorRational::temp, CLUFactorRational::thedim, and CLUFactorRational::u.
Referenced by CLUFactorRational::factor().
|
private |
Definition at line 255 of file clufactor_rational.cpp.
References CLUFactorRational::col, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::row, and CLUFactorRational::thedim.
Referenced by CLUFactorRational::factor().
|
protected |
Definition at line 2940 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::Dring::idx, CLUFactorRational::Pring::idx, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::U::Row::list, CLUFactorRational::U::Col::list, CLUFactorRational::U::Row::max, CLUFactorRational::U::Col::max, CLUFactorRational::Dring::next, CLUFactorRational::Pring::next, CLUFactorRational::Perm::perm, CLUFactorRational::Temp::pivot_colNZ, CLUFactorRational::Temp::pivot_rowNZ, CLUFactorRational::Dring::prev, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::stat, CLUFactorRational::temp, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Row::used, and CLUFactorRational::U::Col::used.
Referenced by CLUFactorRational::forestUpdate(), SLUFactorRational::isConsistent(), and CLUFactorRational::timeLimitReached().
|
private |
Definition at line 2912 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::firstUnused, CLUFactorRational::l, CLUFactorRational::minLMem(), CLUFactorRational::L::row, soplex::spx_realloc(), CLUFactorRational::L::start, CLUFactorRational::L::startSize, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::eliminatePivot(), CLUFactorRational::eliminateRowSingletons(), CLUFactorRational::forestUpdate(), CLUFactorRational::rowSingletons(), CLUFactorRational::update(), and CLUFactorRational::updateNoClear().
|
private |
Definition at line 2879 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::size, soplex::spx_realloc(), and CLUFactorRational::u.
Referenced by CLUFactorRational::initFactorMatrix(), and CLUFactorRational::remaxCol().
|
private |
Definition at line 2900 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::idx, CLUFactorRational::l, DVectorBase< R >::reDim(), soplex::spx_realloc(), and CLUFactorRational::L::val.
Referenced by CLUFactorRational::initFactorMatrix(), and CLUFactorRational::makeLvec().
|
private |
Definition at line 2865 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::U::Row::idx, DVectorBase< R >::reDim(), CLUFactorRational::U::row, soplex::spx_realloc(), CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::initFactorMatrix(), and CLUFactorRational::remaxRow().
|
private |
Definition at line 474 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::Dring::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::U::Col::list, CLUFactorRational::U::Col::max, CLUFactorRational::Dring::next, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Col::used.
Referenced by CLUFactorRational::remaxCol().
|
private |
Definition at line 286 of file clufactor_rational.cpp.
References CLUFactorRational::Dring::idx, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Row::len, CLUFactorRational::U::Row::list, CLUFactorRational::U::Row::max, CLUFactorRational::Dring::next, CLUFactorRational::U::row, CLUFactorRational::U::Row::start, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Row::used, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::remaxRow().
|
private |
Definition at line 525 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::colMemMult, CLUFactorRational::U::Col::elem, CLUFactorRational::Dring::idx, CLUFactorRational::U::Col::idx, init2DR, CLUFactorRational::U::Col::len, CLUFactorRational::U::Col::list, CLUFactorRational::U::Col::max, CLUFactorRational::minColMem(), CLUFactorRational::Dring::next, CLUFactorRational::packColumns(), CLUFactorRational::Dring::prev, removeDR, CLUFactorRational::U::Col::size, CLUFactorRational::U::Col::start, CLUFactorRational::u, and CLUFactorRational::U::Col::used.
Referenced by CLUFactorRational::updateRow().
|
private |
Definition at line 399 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::U::Row::elem, CLUFactorRational::Dring::idx, CLUFactorRational::U::Row::idx, init2DR, CLUFactorRational::U::Row::len, CLUFactorRational::U::Row::list, CLUFactorRational::U::Row::max, CLUFactorRational::minRowMem(), CLUFactorRational::Dring::next, CLUFactorRational::packRows(), CLUFactorRational::Dring::prev, removeDR, CLUFactorRational::U::row, CLUFactorRational::rowMemMult, CLUFactorRational::U::Row::start, CLUFactorRational::u, CLUFactorRational::U::Row::used, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::forestUpdate(), and CLUFactorRational::updateRow().
|
private |
Definition at line 1684 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::makeLvec(), CLUFactorRational::Perm::perm, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::Temp::s_cact, CLUFactorRational::Temp::s_mark, CLUFactorRational::setPivot(), SLinSolverRational::SINGULAR, CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::stat, CLUFactorRational::temp, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Row::val, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::factor().
|
private |
Definition at line 2051 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::Pring::idx, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, init2DR, initDR, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::Pring::mkwtz, CLUFactorRational::Pring::next, CLUFactorRational::Perm::perm, CLUFactorRational::Temp::pivot_col, CLUFactorRational::Temp::pivot_colNZ, CLUFactorRational::Temp::pivot_row, CLUFactorRational::Temp::pivot_rowNZ, CLUFactorRational::Temp::pivots, CLUFactorRational::Pring::pos, CLUFactorRational::Pring::prev, removeDR, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::Temp::s_cact, CLUFactorRational::Temp::s_max, soplex::spxAbs(), CLUFactorRational::Temp::stage, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::temp, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::eliminateNucleus().
|
private |
Definition at line 264 of file clufactor_rational.cpp.
References CLUFactorRational::col, CLUFactorRational::diag, CLUFactorRational::maxabs, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::row, and soplex::spxAbs().
Referenced by CLUFactorRational::colSingletons(), CLUFactorRational::eliminateColSingletons(), CLUFactorRational::eliminateNucleus(), CLUFactorRational::eliminatePivot(), CLUFactorRational::eliminateRowSingletons(), CLUFactorRational::initFactorMatrix(), and CLUFactorRational::rowSingletons().
|
private |
Definition at line 2592 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::U::Col::max, CLUFactorRational::maxabs, DVectorBase< R >::reDim(), CLUFactorRational::U::row, CLUFactorRational::U::Col::size, soplex::spxAbs(), CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Row::val, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::factor().
|
private |
Definition at line 2643 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::L::rbeg, DVectorBase< R >::reDim(), CLUFactorRational::L::ridx, CLUFactorRational::L::rorig, CLUFactorRational::L::row, CLUFactorRational::row, CLUFactorRational::L::rperm, CLUFactorRational::L::rval, soplex::spx_alloc(), soplex::spx_free(), CLUFactorRational::L::start, CLUFactorRational::thedim, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::factor().
Definition at line 4158 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLleft(), CLUFactorRational::solveLleftForest(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUpdateLeft(), and CLUFactorRational::L::updateType.
Referenced by SLUFactorRational::solveLeft(), and CLUFactorRational::timeLimitReached().
|
protected |
Definition at line 4192 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLleft2(), CLUFactorRational::solveLleft2forest(), CLUFactorRational::solveUleft2(), CLUFactorRational::solveUpdateLeft2(), and CLUFactorRational::L::updateType.
Referenced by CLUFactorRational::timeLimitReached().
Definition at line 4175 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLleftEps(), CLUFactorRational::solveLleftForest(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUpdateLeft(), and CLUFactorRational::L::updateType.
Referenced by CLUFactorRational::timeLimitReached().
|
private |
Definition at line 3918 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::rbeg, CLUFactorRational::L::ridx, CLUFactorRational::L::rorig, CLUFactorRational::L::row, CLUFactorRational::L::rperm, CLUFactorRational::L::rval, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::timeLimitReached(), and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveLeft(), CLUFactorRational::vSolveLeft(), CLUFactorRational::vSolveLeft2(), and CLUFactorRational::vSolveLeft3().
|
private |
Definition at line 4456 of file clufactor_rational.cpp.
References soplex::deQueueMax(), soplex::enQueueMax(), CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::rbeg, CLUFactorRational::L::ridx, CLUFactorRational::L::rorig, CLUFactorRational::L::row, CLUFactorRational::L::rperm, CLUFactorRational::L::rval, CLUFactorRational::L::start, CLUFactorRational::thedim, and CLUFactorRational::L::val.
Definition at line 3786 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::Perm::perm, CLUFactorRational::L::rbeg, CLUFactorRational::L::ridx, CLUFactorRational::L::rorig, CLUFactorRational::L::row, CLUFactorRational::row, CLUFactorRational::L::rval, CLUFactorRational::L::start, CLUFactorRational::thedim, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveLeft2().
Definition at line 3723 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveLeft2().
|
private |
Definition at line 3970 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::Perm::perm, CLUFactorRational::L::rbeg, CLUFactorRational::L::ridx, CLUFactorRational::L::rorig, CLUFactorRational::L::row, CLUFactorRational::row, CLUFactorRational::L::rval, CLUFactorRational::L::start, CLUFactorRational::thedim, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveLeftEps().
|
private |
Definition at line 3885 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::timeLimitReached(), and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveLeft(), CLUFactorRational::solveLeftEps(), CLUFactorRational::vSolveLeft(), CLUFactorRational::vSolveLeft2(), and CLUFactorRational::vSolveLeft3().
|
private |
Definition at line 4370 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::thedim, and CLUFactorRational::L::val.
|
private |
Definition at line 4423 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::thedim, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::vSolveLeft2(), CLUFactorRational::vSolveLeft3(), and CLUFactorRational::vSolveLeftNoNZ().
|
private |
Definition at line 4555 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::rbeg, CLUFactorRational::L::ridx, CLUFactorRational::L::rorig, CLUFactorRational::L::row, CLUFactorRational::L::rperm, CLUFactorRational::L::rval, CLUFactorRational::L::start, CLUFactorRational::thedim, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::vSolveLeft2(), CLUFactorRational::vSolveLeft3(), and CLUFactorRational::vSolveLeftNoNZ().
|
protected |
Definition at line 3283 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, MSG_DEBUG, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::timeLimitReached(), CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by SLUFactorRational::change(), CLUFactorRational::solveRight(), CLUFactorRational::solveRight4update(), and CLUFactorRational::timeLimitReached().
Definition at line 3345 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveRight2(), and CLUFactorRational::solveRight2update().
Definition at line 3547 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLright(), CLUFactorRational::solveUpdateRight(), CLUFactorRational::solveUright(), and CLUFactorRational::L::updateType.
Referenced by SLUFactorRational::change(), SLUFactorRational::solveRight(), and CLUFactorRational::timeLimitReached().
Definition at line 3591 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLright2(), CLUFactorRational::solveUpdateRight2(), CLUFactorRational::solveUright2(), and CLUFactorRational::L::updateType.
Referenced by CLUFactorRational::timeLimitReached().
|
protected |
Definition at line 3556 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLright2(), CLUFactorRational::solveUpdateRight2(), CLUFactorRational::solveUright2(), CLUFactorRational::solveUright2eps(), CLUFactorRational::thedim, and CLUFactorRational::L::updateType.
Referenced by CLUFactorRational::timeLimitReached().
|
protected |
Definition at line 3518 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLright(), CLUFactorRational::solveUpdateRight(), CLUFactorRational::solveUright(), CLUFactorRational::solveUrightEps(), CLUFactorRational::thedim, and CLUFactorRational::L::updateType.
Referenced by CLUFactorRational::timeLimitReached().
Definition at line 3609 of file clufactor_rational.cpp.
References CLUFactorRational::col, CLUFactorRational::diag, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Row::len, CLUFactorRational::Perm::orig, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::U::Row::start, CLUFactorRational::thedim, CLUFactorRational::timeLimitReached(), CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::solveLeft(), CLUFactorRational::solveLeftEps(), CLUFactorRational::vSolveLeft(), CLUFactorRational::vSolveLeft2(), and CLUFactorRational::vSolveLeft3().
Definition at line 4216 of file clufactor_rational.cpp.
References CLUFactorRational::col, soplex::deQueueMin(), CLUFactorRational::diag, VectorBase< R >::dim(), soplex::enQueueMin(), CLUFactorRational::U::Row::idx, CLUFactorRational::U::Row::len, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::U::Row::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Definition at line 3655 of file clufactor_rational.cpp.
References CLUFactorRational::col, CLUFactorRational::diag, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Row::len, CLUFactorRational::Perm::orig, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::U::Row::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::solveLeft2().
Definition at line 4296 of file clufactor_rational.cpp.
References CLUFactorRational::col, soplex::deQueueMin(), CLUFactorRational::diag, VectorBase< R >::dim(), soplex::enQueueMin(), CLUFactorRational::U::Row::idx, CLUFactorRational::U::Row::len, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::U::Row::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Row::val.
Referenced by CLUFactorRational::vSolveLeft2(), CLUFactorRational::vSolveLeft3(), and CLUFactorRational::vSolveLeftNoNZ().
|
private |
Definition at line 4034 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveLeft(), CLUFactorRational::solveLeftEps(), CLUFactorRational::vSolveLeft(), CLUFactorRational::vSolveLeft2(), CLUFactorRational::vSolveLeft3(), and CLUFactorRational::vSolveLeftNoNZ().
|
private |
Definition at line 4102 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Definition at line 4065 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveLeft2().
|
private |
Definition at line 3426 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveRight(), and CLUFactorRational::solveRight4update().
Definition at line 3458 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::solveRight2(), and CLUFactorRational::solveRight2update().
Definition at line 3078 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::diag, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::orig, CLUFactorRational::row, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::timeLimitReached(), CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::solveRight(), and CLUFactorRational::solveRight4update().
Definition at line 3143 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::diag, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::orig, CLUFactorRational::row, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::solveRight2(), and CLUFactorRational::solveRight2update().
|
private |
Definition at line 3204 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::diag, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::orig, CLUFactorRational::row, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::solveRight2update().
Definition at line 3101 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, CLUFactorRational::diag, CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::orig, CLUFactorRational::row, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::solveRight4update().
|
private |
Definition at line 354 of file clufactor_rational.h.
References CLUFactorRational::dump(), CLUFactorRational::factor(), CLUFactorRational::forestUpdate(), CLUFactorRational::Dring::idx, CLUFactorRational::isConsistent(), CLUFactorRational::solveLeft(), CLUFactorRational::solveLeft2(), CLUFactorRational::solveLeftEps(), CLUFactorRational::solveLright(), CLUFactorRational::solveRight(), CLUFactorRational::solveRight2(), CLUFactorRational::solveRight2update(), CLUFactorRational::solveRight4update(), SLinSolverRational::TIME, Timer::time(), CLUFactorRational::timeLimit, CLUFactorRational::update(), CLUFactorRational::updateNoClear(), CLUFactorRational::vSolveLeft(), CLUFactorRational::vSolveLeft2(), CLUFactorRational::vSolveLeft3(), CLUFactorRational::vSolveLeftNoNZ(), CLUFactorRational::vSolveRight4update(), CLUFactorRational::vSolveRight4update2(), CLUFactorRational::vSolveRight4update3(), and CLUFactorRational::vSolveRightNoNZ().
Referenced by CLUFactorRational::eliminateNucleus(), CLUFactorRational::factor(), CLUFactorRational::solveLleft(), CLUFactorRational::solveLleftForest(), CLUFactorRational::solveLright(), CLUFactorRational::solveUleft(), and CLUFactorRational::solveUright().
|
protected |
Definition at line 1253 of file clufactor_rational.cpp.
References CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::makeLvec(), CLUFactorRational::maxabs, SLinSolverRational::OK, soplex::spxAbs(), CLUFactorRational::stat, and CLUFactorRational::L::val.
Referenced by SLUFactorRational::changeEta(), and CLUFactorRational::timeLimitReached().
|
protected |
Definition at line 1295 of file clufactor_rational.cpp.
References CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::makeLvec(), CLUFactorRational::maxabs, SLinSolverRational::OK, soplex::spxAbs(), CLUFactorRational::stat, and CLUFactorRational::L::val.
Referenced by SLUFactorRational::change(), and CLUFactorRational::timeLimitReached().
|
private |
Definition at line 2273 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::L::idx, init2DR, CLUFactorRational::l, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::U::Row::max, CLUFactorRational::U::Col::max, CLUFactorRational::Perm::perm, CLUFactorRational::Temp::pivot_row, CLUFactorRational::Temp::pivot_rowNZ, CLUFactorRational::remaxCol(), CLUFactorRational::remaxRow(), removeDR, CLUFactorRational::U::row, CLUFactorRational::row, CLUFactorRational::Temp::s_cact, CLUFactorRational::Temp::s_mark, CLUFactorRational::Temp::s_max, CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::temp, CLUFactorRational::u, CLUFactorRational::U::Row::val, CLUFactorRational::L::val, and CLUFactorRational::work.
Referenced by CLUFactorRational::eliminatePivot().
Definition at line 5918 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLleft(), CLUFactorRational::solveLleftForest(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUpdateLeft(), and CLUFactorRational::L::updateType.
Referenced by SLUFactorRational::solveLeft(), and CLUFactorRational::timeLimitReached().
|
protected |
Definition at line 5936 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLleft(), CLUFactorRational::solveLleftForest(), CLUFactorRational::solveLleftForestNoNZ(), CLUFactorRational::solveLleftNoNZ(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUleftNoNZ(), CLUFactorRational::solveUpdateLeft(), and CLUFactorRational::L::updateType.
Referenced by SLUFactorRational::solveLeft(), and CLUFactorRational::timeLimitReached().
|
protected |
Definition at line 5964 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLleft(), CLUFactorRational::solveLleftForest(), CLUFactorRational::solveLleftForestNoNZ(), CLUFactorRational::solveLleftNoNZ(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUleftNoNZ(), CLUFactorRational::solveUpdateLeft(), and CLUFactorRational::L::updateType.
Referenced by SLUFactorRational::solveLeft(), and CLUFactorRational::timeLimitReached().
Definition at line 5999 of file clufactor_rational.cpp.
References CLUFactorRational::l, CLUFactorRational::solveLleftForestNoNZ(), CLUFactorRational::solveLleftNoNZ(), CLUFactorRational::solveUleftNoNZ(), CLUFactorRational::solveUpdateLeft(), and CLUFactorRational::L::updateType.
Referenced by CLUFactorRational::timeLimitReached().
|
private |
Definition at line 4620 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::vSolveRight4update(), and CLUFactorRational::vSolveRightNoNZ().
|
private |
Definition at line 4685 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::vSolveRight4update2().
|
private |
Definition at line 4804 of file clufactor_rational.cpp.
References CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::vSolveRight4update3().
|
protected |
Definition at line 5558 of file clufactor_rational.cpp.
References soplex::enQueueMax(), CLUFactorRational::l, CLUFactorRational::Perm::perm, CLUFactorRational::row, CLUFactorRational::thedim, CLUFactorRational::L::updateType, CLUFactorRational::vSolveLright(), CLUFactorRational::vSolveUpdateRight(), and CLUFactorRational::vSolveUright().
Referenced by SLUFactorRational::solveRight4update(), and CLUFactorRational::timeLimitReached().
|
protected |
Definition at line 5624 of file clufactor_rational.cpp.
References soplex::enQueueMax(), CLUFactorRational::l, CLUFactorRational::Perm::perm, CLUFactorRational::row, CLUFactorRational::thedim, CLUFactorRational::L::updateType, CLUFactorRational::vSolveLright2(), CLUFactorRational::vSolveUpdateRight(), CLUFactorRational::vSolveUpdateRightNoNZ(), CLUFactorRational::vSolveUright(), and CLUFactorRational::vSolveUrightNoNZ().
Referenced by SLUFactorRational::solve2right4update(), and CLUFactorRational::timeLimitReached().
|
protected |
Definition at line 5735 of file clufactor_rational.cpp.
References soplex::enQueueMax(), CLUFactorRational::l, CLUFactorRational::Perm::perm, CLUFactorRational::row, CLUFactorRational::thedim, CLUFactorRational::L::updateType, CLUFactorRational::vSolveLright3(), CLUFactorRational::vSolveUpdateRight(), CLUFactorRational::vSolveUpdateRightNoNZ(), CLUFactorRational::vSolveUright(), and CLUFactorRational::vSolveUrightNoNZ().
Referenced by SLUFactorRational::solve3right4update(), and CLUFactorRational::timeLimitReached().
Definition at line 5874 of file clufactor_rational.cpp.
References soplex::enQueueMax(), CLUFactorRational::l, CLUFactorRational::Perm::perm, CLUFactorRational::row, CLUFactorRational::thedim, CLUFactorRational::L::updateType, CLUFactorRational::vSolveLright(), CLUFactorRational::vSolveUpdateRightNoNZ(), and CLUFactorRational::vSolveUrightNoNZ().
Referenced by CLUFactorRational::timeLimitReached().
|
private |
Definition at line 5475 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::vSolveRight4update(), CLUFactorRational::vSolveRight4update2(), and CLUFactorRational::vSolveRight4update3().
|
private |
Definition at line 5520 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::L::row, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::L::updateType, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::vSolveRight4update2(), CLUFactorRational::vSolveRight4update3(), and CLUFactorRational::vSolveRightNoNZ().
Definition at line 5023 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, soplex::deQueueMax(), CLUFactorRational::diag, soplex::enQueueMax(), CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::row, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::vSolveRight4update(), CLUFactorRational::vSolveRight4update2(), and CLUFactorRational::vSolveRight4update3().
|
private |
Definition at line 5230 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, soplex::deQueueMax(), CLUFactorRational::diag, soplex::enQueueMax(), CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::row, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Definition at line 5129 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::col, soplex::deQueueMax(), CLUFactorRational::diag, soplex::enQueueMax(), CLUFactorRational::U::Col::idx, CLUFactorRational::U::Col::len, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::row, CLUFactorRational::U::Col::start, CLUFactorRational::thedim, CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::vSolveRight4update2(), CLUFactorRational::vSolveRight4update3(), and CLUFactorRational::vSolveRightNoNZ().
|
protected |
column permutation matrices
Definition at line 197 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), CLUFactorRational::dump(), CLUFactorRational::eliminateColSingletons(), CLUFactorRational::eliminateNucleus(), CLUFactorRational::eliminatePivot(), CLUFactorRational::forestUpdate(), SLUFactorRational::freeAll(), CLUFactorRational::initFactorRings(), CLUFactorRational::initPerm(), CLUFactorRational::isConsistent(), SLUFactorRational::load(), CLUFactorRational::selectPivots(), CLUFactorRational::setPivot(), SLUFactorRational::SLUFactorRational(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUleft2(), CLUFactorRational::solveUleftNoNZ(), CLUFactorRational::solveUright(), CLUFactorRational::solveUright2(), CLUFactorRational::solveUright2eps(), CLUFactorRational::solveUrightEps(), CLUFactorRational::vSolveUright(), CLUFactorRational::vSolveUright2(), and CLUFactorRational::vSolveUrightNoNZ().
|
protected |
factor of minimum Memory * number of nonzeros
Definition at line 193 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::clear(), CLUFactorRational::forestReMaxCol(), CLUFactorRational::initFactorMatrix(), and CLUFactorRational::remaxCol().
|
protected |
Array of pivot elements.
Definition at line 200 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), CLUFactorRational::dump(), CLUFactorRational::forestUpdate(), SLUFactorRational::freeAll(), SLUFactorRational::load(), CLUFactorRational::setPivot(), SLUFactorRational::SLUFactorRational(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUleft2(), CLUFactorRational::solveUleftNoNZ(), CLUFactorRational::solveUright(), CLUFactorRational::solveUright2(), CLUFactorRational::solveUright2eps(), CLUFactorRational::solveUrightEps(), CLUFactorRational::vSolveUright(), CLUFactorRational::vSolveUright2(), and CLUFactorRational::vSolveUrightNoNZ().
|
protected |
Number of factorizations.
Definition at line 206 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), CLUFactorRational::factor(), SLUFactorRational::getFactorCount(), SLUFactorRational::resetCounters(), and SLUFactorRational::SLUFactorRational().
|
protected |
Time spent in factorizations.
Definition at line 205 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), CLUFactorRational::factor(), SLUFactorRational::freeAll(), SLUFactorRational::getFactorTime(), SLUFactorRational::resetCounters(), SLUFactorRational::resetFactorTime(), and SLUFactorRational::SLUFactorRational().
|
protected |
maximum abs number in initail Matrix
Definition at line 189 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::clear(), CLUFactorRational::initFactorMatrix(), and SLUFactorRational::stability().
|
protected |
L matrix.
Definition at line 199 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::change(), SLUFactorRational::clear(), CLUFactorRational::dump(), CLUFactorRational::eliminateRowSingletons(), CLUFactorRational::factor(), CLUFactorRational::forestUpdate(), SLUFactorRational::freeAll(), SLUFactorRational::load(), CLUFactorRational::makeLvec(), SLUFactorRational::memory(), CLUFactorRational::minLMem(), CLUFactorRational::rowSingletons(), CLUFactorRational::setupRowVals(), SLUFactorRational::SLUFactorRational(), SLUFactorRational::solve2right4update(), SLUFactorRational::solve3right4update(), CLUFactorRational::solveLeft(), CLUFactorRational::solveLeft2(), CLUFactorRational::solveLeftEps(), CLUFactorRational::solveLleft(), CLUFactorRational::solveLleft2(), CLUFactorRational::solveLleft2forest(), CLUFactorRational::solveLleftEps(), CLUFactorRational::solveLleftForest(), CLUFactorRational::solveLleftForestNoNZ(), CLUFactorRational::solveLleftNoNZ(), CLUFactorRational::solveLright(), CLUFactorRational::solveLright2(), CLUFactorRational::solveRight(), CLUFactorRational::solveRight2(), CLUFactorRational::solveRight2update(), SLUFactorRational::solveRight4update(), CLUFactorRational::solveRight4update(), CLUFactorRational::solveUpdateLeft(), CLUFactorRational::solveUpdateLeft2(), CLUFactorRational::solveUpdateRight(), CLUFactorRational::solveUpdateRight2(), CLUFactorRational::update(), CLUFactorRational::updateNoClear(), CLUFactorRational::updateRow(), CLUFactorRational::vSolveLeft(), CLUFactorRational::vSolveLeft2(), CLUFactorRational::vSolveLeft3(), CLUFactorRational::vSolveLeftNoNZ(), CLUFactorRational::vSolveLright(), CLUFactorRational::vSolveLright2(), CLUFactorRational::vSolveLright3(), CLUFactorRational::vSolveRight4update(), CLUFactorRational::vSolveRight4update2(), CLUFactorRational::vSolveRight4update3(), CLUFactorRational::vSolveRightNoNZ(), CLUFactorRational::vSolveUpdateRight(), and CLUFactorRational::vSolveUpdateRightNoNZ().
|
protected |
factor of minimum Memory * number of nonzeros
Definition at line 194 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::clear(), and CLUFactorRational::initFactorMatrix().
|
protected |
Definition at line 190 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::clear(), CLUFactorRational::forestUpdate(), CLUFactorRational::setPivot(), CLUFactorRational::setupColVals(), SLUFactorRational::stability(), CLUFactorRational::update(), and CLUFactorRational::updateNoClear().
|
protected |
number of nonzeros in U
Definition at line 188 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), CLUFactorRational::factor(), CLUFactorRational::forestUpdate(), SLUFactorRational::memory(), and SLUFactorRational::SLUFactorRational().
|
protected |
row permutation matrices
Definition at line 196 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), CLUFactorRational::colSingletons(), CLUFactorRational::dump(), CLUFactorRational::eliminatePivot(), CLUFactorRational::eliminateRowSingletons(), CLUFactorRational::forestUpdate(), SLUFactorRational::freeAll(), CLUFactorRational::initFactorMatrix(), CLUFactorRational::initFactorRings(), CLUFactorRational::initPerm(), CLUFactorRational::isConsistent(), SLUFactorRational::load(), CLUFactorRational::rowSingletons(), CLUFactorRational::selectPivots(), CLUFactorRational::setPivot(), CLUFactorRational::setupRowVals(), SLUFactorRational::SLUFactorRational(), CLUFactorRational::solveLleft2(), CLUFactorRational::solveLleftEps(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUleft2(), CLUFactorRational::solveUleftNoNZ(), CLUFactorRational::solveUright(), CLUFactorRational::solveUright2(), CLUFactorRational::solveUright2eps(), CLUFactorRational::solveUrightEps(), CLUFactorRational::updateRow(), CLUFactorRational::vSolveRight4update(), CLUFactorRational::vSolveRight4update2(), CLUFactorRational::vSolveRight4update3(), CLUFactorRational::vSolveRightNoNZ(), CLUFactorRational::vSolveUright(), CLUFactorRational::vSolveUright2(), and CLUFactorRational::vSolveUrightNoNZ().
|
protected |
factor of minimum Memory * number of nonzeros
Definition at line 192 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::clear(), CLUFactorRational::initFactorMatrix(), and CLUFactorRational::remaxRow().
|
protected |
Status indicator.
Definition at line 185 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::clear(), CLUFactorRational::colSingletons(), CLUFactorRational::eliminateNucleus(), CLUFactorRational::factor(), CLUFactorRational::forestUpdate(), CLUFactorRational::initFactorMatrix(), CLUFactorRational::initFactorRings(), CLUFactorRational::isConsistent(), SLUFactorRational::load(), CLUFactorRational::rowSingletons(), SLUFactorRational::status(), CLUFactorRational::update(), and CLUFactorRational::updateNoClear().
|
private |
Temporary storage.
Definition at line 215 of file clufactor_rational.h.
Referenced by CLUFactorRational::colSingletons(), CLUFactorRational::eliminateColSingletons(), CLUFactorRational::eliminateNucleus(), CLUFactorRational::eliminatePivot(), CLUFactorRational::eliminateRowSingletons(), CLUFactorRational::factor(), CLUFactorRational::freeFactorRings(), CLUFactorRational::initFactorMatrix(), CLUFactorRational::initFactorRings(), CLUFactorRational::isConsistent(), CLUFactorRational::rowSingletons(), CLUFactorRational::selectPivots(), and CLUFactorRational::updateRow().
|
protected |
dimension of factorized matrix
Definition at line 187 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::clear(), CLUFactorRational::colSingletons(), SLUFactorRational::dim(), CLUFactorRational::dump(), CLUFactorRational::eliminateNucleus(), CLUFactorRational::factor(), CLUFactorRational::forestPackColumns(), CLUFactorRational::forestUpdate(), CLUFactorRational::initFactorMatrix(), CLUFactorRational::initFactorRings(), CLUFactorRational::initPerm(), CLUFactorRational::isConsistent(), SLUFactorRational::load(), CLUFactorRational::packColumns(), CLUFactorRational::packRows(), CLUFactorRational::rowSingletons(), CLUFactorRational::selectPivots(), CLUFactorRational::setupColVals(), CLUFactorRational::setupRowVals(), SLUFactorRational::SLUFactorRational(), CLUFactorRational::solveLleft(), CLUFactorRational::solveLleft2(), CLUFactorRational::solveLleftEps(), CLUFactorRational::solveLleftForest(), CLUFactorRational::solveLleftForestNoNZ(), CLUFactorRational::solveLleftNoNZ(), CLUFactorRational::solveRight2update(), CLUFactorRational::solveRight4update(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUleft2(), CLUFactorRational::solveUleftNoNZ(), CLUFactorRational::solveUpdateLeft(), CLUFactorRational::solveUright(), CLUFactorRational::solveUright2(), CLUFactorRational::solveUright2eps(), CLUFactorRational::solveUrightEps(), CLUFactorRational::vSolveLright(), CLUFactorRational::vSolveLright2(), CLUFactorRational::vSolveLright3(), CLUFactorRational::vSolveRight4update(), CLUFactorRational::vSolveRight4update2(), CLUFactorRational::vSolveRight4update3(), CLUFactorRational::vSolveRightNoNZ(), CLUFactorRational::vSolveUpdateRight(), CLUFactorRational::vSolveUpdateRightNoNZ(), CLUFactorRational::vSolveUright(), CLUFactorRational::vSolveUright2(), and CLUFactorRational::vSolveUrightNoNZ().
|
protected |
Time limit on factorization or solves.
Definition at line 207 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::setTimeLimit(), SLUFactorRational::SLUFactorRational(), and CLUFactorRational::timeLimitReached().
|
protected |
U matrix.
Definition at line 201 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), SLUFactorRational::clear(), CLUFactorRational::colSingletons(), CLUFactorRational::dump(), CLUFactorRational::eliminateColSingletons(), CLUFactorRational::eliminateNucleus(), CLUFactorRational::eliminatePivot(), CLUFactorRational::eliminateRowSingletons(), CLUFactorRational::forestMinColMem(), CLUFactorRational::forestPackColumns(), CLUFactorRational::forestReMaxCol(), CLUFactorRational::forestUpdate(), SLUFactorRational::freeAll(), CLUFactorRational::initFactorMatrix(), CLUFactorRational::initFactorRings(), CLUFactorRational::isConsistent(), SLUFactorRational::load(), CLUFactorRational::minColMem(), CLUFactorRational::minRowMem(), CLUFactorRational::packColumns(), CLUFactorRational::packRows(), CLUFactorRational::remaxCol(), CLUFactorRational::remaxRow(), CLUFactorRational::rowSingletons(), CLUFactorRational::selectPivots(), CLUFactorRational::setupColVals(), SLUFactorRational::SLUFactorRational(), CLUFactorRational::solveUleft(), CLUFactorRational::solveUleft2(), CLUFactorRational::solveUleftNoNZ(), CLUFactorRational::solveUright(), CLUFactorRational::solveUright2(), CLUFactorRational::solveUright2eps(), CLUFactorRational::solveUrightEps(), CLUFactorRational::updateRow(), CLUFactorRational::vSolveUright(), CLUFactorRational::vSolveUright2(), and CLUFactorRational::vSolveUrightNoNZ().
|
protected |
Working array: must always be left as 0!
Definition at line 203 of file clufactor_rational.h.
Referenced by SLUFactorRational::assign(), CLUFactorRational::eliminatePivot(), SLUFactorRational::load(), SLUFactorRational::SLUFactorRational(), and CLUFactorRational::updateRow().