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... | |
VectorRational | 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 1597 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 2823 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 1978 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 2509 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 2411 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 1857 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 2755 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 2894 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::U::Col::idx, VectorBase< R >::reDim(), CLUFactorRational::U::Col::size, soplex::spx_realloc(), CLUFactorRational::u, and CLUFactorRational::U::Col::val.
Referenced by CLUFactorRational::forestReMaxCol().
|
private |
Definition at line 353 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 603 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 699 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 1836 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 1371 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 1783 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 264 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 2945 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 2917 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 2884 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 2905 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::L::idx, CLUFactorRational::l, VectorBase< R >::reDim(), soplex::spx_realloc(), and CLUFactorRational::L::val.
Referenced by CLUFactorRational::initFactorMatrix(), and CLUFactorRational::makeLvec().
|
private |
Definition at line 2869 of file clufactor_rational.cpp.
References VectorBase< R >::dim(), CLUFactorRational::U::Row::idx, VectorBase< 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 483 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 295 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 534 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 408 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 1689 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 2055 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 273 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 2596 of file clufactor_rational.cpp.
References CLUFactorRational::U::col, CLUFactorRational::L::firstUpdate, CLUFactorRational::U::Row::idx, CLUFactorRational::U::Col::idx, CLUFactorRational::L::idx, CLUFactorRational::l, CLUFactorRational::U::Row::len, CLUFactorRational::U::Col::len, CLUFactorRational::U::Col::max, CLUFactorRational::maxabs, CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::L::rbeg, VectorBase< R >::reDim(), CLUFactorRational::L::ridx, CLUFactorRational::L::rorig, CLUFactorRational::U::row, CLUFactorRational::L::row, CLUFactorRational::row, CLUFactorRational::L::rperm, CLUFactorRational::L::rval, CLUFactorRational::setupRowVals(), CLUFactorRational::U::Col::size, soplex::spx_alloc(), soplex::spx_free(), soplex::spxAbs(), CLUFactorRational::U::Row::start, CLUFactorRational::U::Col::start, CLUFactorRational::L::start, CLUFactorRational::thedim, CLUFactorRational::u, CLUFactorRational::U::Row::val, CLUFactorRational::U::Col::val, and CLUFactorRational::L::val.
Referenced by CLUFactorRational::factor().
|
private |
Referenced by CLUFactorRational::factor(), and CLUFactorRational::setupColVals().
Definition at line 4145 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 4179 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 4162 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 3903 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 4443 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 3772 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 3710 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 3956 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 3870 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 4357 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 4410 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 4543 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 3286 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 3349 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 4203 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 3643 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 4283 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 4021 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 4089 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 4052 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 3428 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 3460 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 3083 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 3148 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 3208 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 3106 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 1261 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 1303 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 2276 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 5904 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 5922 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 5950 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 5985 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 4609 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 4674 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 4792 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 5541 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 5608 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 5720 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 5860 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 5458 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 5503 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 5008 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 5217 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 5115 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::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::setupColVals(), 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::setupColVals(), 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(), 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().