30 std::vector<std::pair<UInt, UInt>> mChangedEntries;
33 std::vector<Int> mVaryingColumns;
35 std::vector<Int> mVaryingRows;
39 klu_numeric *mNumeric =
nullptr;
40 klu_symbolic *mSymbolic =
nullptr;
45 int mPreordering = AMD_ORDERING;
50 PARTIAL_REFACTORIZATION_METHOD mPartialRefactorizationMethod =
51 PARTIAL_REFACTORIZATION_METHOD::FACTORIZATION_PATH;
68 std::vector<std::pair<UInt, UInt>>
69 &listVariableSystemMatrixEntries)
override;
72 void factorize(SparseMatrix &systemMatrix)
override;
75 void refactorize(SparseMatrix &systemMatrix)
override;
79 std::vector<std::pair<UInt, UInt>>
80 &listVariableSystemMatrixEntries)
override;
83 Matrix
solve(Matrix &rightSideVector)
override;
void preprocessing(SparseMatrix &systemMatrix, std::vector< std::pair< UInt, UInt > > &listVariableSystemMatrixEntries) override
preprocessing function pre-ordering and scaling the matrix