32 #define MAXUPDATES 1000 265 return solveTime->
time();
329 #include "slufactor.hpp" 330 #endif // _SLUFACTOR_H_ VectorBase< R > vec
Temporary VectorBase<R>
void resetSolveTime()
reset SolveTime
int getSolveCount() const
number of solves performed
UpdateType
Specifies how to perform change method.
SSVectorBase< R > forest
? Update VectorBase<R> set up by solveRight4update() and solve2right4update()
std::string statistics() const
UpdateType uptype
the current UpdateType.
Dense vector.Class VectorBase provides dense linear algebra vectors. Internally, VectorBase wraps std...
void resetCounters()
reset timers and counters
void setUtype(UpdateType tp)
sets update type.
const char * getName() const
Real getFactorTime() const
time spent in factorizations
void unSetup()
Makes SSVectorBase not setup.
void solveRight(SSVectorBase< R > &x, const SSVectorBase< R > &b)
int getFactorCount() const
number of factorizations performed
void setMarkowitz(R m)
sets minimum Markowitz threshold.
int hugeValues
number of times huge values occurred during solve (only used in debug mode)
Sparse Linear Solver virtual base class.
Timer * solveTime
Time spent in solves.
Sparse Linear Solver virtual base class.Class SLinSolver provides a class for solving sparse linear s...
R minStability
minimum stability to achieve by setting threshold.
void solveRight4update(SSVectorBase< R > &x, const SVectorBase< R > &b)
Solves .
Semi sparse vector.This class implements semi-sparse vectors. Such are VectorBases where the indices ...
void resetFactorTime()
reset FactorTime
Status change(int idx, const SVectorBase< R > &subst, const SSVectorBase< R > *eta=0)
R markowitz()
returns Markowitz threshold.
int solveCount
Number of solves.
bool isConsistent() const
consistency check.
R minThreshold
minimum threshold to use.
int factorCount
Number of factorizations.
static Timer * switchTimer(Timer *timer, Timer::TYPE ttype)
int firstUnused
number of first unused L vector
R matrixMetric(int type=0) const
virtual Real time() const =0
Status load(const SVectorBase< R > *vec[], int dim)
int thedim
dimension of factorized matrix
bool usetup
TRUE iff update vector has been setup.
Debugging, floating point type and parameter definitions.
void assign(const SLUFactor< R > &old)
used to implement the assignment operator
Implementation of Sparse Linear Solver.This class implements a SLinSolver interface by using the spar...
Implementation of sparse LU factorization.This class implements a sparse LU factorization with either...
Everything should be within this namespace.
void solveLeft(VectorBase< R > &x, const VectorBase< R > &b)
sparse version of solving one system of equations with transposed basis matrix
virtual SLinSolver< R > * clone() const
clone function for polymorphism
typename SLinSolver< R >::Status Status
for convenience
void solveLeft(SSVectorBase< R > &x, const SSVectorBase< R > &b)
R epsilon
|x| < epsililon is considered to be 0.
Timer * factorTime
Time spent in factorizations.
UpdateType utype() const
returns the current update type uptype.
Implementation of sparse LU factorization.
Real getSolveTime() const
time spent in solves
void dump() const
prints the LU factorization to stdout.
Sparse vectors.Class SVectorBase provides packed sparse vectors. Such are a sparse vectors...
void solveRight(VectorBase< R > &x, const VectorBase< R > &b)
Solves .
int nzCnt
number of nonzeros in U
int * start
starting positions in val and idx
void solve3right4update(SSVectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &z, const SVectorBase< R > &b, SSVectorBase< R > &d, SSVectorBase< R > &e)
Solves , and .
virtual void reset()=0
initialize timer, set timing accounts to zero.
Status
status flags of the SLinSolver class.
void changeTimer(const Timer::TYPE ttype)
SLUFactor< R > & operator=(const SLUFactor< R > &old)
assignment operator.
void changeEta(int idx, SSVectorBase< R > &eta)
SLinSolver< R >::Status stat
Status indicator.
SSVectorBase< R > ssvec
Temporary semi-sparse VectorBase<R>
R lastThreshold
pivoting threshold of last factorization
Wrapper for the system time query methods.
void solve2right4update(SSVectorBase< R > &x, VectorBase< R > &y, const SVectorBase< R > &b, SSVectorBase< R > &d)
Solves and .