PIPS-NLP
Public Member Functions | Protected Attributes | List of all members
PetscIterativeSolver_Sparse Class Reference

#include <PetscIterativeSolver_Sparse.h>

Inheritance diagram for PetscIterativeSolver_Sparse:
DoubleIterativeLinearSolver DoubleLinearSolver

Public Member Functions

 PetscIterativeSolver_Sparse (SparseSymMatrix *SC_in, const int numOfNegEigVal_in)
 
virtual void diagonalChanged (int idiag, int extent)
 
virtual int matrixChanged ()
 
virtual void solve (OoqpVector &x)
 
KSP ksp ()
 
virtual ~PetscIterativeSolver_Sparse ()
 
- Public Member Functions inherited from DoubleIterativeLinearSolver
 DoubleIterativeLinearSolver (MatTimesVec *A, MatTimesVec *M1, MatTimesVec *M2=NULL)
 
virtual ~DoubleIterativeLinearSolver ()
 
- Public Member Functions inherited from DoubleLinearSolver
 DoubleLinearSolver ()
 
virtual void solveTrans (OoqpVector &x)
 
virtual void solve (GenMatrix &rhs)
 
virtual void Lsolve (OoqpVector &x)
 
virtual void Dsolve (OoqpVector &x)
 
virtual void Ltsolve (OoqpVector &x)
 
virtual ~DoubleLinearSolver ()
 

Protected Attributes

SparseGenMatrixfullSymMat
 
SparseGenMatrixPCGenMat
 
SparseSymMatrixPCSymMat
 
SparseSymMatrixinputMatptr
 
int * goffIDX
 
int * PCgoffIDX
 
int correct_negEigVal
 
KSP mKsp
 
int deleteKSP
 
int total_kry_iter
 
DoubleLinearSolverlinear_solver
 
Mat LinSysMat_PETSC
 
Mat PCMat_PETSC
 
PC precond_Method
 
SimpleVectorHandle rhs_back
 
- Protected Attributes inherited from DoubleIterativeLinearSolver
MatTimesVecA
 
MatTimesVecML
 
MatTimesVecMR
 

Additional Inherited Members

- Public Attributes inherited from DoubleLinearSolver
int negEigVal
 
int KryIter
 
- Protected Member Functions inherited from DoubleIterativeLinearSolver
 DoubleIterativeLinearSolver ()
 
void applyA (double beta, OoqpVector &res, double alpha, OoqpVector &x)
 
void applyM1 (double beta, OoqpVector &res, double alpha, OoqpVector &x)
 
void applyM2 (double beta, OoqpVector &res, double alpha, OoqpVector &x)
 

Constructor & Destructor Documentation

PetscIterativeSolver_Sparse::PetscIterativeSolver_Sparse ( SparseSymMatrix SC_in,
const int  numOfNegEigVal_in 
)
PetscIterativeSolver_Sparse::~PetscIterativeSolver_Sparse ( )
virtual

Member Function Documentation

void PetscIterativeSolver_Sparse::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.

Reimplemented from DoubleIterativeLinearSolver.

KSP PetscIterativeSolver_Sparse::ksp ( )
inline
int PetscIterativeSolver_Sparse::matrixChanged ( )
virtual

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

Reimplemented from DoubleIterativeLinearSolver.

void PetscIterativeSolver_Sparse::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 DoubleIterativeLinearSolver.

Member Data Documentation

int PetscIterativeSolver_Sparse::correct_negEigVal
protected
int PetscIterativeSolver_Sparse::deleteKSP
protected
SparseGenMatrix* PetscIterativeSolver_Sparse::fullSymMat
protected
int* PetscIterativeSolver_Sparse::goffIDX
protected
SparseSymMatrix* PetscIterativeSolver_Sparse::inputMatptr
protected
DoubleLinearSolver* PetscIterativeSolver_Sparse::linear_solver
protected
Mat PetscIterativeSolver_Sparse::LinSysMat_PETSC
protected
KSP PetscIterativeSolver_Sparse::mKsp
protected
SparseGenMatrix* PetscIterativeSolver_Sparse::PCGenMat
protected
int * PetscIterativeSolver_Sparse::PCgoffIDX
protected
Mat PetscIterativeSolver_Sparse::PCMat_PETSC
protected
SparseSymMatrix* PetscIterativeSolver_Sparse::PCSymMat
protected
PC PetscIterativeSolver_Sparse::precond_Method
protected
SimpleVectorHandle PetscIterativeSolver_Sparse::rhs_back
protected
int PetscIterativeSolver_Sparse::total_kry_iter
protected

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