93 virtual int dim()
const = 0;
Sparse Linear Solver virtual base class.
virtual int getFactorCount() const =0
get number of factorizations
virtual Status load(const SVectorBase< R > *vec[], int dim)=0
loads dim column vectors vec into the solver.
virtual void solveRight4update(SSVectorBase< R > &x, const SVectorBase< R > &b)=0
Solves . Possibly sets up internal data structures suitable for an optimized subsequent change() call...
virtual void solveLeft(SSVectorBase< R > &x, const SSVectorBase< R > &b)=0
virtual SLinSolver< R > * clone() const =0
clone function for polymorphism
virtual void solveRight(VectorBase< R > &x, const VectorBase< R > &b)=0
Solves .
virtual int dim() const =0
returns dimension of loaded matrix.
virtual const char * getName() const =0
returns the name of the SLinSolver.
SPxOut * spxout
message handler
virtual bool isConsistent() const =0
consistency check.
virtual R stability() const =0
returns a stability number (0: singularity, 1: perfect stability).
virtual void clear()=0
unloads any matrix.
Status
status flags of the SLinSolver class.
@ ERROR
An error has occurred.
@ UNLOADED
No matrix has yet been loaded.
@ SINGULAR
The loaded matrix is singular.
virtual void solveLeft(SSVectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &z, const SVectorBase< R > &b, SSVectorBase< R > &d, SSVectorBase< R > &e)=0
solves , and
virtual void solveLeft(SSVectorBase< R > &x, SSVectorBase< R > &y, SSVectorBase< R > &z, const SVectorBase< R > &b, SSVectorBase< R > &d, SSVectorBase< R > &e)=0
sparse version of solving three systems of equations with transposed basis matrix
virtual void solve3right4update(SSVectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &z, const SVectorBase< R > &b, SSVectorBase< R > &d, SSVectorBase< R > &e)=0
Solves , and .
virtual void solveLeft(SSVectorBase< R > &x, const SVectorBase< R > &b)=0
sparse version of solving one system of equations with transposed basis matrix
virtual void solve2right4update(SSVectorBase< R > &x, VectorBase< R > &y, const SVectorBase< R > &b, SSVectorBase< R > &d)=0
Solves and .
virtual void solveRight(SSVectorBase< R > &x, const SSVectorBase< R > &b)=0
Solves .
virtual void solveLeft(SSVectorBase< R > &x, VectorBase< R > &two, const SVectorBase< R > &b, SSVectorBase< R > &rhs2)=0
solves and internally using .
virtual void solveLeft(VectorBase< R > &x, const VectorBase< R > &b)=0
solves .
virtual void solveLeft(SSVectorBase< R > &x, SSVectorBase< R > &two, const SVectorBase< R > &b, SSVectorBase< R > &rhs2)=0
sparse version of solving two systems of equations with transposed basis matrix
virtual Status change(int idx, const SVectorBase< R > &subst, const SSVectorBase< R > *eta=0)=0
Substitute column idx with subst.
virtual int memory() const =0
returns current memory consumption.
SLinSolver()
default constructor
virtual void solve2right4update(SSVectorBase< R > &x, SSVectorBase< R > &y, const SVectorBase< R > &b, SSVectorBase< R > &d)=0
sparse version of solving two systems of equations
virtual Status status() const =0
returns the Status of the SLinSolver.
virtual R matrixMetric(int type=0) const =0
return estimate for the condition number based on the diagonal of U
virtual ~SLinSolver()
destructor
virtual void solve3right4update(SSVectorBase< R > &x, SSVectorBase< R > &y, SSVectorBase< R > &z, const SVectorBase< R > &b, SSVectorBase< R > &d, SSVectorBase< R > &e)=0
sparse version of solving three systems of equations
virtual void solveRight(SSVectorBase< R > &x, const SVectorBase< R > &b)=0
virtual std::string statistics() const =0
returns statistical information in form of a string.
Wrapper for several output streams. A verbosity level is used to decide which stream to use and wheth...
Everything should be within this namespace.
Debugging, floating point type and parameter definitions.