9 #ifndef __IPSYMLINEARSOLVER_HPP__
10 #define __IPSYMLINEARSOLVER_HPP__
64 const std::string& prefix) = 0;
84 Index numberOfNegEVals)=0;
92 Index numberOfNegEVals)
94 std::vector<SmartPtr<const Vector> > rhsV(1);
96 std::vector<SmartPtr<Vector> > solV(1);
98 return MultiSolve(A, rhsV, solV, check_NegEVals,
ESymSolverStatus
Enum to report outcome of a linear solve.
virtual bool IncreaseQuality()=0
Request to increase quality of solution for next solve.
This is the base class for all algorithm strategy objects.
ESymSolverStatus Solve(const SymMatrix &A, const Vector &rhs, Vector &sol, bool check_NegEVals, Index numberOfNegEVals)
Solve operation for a single right hand side.
This is the base class for all derived symmetric matrix types.
Template class for Smart Pointers.
The number of negative eigenvalues is not correct.
This class stores a list of user set options.
Matrix seems to be singular; solve was aborted.
virtual ~SymLinearSolver()
int Index
Type of all indices of vectors, matrices etc.
virtual bool ProvidesInertia() const =0
Query whether inertia is computed by linear solver.
virtual ESymSolverStatus MultiSolve(const SymMatrix &A, std::vector< SmartPtr< const Vector > > &rhsV, std::vector< SmartPtr< Vector > > &solV, bool check_NegEVals, Index numberOfNegEVals)=0
Solve operation for multiple right hand sides.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)=0
overloaded from AlgorithmStrategyObject
Unrecoverable error in linear solver occurred.
Base class for all derived symmetric linear solvers.
virtual Index NumberOfNegEVals() const =0
Number of negative eigenvalues detected during last factorization.
Call the solver interface again after the matrix values have been restored.