slufactor.cpp
Go to the documentation of this file.
594 << " Time spent : " << std::setw(10) << std::fixed << std::setprecision(2) << getFactorTime() << std::endl 1271 // the last factorization was reasonably stable, so we decrease the Markowitz threshold (stored in lastThreshold) in 1275 // we reset lastThreshold to its previous value in the sequence minThreshold, betterThreshold(minThreshold), 1286 // we reset the minimum stability (which might have been decreased below) to ensure that the increased sparsity 1303 ///@todo if the factorization fails with stat = SINGULAR, distinuish between proven singularity (e.g., because of 1304 ///an empty column) and singularity due to numerics, that could be avoided by changing minStability and 1324 MSG_INFO3( (*spxout), (*spxout) << "ISLUFA01 refactorizing with increased Markowitz threshold: "
void updateNoClear(int p_col, const Real *p_work, const int *p_idx, int num) Definition: clufactor.cpp:1320 Dring list Double linked ringlist of vector indices in the order they appear in the column file. Definition: clufactor.h:137 void solve2right4update(SSVector &x, Vector &y, const SVector &b, SSVector &d) Solves and . Definition: slufactor.cpp:106 void reDim(int newdim, const bool setZero=true) Resets DVectorBase's dimension to newdim. Definition: dvectorbase.h:249 int * max maximum available nonzeros per row: start[i] + max[i] == start[elem[i].next->idx] len[i] <= max[i]... Definition: clufactor.h:129 int vSolveRight4update(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn, Real *forest, int *forestNum, int *forestIdx) Definition: clufactor.cpp:5637 Definition: slufactor.h:52 Memory allocation routines. void vSolveRight4update3sparse(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int &rn, Real eps2, Real *vec2, int *idx2, Real *rhs2, int *ridx2, int &rn2, Real eps3, Real *vec3, int *idx3, Real *rhs3, int *ridx3, int &rn3, Real *forest, int *forestNum, int *forestIdx) sparse version of above method Definition: clufactor.cpp:6055 SSVectorBase< R > & assign(const SVectorBase< S > &rhs) Assigns only the elements of rhs. Definition: basevectors.h:818 struct soplex::CLUFactor::U::Col col void solveLeft(Vector &x, const Vector &b) sparse version of solving one system of equations with transposed basis matrix Definition: slufactor.cpp:363 Exception classes for SoPlex. bool LT(Real a, Real b, Real eps=Param::epsilon()) returns true iff a < b + eps Definition: spxdefines.h:383 Definition: clufactor.h:47 int vSolveRight4update3(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn, Real *vec2, Real eps2, Real *rhs2, int *ridx2, int rn2, Real *vec3, Real eps3, Real *rhs3, int *ridx3, int rn3, Real *forest, int *forestNum, int *forestIdx) Definition: clufactor.cpp:5905 Implementation of Sparse Linear Solver. void vSolveLeft3sparse(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int &rn, Real *vec2, int *idx2, Real *rhs2, int *ridx2, int &rn2, Real *vec3, int *idx3, Real *rhs3, int *ridx3, int &rn3) sparse version of solving 3 systems of equations Definition: clufactor.cpp:6324 Definition: slufactor.h:51 void update(int p_col, Real *p_work, const int *p_idx, int num) Definition: clufactor.cpp:1276 int vSolveLeft2(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn, Real *vec2, Real *rhs2, int *ridx2, int rn2) Definition: clufactor.cpp:6232 Sparse Linear Solver virtual base class.Class SLinSolver provides a class for solving sparse linear s... Definition: slinsolver.h:43 Wrapper for different output streams and verbosity levels. Exception class for out of memory exceptions.This class is derived from the SoPlex exception base cla... Definition: exceptions.h:70 virtual void start()=0 start timer, resume accounting user, system and real time. void forestUpdate(int col, Real *work, int num, int *nonz) Performs the Forrest-Tomlin update of the LU factorization. Definition: clufactor.cpp:710 Real * val hold nonzero values: this is only initialized in the end of the factorization with DEFAULT updates... Definition: clufactor.h:144 static Timer * createTimer(Timer::TYPE ttype) create timers and allocate memory for them Definition: timerfactory.h:43 void vSolveRight4update2sparse(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int &rn, Real eps2, Real *vec2, int *idx2, Real *rhs2, int *ridx2, int &rn2, Real *forest, int *forestNum, int *forestIdx) sparse version of above method Definition: clufactor.cpp:5827 struct soplex::CLUFactor::U::Row row Definition: slinsolver.h:55 Debugging, floating point type and parameter definitions. void setSize(int n) Sets number of nonzeros (thereby unSetup SSVectorBase). Definition: ssvectorbase.h:553 bool EQ(Real a, Real b, Real eps=Param::epsilon()) returns true iff |a-b| <= eps Definition: spxdefines.h:371 void factor(const SVector **vec, Real threshold, Real eps) epsilon for zero detection Definition: clufactor.cpp:2772 Implementation of Sparse Linear Solver.This class implements a SLinSolver interface by using the spar... Definition: slufactor.h:41 Implementation of sparse LU factorization.This class implements a sparse LU factorization with either... Definition: clufactor.h:37 void setup_and_assign(SSVectorBase< S > &rhs) Sets up rhs vector, and assigns it. Definition: ssvectorbase.h:690 Everything should be within this namespace. void assign(const SLUFactor &old) used to implement the assignment operator Definition: slufactor.cpp:752 int vSolveLeft(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn) Definition: clufactor.cpp:6204 void solve3right4update(SSVector &x, Vector &y, Vector &z, const SVector &b, SSVector &d, SSVector &e) Solves , and . Definition: slufactor.cpp:223 int vSolveLeft3(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn, Real *vec2, Real *rhs2, int *ridx2, int rn2, Real *vec3, Real *rhs3, int *ridx3, int rn3) Definition: clufactor.cpp:6288 Dring list Double linked ringlist of vector indices in the order they appear in the row file. Definition: clufactor.h:119 int vSolveRight4update2(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn, Real *vec2, Real eps2, Real *rhs2, int *ridx2, int rn2, Real *forest, int *forestNum, int *forestIdx) Definition: clufactor.cpp:5704 #define MAXUPDATES maximum nr. of factorization updates allowed before refactorization. Definition: slufactor.h:33 int * max maximum available nonzeros per colunn: start[i] + max[i] == start[elem[i].next->idx] len[i] <= max[i]... Definition: clufactor.h:149 void vSolveLeft2sparse(Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int &rn, Real *vec2, int *idx2, Real *rhs2, int *ridx2, int &rn2) sparse version of solving 2 systems of equations Definition: clufactor.cpp:6261 VectorBase< R > & assign(const SVectorBase< S > &vec) Assign values of vec. Definition: basevectors.h:80 #define MSG_INFO3(spxout, x) Prints out message x if the verbosity level is at least SPxOut::INFO3. Definition: spxdefines.h:117 Status change(int idx, const SVector &subst, const SSVector *eta=0) Definition: slufactor.cpp:610 SSVector forest ? Update vector set up by solveRight4update() and solve2right4update() Definition: slufactor.h:75 |