|
Implementation of Sparse Linear Solver.This class implements a SLinSolver interface by using the sparse LU factorization implementet in CLUFactor.
More...
#include <slufactor.h>
|
|
UpdateType | utype () const |
| returns the current update type uptype. More...
|
|
void | setUtype (UpdateType tp) |
| sets update type. More...
|
|
void | setMarkowitz (Real m) |
| sets minimum Markowitz threshold. More...
|
|
Real | markowitz () |
| returns Markowitz threshold. More...
|
|
|
See documentation of SLinSolver for a documentation of these methods.
|
void | clear () |
|
int | dim () const |
|
int | memory () const |
|
const char * | getName () const |
|
Status | status () const |
|
Real | stability () const |
|
std::string | statistics () const |
|
Status | load (const SVector *vec[], int dim) |
|
|
void | solveRight (Vector &x, const Vector &b) |
| Solves . More...
|
|
void | solveRight (SSVector &x, const SVector &b) |
| Solves . More...
|
|
void | solveRight4update (SSVector &x, const SVector &b) |
| Solves . More...
|
|
void | solve2right4update (SSVector &x, Vector &y, const SVector &b, SSVector &d) |
| Solves and . More...
|
|
void | solve2right4update (SSVector &x, SSVector &y, const SVector &b, SSVector &d) |
| Sparse version of solving two systems of equations. More...
|
|
void | solve3right4update (SSVector &x, Vector &y, Vector &z, const SVector &b, SSVector &d, SSVector &e) |
| Solves , and . More...
|
|
void | solve3right4update (SSVector &x, SSVector &y, SSVector &z, const SVector &b, SSVector &d, SSVector &e) |
| sparse version of solving three systems of equations More...
|
|
void | solveLeft (Vector &x, const Vector &b) |
| sparse version of solving one system of equations with transposed basis matrix More...
|
|
void | solveLeft (SSVector &x, const SVector &b) |
| Solves . More...
|
|
void | solveLeft (SSVector &x, Vector &y, const SVector &b, SSVector &d) |
| Solves and . More...
|
|
void | solveLeft (SSVector &x, SSVector &two, const SVector &b, SSVector &rhs2) |
| sparse version of solving two systems of equations with transposed basis matrix More...
|
|
void | solveLeft (SSVector &x, Vector &y, Vector &z, const SVector &b, SSVector &d, SSVector &e) |
| Solves , and . More...
|
|
void | solveLeft (SSVector &x, SSVector &y, SSVector &z, const SVector &b, SSVector &d, SSVector &e) |
| sparse version of solving three systems of equations with transposed basis matrix More...
|
|
Status | change (int idx, const SVector &subst, const SSVector *eta=0) |
|
|
Real | getFactorTime () const |
| time spent in factorizations More...
|
|
void | resetFactorTime () |
| reset FactorTime More...
|
|
int | getFactorCount () const |
| number of factorizations performed More...
|
|
Real | getSolveTime () const |
| time spent in solves More...
|
|
void | resetSolveTime () |
| reset SolveTime More...
|
|
int | getSolveCount () const |
| number of solves performed More...
|
|
void | resetCounters () |
| reset timers and counters More...
|
|
void | dump () const |
| prints the LU factorization to stdout. More...
|
|
bool | isConsistent () const |
| consistency check. More...
|
|
|
| SLUFactor () |
| default constructor. More...
|
|
SLUFactor & | operator= (const SLUFactor &old) |
| assignment operator. More...
|
|
| SLUFactor (const SLUFactor &old) |
| copy constructor. More...
|
|
virtual | ~SLUFactor () |
| destructor. More...
|
|
virtual SLinSolver * | clone () const |
| clone function for polymorphism More...
|
|
| SLinSolver () |
| default constructor More...
|
|
virtual | ~SLinSolver () |
| destructor More...
|
|
|
|
void | freeAll () |
|
void | changeEta (int idx, SSVector &eta) |
|
| CLUFactor () |
| default construtor. More...
|
|
void | solveLright (Real *vec) |
|
int | solveRight4update (Real *vec, int *nonz, Real eps, Real *rhs, Real *forest, int *forestNum, int *forestIdx) |
|
void | solveRight (Real *vec, Real *rhs) |
|
int | solveRight2update (Real *vec1, Real *vec2, Real *rhs1, Real *rhs2, int *nonz, Real eps, Real *forest, int *forestNum, int *forestIdx) |
|
void | solveRight2 (Real *vec1, Real *vec2, Real *rhs1, Real *rhs2) |
|
void | solveLeft (Real *vec, Real *rhs) |
|
int | solveLeftEps (Real *vec, Real *rhs, int *nonz, Real eps) |
|
int | solveLeft2 (Real *vec1, int *nonz, Real *vec2, Real eps, Real *rhs1, Real *rhs2) |
|
int | vSolveRight4update (Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn, Real *forest, int *forestNum, int *forestIdx) |
|
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) |
|
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 More...
|
|
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) |
|
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 More...
|
|
void | vSolveRightNoNZ (Real *vec2, Real eps2, Real *rhs2, int *ridx2, int rn2) |
|
int | vSolveLeft (Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn) |
|
void | vSolveLeftNoNZ (Real eps, Real *vec, Real *rhs, int *ridx, int rn) |
|
int | vSolveLeft2 (Real eps, Real *vec, int *idx, Real *rhs, int *ridx, int rn, Real *vec2, Real *rhs2, int *ridx2, int rn2) |
|
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 More...
|
|
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) |
|
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 More...
|
|
void | forestUpdate (int col, Real *work, int num, int *nonz) |
| Performs the Forrest-Tomlin update of the LU factorization. More...
|
|
void | update (int p_col, Real *p_work, const int *p_idx, int num) |
|
void | updateNoClear (int p_col, const Real *p_work, const int *p_idx, int num) |
|
void | factor (const SVector **vec, Real threshold, Real eps) |
| epsilon for zero detection More...
|
|
void | dump () const |
|
bool | isConsistent () const |
|
Implementation of Sparse Linear Solver.
This class implements a SLinSolver interface by using the sparse LU factorization implementet in CLUFactor.
Definition at line 41 of file slufactor.h.
Specifies how to perform change method.
Enumerator |
---|
ETA |
|
FOREST_TOMLIN |
|
Definition at line 49 of file slufactor.h.
default constructor.
Definition at line 975 of file slufactor.cpp.
References SLUFactor::clear(), CLUFactor::U::col, CLUFactor::col, TimerFactory::createTimer(), CLUFactor::diag, CLUFactor::U::Row::elem, CLUFactor::U::Col::elem, CLUFactor::factorCount, CLUFactor::factorTime, CLUFactor::L::firstUnused, CLUFactor::L::firstUpdate, SLUFactor::freeAll(), VectorBase< R >::get_ptr(), CLUFactor::Dring::idx, CLUFactor::U::Row::idx, CLUFactor::U::Col::idx, CLUFactor::L::idx, SLUFactor::isConsistent(), CLUFactor::l, CLUFactor::U::Row::len, CLUFactor::U::Col::len, CLUFactor::U::Row::list, CLUFactor::U::Col::list, CLUFactor::U::Row::max, CLUFactor::U::Col::max, CLUFactor::nzCnt, CLUFactor::Perm::orig, CLUFactor::Perm::perm, CLUFactor::L::rbeg, CLUFactor::L::ridx, CLUFactor::L::rorig, CLUFactor::U::row, CLUFactor::L::row, CLUFactor::row, CLUFactor::L::rperm, CLUFactor::L::rval, CLUFactor::U::Row::size, CLUFactor::U::Col::size, CLUFactor::L::size, SLUFactor::solveCount, SLUFactor::solveTime, soplex::spx_alloc(), CLUFactor::U::Row::start, CLUFactor::U::Col::start, CLUFactor::L::start, CLUFactor::L::startSize, CLUFactor::thedim, SLUFactor::timerType, CLUFactor::u, CLUFactor::U::Row::used, CLUFactor::U::Col::used, CLUFactor::U::Row::val, CLUFactor::U::Col::val, CLUFactor::L::val, SLUFactor::vec, and CLUFactor::work.
Referenced by SLUFactor::clone(), and SLUFactor::resetCounters().
copy constructor.
Definition at line 1111 of file slufactor.cpp.
References SLUFactor::assign(), CLUFactor::U::col, CLUFactor::col, TimerFactory::createTimer(), CLUFactor::diag, CLUFactor::U::Row::elem, CLUFactor::U::Col::elem, CLUFactor::factorTime, SLUFactor::freeAll(), CLUFactor::U::Row::idx, CLUFactor::U::Col::idx, CLUFactor::L::idx, SLUFactor::isConsistent(), CLUFactor::l, CLUFactor::U::Row::len, CLUFactor::U::Col::len, CLUFactor::U::Row::max, CLUFactor::U::Col::max, CLUFactor::Perm::orig, CLUFactor::Perm::perm, CLUFactor::L::rbeg, CLUFactor::L::ridx, CLUFactor::L::rorig, CLUFactor::U::row, CLUFactor::L::row, CLUFactor::row, CLUFactor::L::rperm, CLUFactor::L::rval, SLUFactor::solveCount, SLUFactor::solveTime, CLUFactor::U::Row::start, CLUFactor::U::Col::start, CLUFactor::L::start, SLUFactor::timerType, CLUFactor::u, CLUFactor::U::Row::val, CLUFactor::U::Col::val, and CLUFactor::L::val.
used to implement the assignment operator
assignment used to implement operator=() and copy constructor. If this is initialised, freeAll() has to be called before. Class objects from SLUFactor are not copied here.
Definition at line 752 of file slufactor.cpp.
References CLUFactor::U::col, CLUFactor::col, CLUFactor::colMemMult, CLUFactor::diag, CLUFactor::U::Row::elem, CLUFactor::U::Col::elem, SLUFactor::epsilon, CLUFactor::L::firstUnused, CLUFactor::L::firstUpdate, VectorBase< R >::get_ptr(), CLUFactor::Dring::idx, CLUFactor::U::Row::idx, CLUFactor::U::Col::idx, CLUFactor::L::idx, CLUFactor::initMaxabs, CLUFactor::l, SLUFactor::lastThreshold, CLUFactor::U::Row::len, CLUFactor::U::Col::len, CLUFactor::U::Row::list, CLUFactor::U::Col::list, CLUFactor::lMemMult, CLUFactor::U::Row::max, CLUFactor::U::Col::max, CLUFactor::maxabs, SLUFactor::minStability, SLUFactor::minThreshold, CLUFactor::Dring::next, CLUFactor::nzCnt, SLinSolver::OK, CLUFactor::Perm::orig, CLUFactor::Perm::perm, CLUFactor::Dring::prev, CLUFactor::L::rbeg, CLUFactor::L::ridx, CLUFactor::L::rorig, CLUFactor::U::row, CLUFactor::L::row, CLUFactor::row, CLUFactor::rowMemMult, CLUFactor::L::rperm, CLUFactor::L::rval, CLUFactor::U::Row::size, CLUFactor::U::Col::size, CLUFactor::L::size, soplex::spx_alloc(), SLinSolver::spxout, CLUFactor::U::Row::start, CLUFactor::U::Col::start, CLUFactor::L::start, CLUFactor::L::startSize, CLUFactor::stat, CLUFactor::thedim, CLUFactor::u, CLUFactor::L::updateType, SLUFactor::uptype, CLUFactor::U::Row::used, CLUFactor::U::Col::used, CLUFactor::U::Row::val, CLUFactor::U::Col::val, CLUFactor::L::val, SLUFactor::vec, and CLUFactor::work.
Referenced by SLUFactor::clone(), SLUFactor::operator=(), and SLUFactor::SLUFactor().
Implements SLinSolver.
Definition at line 610 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SLUFactor::changeEta(), SSVectorBase< R >::clear(), SLUFactor::ETA, SLUFactor::eta, SSVectorBase< R >::forceSetup(), SLUFactor::forest, SLUFactor::FOREST_TOMLIN, CLUFactor::forestUpdate(), VectorBase< R >::get_ptr(), SSVectorBase< R >::indexMem(), CLUFactor::l, MSG_DEBUG, SSVectorBase< R >::setSize(), SSVectorBase< R >::size(), CLUFactor::solveLright(), CLUFactor::solveRight(), SLUFactor::stability(), SLUFactor::status(), CLUFactor::updateNoClear(), CLUFactor::L::updateType, SLUFactor::uptype, SLUFactor::usetup, SSVectorBase< R >::values(), and SLUFactor::vec.
Referenced by SLUFactor::status().
void changeEta |
( |
int |
idx, |
|
|
SSVector & |
eta |
|
) |
| |
|
protected |
Implements SLinSolver.
Definition at line 673 of file slufactor.cpp.
References VectorBase< R >::clear(), SSVectorBase< R >::clear(), CLUFactor::U::col, CLUFactor::colMemMult, SLUFactor::epsilon, Param::epsilonFactorization(), SLUFactor::eta, CLUFactor::L::firstUnused, CLUFactor::L::firstUpdate, SLUFactor::forest, SLUFactor::freeAll(), CLUFactor::U::Row::idx, CLUFactor::U::Col::idx, CLUFactor::L::idx, CLUFactor::initMaxabs, CLUFactor::l, SLUFactor::lastThreshold, CLUFactor::lMemMult, CLUFactor::maxabs, MINSTABILITY, SLUFactor::minStability, SLUFactor::minThreshold, CLUFactor::L::rbeg, CLUFactor::L::ridx, CLUFactor::L::rorig, CLUFactor::U::row, CLUFactor::L::row, CLUFactor::rowMemMult, CLUFactor::L::rperm, CLUFactor::L::rval, CLUFactor::U::Row::size, CLUFactor::U::Col::size, CLUFactor::L::size, soplex::spx_alloc(), soplex::spx_free(), SLUFactor::ssvec, CLUFactor::L::start, CLUFactor::L::startSize, CLUFactor::stat, CLUFactor::thedim, CLUFactor::u, SLinSolver::UNLOADED, SLUFactor::usetup, CLUFactor::U::Row::val, CLUFactor::L::val, and SLUFactor::vec.
Referenced by SLUFactor::load(), SLUFactor::markowitz(), and SLUFactor::SLUFactor().
Definition at line 1164 of file slufactor.cpp.
References CLUFactor::U::col, CLUFactor::col, CLUFactor::diag, CLUFactor::U::Row::elem, CLUFactor::U::Col::elem, CLUFactor::U::Row::idx, CLUFactor::U::Col::idx, CLUFactor::L::idx, CLUFactor::l, CLUFactor::U::Row::len, CLUFactor::U::Col::len, CLUFactor::U::Row::max, CLUFactor::U::Col::max, CLUFactor::Perm::orig, CLUFactor::Perm::perm, CLUFactor::L::rbeg, CLUFactor::L::ridx, CLUFactor::L::rorig, CLUFactor::U::row, CLUFactor::L::row, CLUFactor::row, CLUFactor::L::rperm, CLUFactor::L::rval, soplex::spx_free(), CLUFactor::U::Row::start, CLUFactor::U::Col::start, CLUFactor::L::start, CLUFactor::u, CLUFactor::U::Row::val, CLUFactor::U::Col::val, and CLUFactor::L::val.
Referenced by SLUFactor::clear(), SLUFactor::operator=(), SLUFactor::SLUFactor(), and SLUFactor::~SLUFactor().
int getFactorCount |
( |
| ) |
const |
|
virtual |
Real getFactorTime |
( |
| ) |
const |
const char* getName |
( |
| ) |
const |
|
virtual |
int getSolveCount |
( |
| ) |
const |
Real getSolveTime |
( |
| ) |
const |
bool isConsistent |
( |
| ) |
const |
|
virtual |
- Todo:
- if the factorization fails with stat = SINGULAR, distinuish between proven singularity (e.g., because of an empty column) and singularity due to numerics, that could be avoided by changing minStability and lastThreshold; in the first case, we want to abort, otherwise change the numerics
Implements SLinSolver.
Definition at line 1224 of file slufactor.cpp.
References soplex::betterThreshold(), SLUFactor::clear(), CLUFactor::U::col, CLUFactor::col, CLUFactor::diag, SLUFactor::dim(), SLUFactor::dump(), CLUFactor::U::Row::elem, CLUFactor::U::Col::elem, SLUFactor::epsilon, soplex::EQ(), SLUFactor::eta, CLUFactor::factor(), CLUFactor::L::firstUnused, CLUFactor::L::firstUpdate, SLUFactor::forest, VectorBase< R >::get_ptr(), CLUFactor::Dring::idx, initDR, SLUFactor::isConsistent(), CLUFactor::l, SLUFactor::lastThreshold, CLUFactor::U::Row::len, CLUFactor::U::Col::len, CLUFactor::U::Row::list, CLUFactor::U::Col::list, CLUFactor::U::Row::max, CLUFactor::U::Col::max, MAXUPDATES, MINSTABILITY, SLUFactor::minStability, SLUFactor::minThreshold, MSG_DEBUG, MSG_INFO3, SLinSolver::OK, CLUFactor::Perm::orig, CLUFactor::Perm::perm, DVectorBase< R >::reDim(), SSVectorBase< R >::reDim(), CLUFactor::U::row, CLUFactor::L::row, CLUFactor::row, SVectorBase< R >::size(), soplex::spx_realloc(), SLinSolver::spxout, SLUFactor::ssvec, SLUFactor::stability(), CLUFactor::U::Row::start, CLUFactor::U::Col::start, CLUFactor::L::start, CLUFactor::L::startSize, CLUFactor::stat, CLUFactor::thedim, CLUFactor::u, CLUFactor::L::updateType, SLUFactor::uptype, SLUFactor::usetup, SVectorBase< R >::value(), SLUFactor::vec, and CLUFactor::work.
Referenced by SLUFactor::status().
void setMarkowitz |
( |
Real |
m | ) |
|
Solves and .
Implements SLinSolver.
Definition at line 106 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), VectorBase< R >::clear(), SSVectorBase< R >::clear(), SLUFactor::ETA, SLUFactor::eta, SSVectorBase< R >::forceSetup(), SLUFactor::forest, SSVectorBase< R >::get_ptr(), VectorBase< R >::get_ptr(), SSVectorBase< R >::getEpsilon(), CLUFactor::l, SSVectorBase< R >::setSize(), SSVectorBase< R >::setup_and_assign(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), SSVectorBase< R >::unSetup(), CLUFactor::L::updateType, SLUFactor::usetup, and CLUFactor::vSolveRight4update2().
Referenced by SLUFactor::status().
Sparse version of solving two systems of equations.
Implements SLinSolver.
Definition at line 161 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SSVectorBase< R >::clear(), SLUFactor::ETA, SLUFactor::eta, SSVectorBase< R >::forceSetup(), SLUFactor::forest, SSVectorBase< R >::get_ptr(), SSVectorBase< R >::getEpsilon(), CLUFactor::l, SSVectorBase< R >::setSize(), SSVectorBase< R >::setup_and_assign(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), SSVectorBase< R >::unSetup(), CLUFactor::L::updateType, SLUFactor::usetup, and CLUFactor::vSolveRight4update2sparse().
Solves , and .
Implements SLinSolver.
Definition at line 223 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), VectorBase< R >::clear(), SSVectorBase< R >::clear(), SLUFactor::ETA, SLUFactor::eta, SSVectorBase< R >::forceSetup(), SLUFactor::forest, SSVectorBase< R >::get_ptr(), VectorBase< R >::get_ptr(), SSVectorBase< R >::getEpsilon(), CLUFactor::l, SSVectorBase< R >::setSize(), SSVectorBase< R >::setup_and_assign(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), SSVectorBase< R >::unSetup(), CLUFactor::L::updateType, SLUFactor::usetup, and CLUFactor::vSolveRight4update3().
Referenced by SLUFactor::status().
sparse version of solving three systems of equations
Implements SLinSolver.
Definition at line 287 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SSVectorBase< R >::clear(), SLUFactor::ETA, SLUFactor::eta, SSVectorBase< R >::forceSetup(), SLUFactor::forest, SSVectorBase< R >::get_ptr(), SSVectorBase< R >::getEpsilon(), CLUFactor::l, SSVectorBase< R >::setSize(), SSVectorBase< R >::setup_and_assign(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), SSVectorBase< R >::unSetup(), CLUFactor::L::updateType, SLUFactor::usetup, and CLUFactor::vSolveRight4update3sparse().
Solves .
Implements SLinSolver.
Definition at line 377 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SSVectorBase< R >::assign(), SSVectorBase< R >::clear(), SSVectorBase< R >::forceSetup(), SSVectorBase< R >::getEpsilon(), SSVectorBase< R >::setSize(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), SSVectorBase< R >::unSetup(), and CLUFactor::vSolveLeft().
Solves and .
Implements SLinSolver.
Definition at line 406 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SSVectorBase< R >::assign(), VectorBase< R >::clear(), SSVectorBase< R >::clear(), SSVectorBase< R >::forceSetup(), VectorBase< R >::get_ptr(), SSVectorBase< R >::getEpsilon(), SSVectorBase< R >::setSize(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), and CLUFactor::vSolveLeft2().
sparse version of solving two systems of equations with transposed basis matrix
Implements SLinSolver.
Definition at line 441 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SSVectorBase< R >::assign(), SSVectorBase< R >::clear(), SSVectorBase< R >::forceSetup(), SSVectorBase< R >::getEpsilon(), SSVectorBase< R >::setSize(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), CLUFactor::vSolveLeft2(), and CLUFactor::vSolveLeft2sparse().
Solves , and .
Implements SLinSolver.
Definition at line 491 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SSVectorBase< R >::assign(), VectorBase< R >::clear(), SSVectorBase< R >::clear(), SSVectorBase< R >::forceSetup(), VectorBase< R >::get_ptr(), SSVectorBase< R >::getEpsilon(), SSVectorBase< R >::setSize(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), and CLUFactor::vSolveLeft3().
sparse version of solving three systems of equations with transposed basis matrix
Implements SLinSolver.
Definition at line 530 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SSVectorBase< R >::assign(), SSVectorBase< R >::clear(), SSVectorBase< R >::forceSetup(), SSVectorBase< R >::getEpsilon(), SSVectorBase< R >::setSize(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), and CLUFactor::vSolveLeft3sparse().
Solves .
Implements SLinSolver.
Definition at line 66 of file slufactor.cpp.
References SSVectorBase< R >::altIndexMem(), SSVectorBase< R >::altValues(), SSVectorBase< R >::clear(), SLUFactor::ETA, SLUFactor::eta, SSVectorBase< R >::forceSetup(), SLUFactor::forest, SSVectorBase< R >::getEpsilon(), CLUFactor::l, SSVectorBase< R >::setSize(), SSVectorBase< R >::setup_and_assign(), SSVectorBase< R >::size(), SLUFactor::solveCount, SLUFactor::solveTime, SLUFactor::ssvec, Timer::start(), Timer::stop(), SSVectorBase< R >::unSetup(), CLUFactor::L::updateType, SLUFactor::usetup, and CLUFactor::vSolveRight4update().
Referenced by SLUFactor::status().
std::string statistics |
( |
| ) |
const |
|
virtual |
Implements SLinSolver.
Definition at line 171 of file slufactor.h.
References SLUFactor::change(), SLUFactor::dim(), SLUFactor::load(), SLUFactor::solve2right4update(), SLUFactor::solve3right4update(), SLUFactor::solveLeft(), SLUFactor::solveRight(), SLUFactor::solveRight4update(), SLUFactor::stability(), CLUFactor::stat, and SLUFactor::statistics().
Referenced by SLUFactor::change(), and SLUFactor::stability().
|