13 #ifndef __IPMA97SOLVERINTERFACE_HPP__ 14 #define __IPMA97SOLVERINTERFACE_HPP__ 152 val_(NULL), numdelay_(0), akeep_(NULL), fkeep_(NULL), pivtol_changed_(false),
153 rescale_(false), scaling_(NULL), fctidx_(0), scaling_type_(0),
161 const std::string& prefix);
224 Index numberOfNegEVals);
278 std::list<Index>& c_deps)
bool ProvidesDegeneracyDetection() const
Query whether the indices of linearly dependent rows/columns can be determined by this linear solver...
bool IncreaseQuality()
Request to increase quality of solution for next solve.
ESymSolverStatus
Enum to report outcome of a linear solve.
Index NumberOfNegEVals() const
Number of negative eigenvalues detected during last factorization.
Base class for interfaces to symmetric indefinite linear solvers for sparse matrices.
bool InitializeImpl(const OptionsList &options, const std::string &prefix)
overloaded from AlgorithmStrategyObject
Base class for interfaces to symmetric indefinite linear solvers for sparse matrices.
static int ScaleNameToNum(const std::string &name)
converts a scalign optoin name to its ma97 option number
struct ma97_control control_
enum scale_opts switch_[3]
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
ESymSolverStatus DetermineDependentRows(const Index *ia, const Index *ja, std::list< Index > &c_deps)
This method determines the list of row indices of the linearly dependent rows.
Compressed sparse row format for lower triangular part, with 1 offset.
Template class for Smart Pointers.
This class stores a list of user set options.
ESymSolverStatus InitializeStructure(Index dim, Index nonzeros, const Index *ia, const Index *ja)
Method for initializing internal stuctures.
int Index
Type of all indices of vectors, matrices etc.
EMatrixFormat MatrixFormat() const
Query of requested matrix type that the linear solver understands.
Unrecoverable error in linear solver occurred.
EMatrixFormat
Enum to specify sparse matrix format.
bool ProvidesInertia() const
Query whether inertia is computed by linear solver.
double * GetValuesArrayPtr()
Method returing an internal array into which the nonzero elements (in the same order as ja) will be s...
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.