33 #define MAXUPDATES 1000 169 return (uptype ==
SLUFactor::ETA) ?
"SLU-Eta" :
"SLU-Forest-Tomlin";
256 return solveTime->
time();
312 #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
void unSetup()
Makes SSVectorBase not setup.
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
void solveRight(SSVector &x, const SSVector &b)
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.
void solveLeft(SSVector &x, const SSVector &b)
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