PIPS-NLP
|
#include <PardisoSolver.h>
Public Member Functions | |
virtual void | firstCall () |
PardisoSolver (SparseSymMatrix *sgm, const int numOfNegEigVal_in=-1) | |
PardisoSolver (DenseSymMatrix *m) | |
virtual void | diagonalChanged (int idiag, int extent) |
virtual int | matrixChanged () |
virtual void | solve (OoqpVector &rhs) |
virtual void | solve (GenMatrix &rhs) |
virtual void | solve (GenMatrix &rhs, int *colSparsity) |
![]() | |
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 | |
PardisoSolver () | |
void | SetUpPardisoSolver (SparseSymMatrix *sgm) |
int | getNumberOfNonZeros (DenseSymMatrix &m) |
virtual | ~PardisoSolver () |
Private Attributes | |
SparseSymMatrix * | Msys |
DenseSymMatrix * | Mdsys |
bool | first |
void * | pt [64] |
int | iparm [64] |
int | num_threads |
double | dparm [64] |
int | n |
int | numOfNegEigVal |
int * | krowM |
int * | jcolM |
double * | M |
int | nnz |
std::map< int, int > | diagMap |
map< int, int > | elementMap_A |
map< int, int > | elementMap_BD |
map< int, int > | elementMap_C |
double * | nvec |
double * | sol |
int | sz_sol |
Additional Inherited Members | |
![]() | |
int | negEigVal |
int | KryIter |
implements the linear solver class using the Pardiso solver
|
inlineprivate |
PardisoSolver::PardisoSolver | ( | SparseSymMatrix * | sgm, |
const int | numOfNegEigVal_in = -1 |
||
) |
sets mStorage to refer to the argument sgm
PardisoSolver::PardisoSolver | ( | DenseSymMatrix * | m | ) |
|
privatevirtual |
|
virtual |
called if the diagonal elements of the matrix have changed. Triggers a refactorization of the matrix, if necessary.
idiag | index of the first diagonal element that changed |
extent | the number of diagonal element that changed. |
Implements DoubleLinearSolver.
|
virtual |
|
private |
|
virtual |
called if some elements of the matrix have changed. Triggers a refactorization of the matrix, if necessary.
Implements DoubleLinearSolver.
|
private |
|
virtual |
solves a linear system.
x | on entry the right hand side of the system to be solved. On exit, the solution. |
Implements DoubleLinearSolver.
|
virtual |
Reimplemented from DoubleLinearSolver.
|
virtual |
|
private |
mapping from from the diagonals of the PIPS linear systems to the diagonal elements of the (1,1) block in the augmented system
|
private |
|
private |
mapping from the element of the PIPS linear systems to the elements of the (1,1) block in the augmented system, hence we can update Jac
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
storage for the upper triangular (in row-major format)
|
private |
|
private |
|
private |
|
private |
|
private |
number of nonzeros in the matrix
|
private |
|
private |
|
private |
temporary storage for the factorization process
|
private |
|
private |
|
private |