|
Loading...
Searching...
No Matches
Implementation of Sparse Linear Solver with Rational precision.
More...
#include <slufactor_rational.h>
|
|
UpdateType | utype () const |
| returns the current update type uptype.
|
|
void | setUtype (UpdateType tp) |
| sets update type.
|
|
void | setMarkowitz (const Rational &m) |
| sets minimum Markowitz threshold.
|
|
Rational | markowitz () |
| returns Markowitz threshold.
|
|
|
See documentation of SLinSolverRational for a documentation of these methods.
|
void | clear () |
|
int | dim () const |
|
int | memory () const |
|
const char * | getName () const |
|
Status | status () const |
|
Rational | stability () const |
|
std::string | statistics () const |
|
Status | load (const SVectorRational *vec[], int dim) |
|
|
void | solveRight (VectorRational &x, const VectorRational &b) |
| Solves \(Ax=b\).
|
|
void | solveRight (SSVectorRational &x, const SVectorRational &b) |
| Solves \(Ax=b\).
|
|
void | solveRight4update (SSVectorRational &x, const SVectorRational &b) |
| Solves \(Ax=b\).
|
|
void | solve2right4update (SSVectorRational &x, VectorRational &y, const SVectorRational &b, SSVectorRational &d) |
| Solves \(Ax=b\) and \(Ay=d\).
|
|
void | solve3right4update (SSVectorRational &x, VectorRational &y, VectorRational &z, const SVectorRational &b, SSVectorRational &d, SSVectorRational &e) |
| Solves \(Ax=b\), \(Ay=d\) and \(Az=e\).
|
|
void | solveLeft (VectorRational &x, const VectorRational &b) |
| Solves \(Ax=b\).
|
|
void | solveLeft (SSVectorRational &x, const SVectorRational &b) |
| Solves \(Ax=b\).
|
|
void | solveLeft (SSVectorRational &x, VectorRational &y, const SVectorRational &b, SSVectorRational &d) |
| Solves \(Ax=b\) and \(Ay=d\).
|
|
void | solveLeft (SSVectorRational &x, VectorRational &y, VectorRational &z, const SVectorRational &b, SSVectorRational &d, SSVectorRational &e) |
| Solves \(Ax=b\), \(Ay=d\) and \(Az=e\).
|
|
Status | change (int idx, const SVectorRational &subst, const SSVectorRational *eta=0) |
|
|
Real | getFactorTime () const |
| time spent in factorizations
|
|
void | setTimeLimit (const Real limit) |
| set time limit on factorization
|
|
void | resetFactorTime () |
| reset FactorTime
|
|
int | getFactorCount () const |
| number of factorizations performed
|
|
Real | getSolveTime () const |
| time spent in solves
|
|
void | resetSolveTime () |
| reset SolveTime
|
|
int | getSolveCount () const |
| number of solves performed
|
|
void | resetCounters () |
| reset timers and counters
|
|
void | dump () const |
| prints the LU factorization to stdout.
|
|
bool | isConsistent () const |
| consistency check.
|
|
|
| SLUFactorRational () |
| default constructor.
|
|
SLUFactorRational & | operator= (const SLUFactorRational &old) |
| assignment operator.
|
|
| SLUFactorRational (const SLUFactorRational &old) |
| copy constructor.
|
|
virtual | ~SLUFactorRational () |
| destructor.
|
|
virtual SLinSolverRational * | clone () const |
| clone function for polymorphism
|
|
| SLinSolverRational () |
| default constructor
|
|
virtual | ~SLinSolverRational () |
| destructor
|
|
|
|
void | freeAll () |
|
void | changeEta (int idx, SSVectorRational &eta) |
|
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) |
|
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
|
|
void | dump () const |
|
bool | isConsistent () const |
|
Implementation of Sparse Linear Solver with Rational precision.
This class implements a SLinSolverRational interface by using the sparse LU factorization implemented in CLUFactorRational.
Definition at line 50 of file slufactor_rational.h.
◆ Status
◆ UpdateType
◆ SLUFactorRational() [1/2]
default constructor.
Definition at line 286 of file slufactor_rational.h.
References SLUFactorRational::clear(), CLUFactorRational::U::col, CLUFactorRational::col, TimerFactory::createTimer(), CLUFactorRational::diag, VectorBase< R >::dim(), CLUFactorRational::factorCount, CLUFactorRational::factorTime, CLUFactorRational::L::firstUnused, CLUFactorRational::L::firstUpdate, SLUFactorRational::freeAll(), VectorBase< R >::get_ptr(), CLUFactorRational::L::idx, SLUFactorRational::isConsistent(), CLUFactorRational::l, DataArray< T >::max(), CLUFactorRational::nzCnt, 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, DataArray< T >::size(), SLUFactorRational::solveCount, SLUFactorRational::solveTime, soplex::spx_alloc(), CLUFactorRational::L::start, CLUFactorRational::L::startSize, CLUFactorRational::thedim, CLUFactorRational::timeLimit, SLUFactorRational::timerType, CLUFactorRational::u, CLUFactorRational::L::val, SLUFactorRational::vec, and CLUFactorRational::work.
Referenced by SLUFactorRational::clone().
◆ SLUFactorRational() [2/2]
copy constructor.
Definition at line 444 of file slufactor_rational.h.
References SLUFactorRational::assign(), CLUFactorRational::U::col, CLUFactorRational::col, TimerFactory::createTimer(), CLUFactorRational::factorTime, SLUFactorRational::freeAll(), CLUFactorRational::L::idx, SLUFactorRational::isConsistent(), CLUFactorRational::l, DataArray< T >::max(), CLUFactorRational::Perm::orig, CLUFactorRational::Perm::perm, CLUFactorRational::L::rbeg, CLUFactorRational::L::ridx, CLUFactorRational::L::rorig, CLUFactorRational::U::row, CLUFactorRational::L::row, CLUFactorRational::row, CLUFactorRational::L::rperm, SLUFactorRational::solveCount, SLUFactorRational::solveTime, CLUFactorRational::L::start, SLUFactorRational::timerType, and CLUFactorRational::u.
◆ ~SLUFactorRational()
◆ assign()
◆ change()
◆ changeEta()
◆ clear()
◆ clone()
◆ dim()
◆ dump()
prints the LU factorization to stdout.
◆ freeAll()
◆ getFactorCount()
int getFactorCount |
( |
| ) |
const |
|
virtual |
◆ getFactorTime()
Real getFactorTime |
( |
| ) |
const |
◆ getName()
◆ getSolveCount()
int getSolveCount |
( |
| ) |
const |
◆ getSolveTime()
Real getSolveTime |
( |
| ) |
const |
◆ isConsistent()
bool isConsistent |
( |
| ) |
const |
|
virtual |
◆ load()
◆ markowitz()
◆ memory()
◆ operator=()
◆ resetCounters()
◆ resetFactorTime()
◆ resetSolveTime()
◆ setMarkowitz()
◆ setTimeLimit()
◆ setUtype()
◆ solve2right4update()
◆ solve3right4update()
◆ solveLeft() [1/4]
◆ solveLeft() [2/4]
◆ solveLeft() [3/4]
◆ solveLeft() [4/4]
◆ solveRight() [1/2]
◆ solveRight() [2/2]
◆ solveRight4update()
◆ stability()
◆ statistics()
std::string statistics |
( |
| ) |
const |
|
virtual |
◆ status()
◆ utype()
◆ eta
◆ forest
◆ lastThreshold
◆ minStability
◆ minThreshold
◆ solveCount
◆ solveTime
◆ ssvec
◆ timerType
◆ uptype
◆ usetup
◆ vec
|