![]() |
SG++-Doxygen-Documentation
|
Abstract class for "cloneable" linear systems. More...
#include <CloneableSLE.hpp>
Public Member Functions | |
virtual void | clone (std::unique_ptr< CloneableSLE > &clone) const =0 |
Pure virtual method for cloning the linear system. | |
CloneableSLE () | |
Constructor. | |
bool | isCloneable () const override |
~CloneableSLE () override | |
Destructor. | |
![]() | |
virtual size_t | countNNZ () |
Count all non-zero entries. | |
virtual size_t | getDimension () const =0 |
Pure virtual method returning the dimension (number of rows/columns) of the system. | |
virtual double | getMatrixEntry (size_t i, size_t j)=0 |
Pure virtual method for retrieving a matrix entry. | |
virtual bool | isMatrixEntryNonZero (size_t i, size_t j)=0 |
Pure virtual method for checking if a matrix entry vanishes or not. | |
virtual void | matrixVectorMultiplication (const DataVector &x, DataVector &y) |
Multiply the matrix with a vector. | |
SLE () | |
Constructor. | |
virtual | ~SLE () |
Destructor. | |
Abstract class for "cloneable" linear systems.
This class is needed in the case that matrix entry lookups are not possible concurrently (e.g. for hierarchization systems with Clenshaw-Curtis grids).
|
inline |
Constructor.
|
inlineoverride |
Destructor.
|
pure virtual |
Pure virtual method for cloning the linear system.
It should generate a pointer to the cloned object and it's used for parallel computations (e.g. the getMatrixEntry() method might not be thread-safe).
[out] | clone | pointer to cloned object |
Implemented in sgpp::base::FullSLE, and sgpp::base::HierarchisationSLE.
|
inlineoverridevirtual |
Reimplemented from sgpp::base::SLE.