Go to the documentation of this file.
10 #ifndef __IPMA77SOLVERINTERFACE_HPP__
11 #define __IPMA77SOLVERINTERFACE_HPP__
59 const std::string& prefix
83 Index numberOfNegEVals
ESymSolverStatus InitializeStructure(Index dim, Index nonzeros, const Index *ia, const Index *ja)
Method for initializing internal structures.
ESymSolverStatus
Enum to report outcome of a linear solve.
bool pivtol_changed_
indicates if pivtol has been changed
bool InitializeImpl(const OptionsList &options, const std::string &prefix)
Implementation of the initialization method that has to be overloaded by for each derived class.
EMatrixFormat
Enum to specify sparse matrix format.
EMatrixFormat MatrixFormat() const
Query of requested matrix type that the linear solver understands.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
bool IncreaseQuality()
Request to increase quality of solution for next solve.
This file contains a base class for all exceptions and a set of macros to help with exceptions.
struct ma77_control control_
void * keep_
Stores pointer to factors (only understood by Fortran code!)
Base class for interfaces to symmetric indefinite linear solvers for sparse matrices.
bool ProvidesInertia() const
Query whether inertia is computed by linear solver.
int Index
Type of all indices of vectors, matrices etc.
Template class for Smart Pointers.
int ndim_
Number of dimensions.
double * GetValuesArrayPtr()
Method returning an internal array into which the nonzero elements (in the same order as ja) will be ...
ESymSolverStatus DetermineDependentRows(const Index *, const Index *, std::list< Index > &)
This method determines the list of row indices of the linearly dependent rows.
@ CSR_Full_Format_1_Offset
Compressed sparse row format for both lwr and upr parts, with 1 offset.
Index NumberOfNegEVals() const
Number of negative eigenvalues detected during last factorization.
This class stores a list of user set options.
ESymSolverStatus MultiSolve(bool new_matrix, const Index *ia, const Index *ja, Index nrhs, double *rhs_vals, bool check_NegEVals, Index numberOfNegEVals)
Solve operation for multiple right hand sides.
bool ProvidesDegeneracyDetection() const
Query whether the indices of linearly dependent rows/columns can be determined by this linear solver.
int numneg_
Number of negative pivots in last factorization.
double * val_
Storage for variables.
@ SYMSOLVER_FATAL_ERROR
Unrecoverable error in linear solver occurred.