#include <MtxSchurDecompSolver.h>
|
virtual int | getSchurDim () |
|
virtual int | getSchurNNz () |
|
virtual void | buildDenseSchurMat (DoubleMatrix *MatIn, int *schurVarIDX) |
|
virtual int | matrixChanged () |
|
virtual void | initializeKKT_Dense (DenseSymMatrix *dkktSC) |
|
virtual void | addTermToDenseSchurCompl (SparseSymMatrix *DiagMat, SparseGenMatrix *BordMat, DenseSymMatrix &SC) |
|
virtual void | addLnizi (SparseGenMatrix *borderMat, OoqpVector &z0_, OoqpVector &zi_) |
|
virtual void | LniTransMult (SparseGenMatrix *borderMat, SimpleVector &y, double alpha, SimpleVector &x) |
|
virtual void | finalizeKKT (SparseSymMatrix *diag0Mat, DenseSymMatrix *kktd) |
|
| MtxSchurDecompSolver () |
|
| MtxSchurDecompSolver (DoubleMatrix *MatIn, const int schurDim, int *inputMatType, int *schurVarIDX, const int localNegaEigVal_in) |
|
| ~MtxSchurDecompSolver () |
|
virtual void | solve1stVarOnly (OoqpVector &rhs_, OoqpVector &sol_SC) |
|
| 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 () |
|
fullMat =
diag1Mat | borderMat
borderMat' | diag0Mat
MtxSchurDecompSolver::MtxSchurDecompSolver |
( |
| ) |
|
MtxSchurDecompSolver::MtxSchurDecompSolver |
( |
DoubleMatrix * |
MatIn, |
|
|
const int |
schurDim, |
|
|
int * |
inputMatType, |
|
|
int * |
schurVarIDX, |
|
|
const int |
localNegaEigVal_in |
|
) |
| |
MtxSchurDecompSolver::~MtxSchurDecompSolver |
( |
| ) |
|
|
inline |
virtual void MtxSchurDecompSolver::_buildDenseSchurMat_RLSS |
( |
DoubleMatrix * |
MatIn, |
|
|
int * |
schurVarIDX |
|
) |
| |
|
inlineprotectedvirtual |
void MtxSchurDecompSolver::_firstCall_RLSS |
( |
| ) |
|
|
protectedvirtual |
int MtxSchurDecompSolver::_numericalFact_RLSS |
( |
| ) |
|
|
protectedvirtual |
z0 -= Border^T * Li\ [ zi ]
Computes C = Border^T * inv(Diag_1) * Border.
void MtxSchurDecompSolver::buildDenseSchurMat |
( |
DoubleMatrix * |
MatIn, |
|
|
int * |
schurVarIDX |
|
) |
| |
|
virtual |
virtual void MtxSchurDecompSolver::diagonalChanged |
( |
int |
idiag, |
|
|
int |
extent |
|
) |
| |
|
inlineprotectedvirtual |
called if the diagonal elements of the matrix have changed. Triggers a refactorization of the matrix, if necessary.
- Parameters
-
idiag | index of the first diagonal element that changed |
extent | the number of diagonal element that changed. |
Implements DoubleLinearSolver.
commented - already done in addLnizi
void MtxSchurDecompSolver::firstCall |
( |
| ) |
|
|
protectedvirtual |
virtual int MtxSchurDecompSolver::getSchurDim |
( |
| ) |
|
|
inlinevirtual |
virtual int MtxSchurDecompSolver::getSchurNNz |
( |
| ) |
|
|
inlinevirtual |
void MtxSchurDecompSolver::initializeKKT_Dense |
( |
DenseSymMatrix * |
dkktSC | ) |
|
|
virtual |
commented - already done in addLnizi
int MtxSchurDecompSolver::matrixChanged |
( |
| ) |
|
|
virtual |
called if some elements of the matrix have changed. Triggers a refactorization of the matrix, if necessary.
Implements DoubleLinearSolver.
void MtxSchurDecompSolver::newMtxSchurDecompSolver |
( |
DoubleMatrix * |
MatIn, |
|
|
const int |
schurDim, |
|
|
int * |
inputMatType |
|
) |
| |
|
protected |
void MtxSchurDecompSolver::solve |
( |
OoqpVector & |
x | ) |
|
|
protectedvirtual |
solves a linear system.
- Parameters
-
x | on entry the right hand side of the system to be solved. On exit, the solution. |
Implements DoubleLinearSolver.
int* MtxSchurDecompSolver::Border_Full_eleMap |
|
protected |
int MtxSchurDecompSolver::borderDim_m |
|
protected |
int MtxSchurDecompSolver::borderDim_n |
|
protected |
int* MtxSchurDecompSolver::borderMat_colIdx |
|
protected |
double* MtxSchurDecompSolver::borderMat_ele |
|
protected |
int* MtxSchurDecompSolver::borderMat_rowBeg |
|
protected |
int MtxSchurDecompSolver::borderMatNNz |
|
protected |
int* MtxSchurDecompSolver::Diag0_Full_eleMap |
|
protected |
int * MtxSchurDecompSolver::diag0Mat_colIdx |
|
protected |
double * MtxSchurDecompSolver::diag0Mat_ele |
|
protected |
int * MtxSchurDecompSolver::diag0Mat_rowBeg |
|
protected |
int MtxSchurDecompSolver::diag0MatDim |
|
protected |
int MtxSchurDecompSolver::diag0MatNNz |
|
protected |
int* MtxSchurDecompSolver::Diag1_Full_eleMap |
|
protected |
int * MtxSchurDecompSolver::diag1Mat_colIdx |
|
protected |
double * MtxSchurDecompSolver::diag1Mat_ele |
|
protected |
int * MtxSchurDecompSolver::diag1Mat_rowBeg |
|
protected |
int MtxSchurDecompSolver::diag1MatDim |
|
protected |
int MtxSchurDecompSolver::diag1MatNNz |
|
protected |
int* MtxSchurDecompSolver::diag1VarIDinFull |
|
private |
int MtxSchurDecompSolver::firstCallFlag |
|
protected |
int MtxSchurDecompSolver::fullMatDim |
|
protected |
int MtxSchurDecompSolver::fullMatNNz |
|
protected |
int* MtxSchurDecompSolver::FullVarIDinDiag01 |
|
private |
int MtxSchurDecompSolver::localNegaEigVal |
|
protected |
int MtxSchurDecompSolver::mtxCase |
|
protected |
int MtxSchurDecompSolver::requireUpdate |
|
protected |
double* MtxSchurDecompSolver::schurMat_ele |
|
protected |
int MtxSchurDecompSolver::schurMatDim |
|
protected |
int MtxSchurDecompSolver::schurMatNNz |
|
protected |
int* MtxSchurDecompSolver::schurVarIDinFull |
|
protected |
The documentation for this class was generated from the following files: