KASKADE 7 development version
|
Abstract base class for a sparse linear system. More...
#include <linearsystem.hh>
Abstract base class for a sparse linear system.
Definition at line 29 of file linearsystem.hh.
Public Member Functions | |
virtual void | getMatrix (MatrixAsTriplet< double > &mat) const |
Return the matrix of the linear system in triplet format. More... | |
virtual void | getRHS (std::vector< double > &rhs) const |
Return the right hand side of the linear system. More... | |
virtual int | size () const |
Return the number of variables of the linear system. More... | |
virtual int | rows (int rbegin, int rend) const =0 |
virtual int | cols (int colbegin, int colend) const =0 |
virtual void | getMatrixBlocks (MatrixAsTriplet< double > &mat, int rbegin, int rend, int colbegin, int colend) const =0 |
Return matrix blocks of the linear system in triplet format. More... | |
virtual double | getValue () const =0 |
value of function More... | |
virtual void | getRHSBlocks (std::vector< double > &rhs, int rbegin, int rend) const =0 |
Return components of the right hand side of the linear system. More... | |
virtual int | nColBlocks () const =0 |
number of column blocks More... | |
virtual int | nRowBlocks () const =0 |
number of row blocks More... | |
virtual | ~SparseLinearSystem () |
|
inlinevirtual |
Definition at line 59 of file linearsystem.hh.
|
pure virtual |
Implemented in Kaskade::Bridge::KaskadeLinearization< Functional >, and Kaskade::SimpleSparseLinearSystem.
Referenced by size(), and Kaskade::Bridge::DirectInnerSolver< DirectSolver >::solveAdjAndNormal().
|
inlinevirtual |
Return the matrix of the linear system in triplet format.
Definition at line 33 of file linearsystem.hh.
Referenced by Kaskade::DirectLinearSolver< Scalar, SparseInt >::solve(), and Kaskade::Bridge::DirectInnerSolver< DirectSolver >::solveAdjAndNormal().
|
pure virtual |
Return matrix blocks of the linear system in triplet format.
Implemented in Kaskade::SimpleSparseLinearSystem.
Referenced by getMatrix(), Kaskade::EnergyScalarProduct< X >::setOrigin(), and Kaskade::Bridge::DirectInnerSolver< DirectSolver >::solveAdjAndNormal().
|
inlinevirtual |
Return the right hand side of the linear system.
Definition at line 36 of file linearsystem.hh.
Referenced by Kaskade::DirectLinearSolver< Scalar, SparseInt >::resolve().
|
pure virtual |
Return components of the right hand side of the linear system.
Implemented in Kaskade::SimpleSparseLinearSystem.
Referenced by Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::computeCorrectionAndAdjointCorrection(), Kaskade::DirectBlockSchurSolver< Factorization, VariableSet >::computeSimplifiedCorrection(), getRHS(), Kaskade::Bridge::DirectInnerSolver< DirectSolver >::resolveNormal(), and Kaskade::Bridge::DirectInnerSolver< DirectSolver >::solveAdjAndNormal().
|
pure virtual |
value of function
Implemented in Kaskade::Bridge::KaskadeLinearization< Functional >, and Kaskade::SimpleSparseLinearSystem.
|
pure virtual |
number of column blocks
Implemented in Kaskade::Bridge::KaskadeLinearization< Functional >, and Kaskade::SimpleSparseLinearSystem.
Referenced by getMatrix(), size(), and Kaskade::Bridge::DirectInnerSolver< DirectSolver >::solveAdjAndNormal().
|
pure virtual |
number of row blocks
Implemented in Kaskade::Bridge::KaskadeLinearization< Functional >, and Kaskade::SimpleSparseLinearSystem.
Referenced by getMatrix(), getRHS(), Kaskade::Bridge::DirectInnerSolver< DirectSolver >::resolveNormal(), and Kaskade::Bridge::DirectInnerSolver< DirectSolver >::solveAdjAndNormal().
|
pure virtual |
Implemented in Kaskade::Bridge::KaskadeLinearization< Functional >, and Kaskade::SimpleSparseLinearSystem.
Referenced by Kaskade::Bridge::DirectInnerSolver< DirectSolver >::resolveNormal().
|
inlinevirtual |
Return the number of variables of the linear system.
Definition at line 39 of file linearsystem.hh.
Referenced by Kaskade::Bridge::DirectInnerSolver< DirectSolver >::solveAdjAndNormal().