PIPS-NLP
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Ma86Solver Class Reference

#include <Ma86Solver.h>

Inheritance diagram for Ma86Solver:
DoubleLinearSolver

Public Member Functions

 Ma86Solver (SparseSymMatrix *sgm, const int numOfNegEigVal_in=-1)
 
virtual void firstCall ()
 
virtual void diagonalChanged (int idiag, int extent)
 
virtual int matrixChanged ()
 
virtual void solve (OoqpVector &rhs)
 
virtual void solve (SimpleVector &rhs)
 
virtual void solve (GenMatrix &rhs)
 
virtual ~Ma86Solver ()
 
- Public Member Functions inherited from DoubleLinearSolver
 DoubleLinearSolver ()
 
virtual void solveTrans (OoqpVector &x)
 
virtual void Lsolve (OoqpVector &x)
 
virtual void Dsolve (OoqpVector &x)
 
virtual void Ltsolve (OoqpVector &x)
 
virtual ~DoubleLinearSolver ()
 

Private Member Functions

 Ma86Solver ()
 

Private Attributes

SparseSymMatrixMsys
 
bool first
 
bool second
 
int n
 
int * krowM
 
int * jcolM
 
double * M
 
double * val
 
int nnz
 
double * nvec
 
void * keep
 
struct ma86_control_d control
 
struct ma86_info_d info
 
struct mc68_control control68
 
struct mc68_info info68
 
double * x
 
int * order
 
int * ptr
 
int * row
 

Additional Inherited Members

- Public Attributes inherited from DoubleLinearSolver
int negEigVal
 
int KryIter
 

Detailed Description

implements the linear solver class using the Ma86 solver

Constructor & Destructor Documentation

Ma86Solver::Ma86Solver ( )
inlineprivate
Ma86Solver::Ma86Solver ( SparseSymMatrix sgm,
const int  numOfNegEigVal_in = -1 
)
Ma86Solver::~Ma86Solver ( )
virtual

Member Function Documentation

void Ma86Solver::diagonalChanged ( int  idiag,
int  extent 
)
virtual

called if the diagonal elements of the matrix have changed. Triggers a refactorization of the matrix, if necessary.

Parameters
idiagindex of the first diagonal element that changed
extentthe number of diagonal element that changed.

Implements DoubleLinearSolver.

void Ma86Solver::firstCall ( )
virtual
int Ma86Solver::matrixChanged ( )
virtual

called if some elements of the matrix have changed. Triggers a refactorization of the matrix, if necessary.

Implements DoubleLinearSolver.

void Ma86Solver::solve ( OoqpVector x)
virtual

solves a linear system.

Parameters
xon entry the right hand side of the system to be solved. On exit, the solution.

Implements DoubleLinearSolver.

void Ma86Solver::solve ( SimpleVector rhs)
virtual
void Ma86Solver::solve ( GenMatrix rhs)
virtual

Reimplemented from DoubleLinearSolver.

Member Data Documentation

struct ma86_control_d Ma86Solver::control
private
struct mc68_control Ma86Solver::control68
private
bool Ma86Solver::first
private
struct ma86_info_d Ma86Solver::info
private
struct mc68_info Ma86Solver::info68
private
int * Ma86Solver::jcolM
private
void* Ma86Solver::keep
private
int* Ma86Solver::krowM
private

storage for the upper triangular (in row-major format)

double* Ma86Solver::M
private
SparseSymMatrix* Ma86Solver::Msys
private
int Ma86Solver::n
private
int Ma86Solver::nnz
private

number of nonzeros in the matrix

double* Ma86Solver::nvec
private
int* Ma86Solver::order
private
int* Ma86Solver::ptr
private
int* Ma86Solver::row
private
bool Ma86Solver::second
private
double* Ma86Solver::val
private
double* Ma86Solver::x
private

The documentation for this class was generated from the following files: