Go to the documentation of this file.
7 #ifndef __IPSPARSESYMLINEARSOLVERINTERFACE_HPP__
8 #define __IPSPARSESYMLINEARSOLVERINTERFACE_HPP__
125 const std::string& prefix
195 Index numberOfNegEVals
virtual ESymSolverStatus InitializeStructure(Index dim, Index nonzeros, const Index *ia, const Index *ja)=0
Method for initializing internal structures.
ESymSolverStatus
Enum to report outcome of a linear solve.
virtual ESymSolverStatus DetermineDependentRows(const Index *, const Index *, std::list< Index > &)
This method determines the list of row indices of the linearly dependent rows.
@ Triplet_Format
Triplet (MA27) format.
EMatrixFormat
Enum to specify sparse matrix format.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
virtual double * GetValuesArrayPtr()=0
Method returning an internal array into which the nonzero elements (in the same order as ja) will be ...
virtual ~SparseSymLinearSolverInterface()
virtual EMatrixFormat MatrixFormat() const =0
Query of requested matrix type that the linear solver understands.
@ CSR_Format_1_Offset
Compressed sparse row format for lower triangular part, with 1 offset.
Base class for interfaces to symmetric indefinite linear solvers for sparse matrices.
int Index
Type of all indices of vectors, matrices etc.
SparseSymLinearSolverInterface()
This is the base class for all algorithm strategy objects.
@ CSR_Full_Format_1_Offset
Compressed sparse row format for both lwr and upr parts, with 1 offset.
virtual Index NumberOfNegEVals() const =0
Number of negative eigenvalues detected during last factorization.
@ CSR_Format_0_Offset
Compressed sparse row format for lower triangular part, with 0 offset.
virtual bool IncreaseQuality()=0
Request to increase quality of solution for next solve.
virtual ESymSolverStatus MultiSolve(bool new_matrix, const Index *ia, const Index *ja, Index nrhs, double *rhs_vals, bool check_NegEVals, Index numberOfNegEVals)=0
Solve operation for multiple right hand sides.
This class stores a list of user set options.
virtual bool InitializeImpl(const OptionsList &options, const std::string &prefix)=0
Implementation of the initialization method that has to be overloaded by for each derived class.
@ CSR_Full_Format_0_Offset
Compressed sparse row format for both lwr and upr parts, with 0 offset.
virtual bool ProvidesInertia() const =0
Query whether inertia is computed by linear solver.
virtual bool ProvidesDegeneracyDetection() const
Query whether the indices of linearly dependent rows/columns can be determined by this linear solver.
@ SYMSOLVER_FATAL_ERROR
Unrecoverable error in linear solver occurred.