33 #define MAXUPDATES 1000 168 return (uptype ==
SLUFactor::ETA) ?
"SLU-Eta" :
"SLU-Forest-Tomlin";
243 return solveTime->
time();
299 #endif // _SLUFACTOR_H_ void resetSolveTime()
reset SolveTime
DVector vec
Temporary vector.
UpdateType
Specifies how to perform change method.
void solve2right4update(SSVector &x, Vector &y, const SVector &b, SSVector &d)
Solves and .
Status load(const SVector *vec[], int dim)
UpdateType uptype
the current UpdateType.
void resetCounters()
reset timers and counters
SSVector ssvec
Temporary semi-sparse vector.
void solveLeft(Vector &x, const Vector &b)
sparse version of solving one system of equations with transposed basis matrix
Real epsilon
|x| < epsililon is considered to be 0.
virtual Real time() const =0
void setUtype(UpdateType tp)
sets update type.
Real minStability
minimum stability to achieve by setting threshold.
UpdateType utype() const
returns the current update type uptype.
virtual ~SLUFactor()
destructor.
void solveRight4update(SSVector &x, const SVector &b)
Solves .
Real lastThreshold
pivoting threshold of last factorization
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...
void solveRight(Vector &x, const Vector &b)
Solves .
Real minThreshold
minimum threshold to use.
void changeEta(int idx, SSVector &eta)
virtual SLinSolver * clone() const
clone function for polymorphism
void resetFactorTime()
reset FactorTime
SLUFactor()
default constructor.
int solveCount
Number of solves.
int getFactorCount() const
number of factorizations performed
const char * getName() const
void setMarkowitz(Real m)
sets minimum Markowitz threshold.
int getSolveCount() const
number of solves performed
SLinSolver::Status stat
Status indicator.
bool isConsistent() const
consistency check.
int factorCount
Number of factorizations.
int firstUnused
number of first unused L vector
SLUFactor & operator=(const SLUFactor &old)
assignment operator.
int thedim
dimension of factorized matrix
bool usetup
TRUE iff update vector has been setup.
Real markowitz()
returns Markowitz threshold.
Debugging, floating point type and parameter definitions.
Real getFactorTime() const
time spent in factorizations
Real getSolveTime() const
time spent in solves
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 assign(const SLUFactor &old)
used to implement the assignment operator
void solve3right4update(SSVector &x, Vector &y, Vector &z, const SVector &b, SSVector &d, SSVector &e)
Solves , and .
Timer * factorTime
Time spent in factorizations.
Implementation of sparse LU factorization.
std::string statistics() const
int nzCnt
number of nonzeros in U
int * start
starting positions in val and idx
virtual void reset()=0
initialize timer, set timing accounts to zero.
Status
status flags of the SLinSolver class.
void dump() const
prints the LU factorization to stdout.
Status change(int idx, const SVector &subst, const SSVector *eta=0)
SSVector forest
? Update vector set up by solveRight4update() and solve2right4update()
Wrapper for the system time query methods.
SLinSolver::Status Status
for convenience