33 #define MAXUPDATES 1000 168 return (uptype ==
SLUFactor::ETA) ?
"SLU-Eta" :
"SLU-Forest-Tomlin";
245 return solveTime->
time();
301 #endif // _SLUFACTOR_H_ void resetSolveTime()
reset SolveTime
int getSolveCount() const
number of solves performed
DVector vec
Temporary vector.
UpdateType
Specifies how to perform change method.
void solve2right4update(SSVector &x, Vector &y, const SVector &b, SSVector &d)
Solves and .
std::string statistics() const
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.
void setUtype(UpdateType tp)
sets update type.
const char * getName() const
Real minStability
minimum stability to achieve by setting threshold.
Real getFactorTime() const
time spent in factorizations
virtual ~SLUFactor()
destructor.
void solveRight4update(SSVector &x, const SVector &b)
Solves .
Real lastThreshold
pivoting threshold of last factorization
int getFactorCount() const
number of factorizations performed
virtual SLinSolver * clone() const
clone function for polymorphism
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)
void resetFactorTime()
reset FactorTime
SLUFactor()
default constructor.
int solveCount
Number of solves.
void setMarkowitz(Real m)
sets minimum Markowitz threshold.
bool isConsistent() const
consistency check.
SLinSolver::Status stat
Status indicator.
int factorCount
Number of factorizations.
int firstUnused
number of first unused L vector
Real conditionEstimate(int type=0) const
return condition number estimate based on the diagonal of U
SLUFactor & operator=(const SLUFactor &old)
assignment operator.
virtual Real time() const =0
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.
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.
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.
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.
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