#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: