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 1590 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 2814 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 1971 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 2500 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 2404 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 1850 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 2746 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 2885 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 346 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 596 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 692 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 1829 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 1364 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 1776 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 257 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 2936 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 2908 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 2875 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 2896 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 2860 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 476 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 288 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 527 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 401 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 1682 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 2048 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 266 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 2587 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, DVectorBase< 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 4148 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 4182 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 4165 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 3906 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 4446 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 3775 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 3713 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 3959 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 3873 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 4360 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 4413 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 4546 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 3277 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 3340 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 3538 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 3582 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 3547 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 3509 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 3600 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 4206 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 3646 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 4286 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 4024 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 4092 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 4055 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 3419 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 3451 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 3074 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 3139 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 3199 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 3097 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 1254 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 1296 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 2269 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 5907 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 5925 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 5953 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 5988 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 4612 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 4677 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 4795 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 5544 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 5611 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 5723 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 5863 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 5461 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 5506 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 5011 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 5220 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 5118 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::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().