SG++-Doxygen-Documentation
sgpp::optimization::CloneableSLE Class Referenceabstract

Abstract class for "cloneable" linear systems. More...

#include <CloneableSLE.hpp>

Inheritance diagram for sgpp::optimization::CloneableSLE:
sgpp::optimization::SLE sgpp::optimization::FullSLE sgpp::optimization::HierarchisationSLE

Public Member Functions

virtual void clone (std::unique_ptr< CloneableSLE > &clone) const =0
 Pure virtual method for cloning the linear system. More...
 
 CloneableSLE ()
 Constructor. More...
 
bool isCloneable () const override
 
 ~CloneableSLE () override
 Destructor. More...
 
- Public Member Functions inherited from sgpp::optimization::SLE
virtual size_t countNNZ ()
 Count all non-zero entries. More...
 
virtual size_t getDimension () const =0
 Pure virtual method returning the dimension (number of rows/columns) of the system. More...
 
virtual double getMatrixEntry (size_t i, size_t j)=0
 Pure virtual method for retrieving a matrix entry. More...
 
virtual bool isMatrixEntryNonZero (size_t i, size_t j)=0
 Pure virtual method for checking if a matrix entry vanishes or not. More...
 
virtual void matrixVectorMultiplication (const base::DataVector &x, base::DataVector &y)
 Multiply the matrix with a vector. More...
 
 SLE ()
 Constructor. More...
 
virtual ~SLE ()
 Destructor. More...
 

Detailed Description

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).

Constructor & Destructor Documentation

◆ CloneableSLE()

sgpp::optimization::CloneableSLE::CloneableSLE ( )
inline

Constructor.

◆ ~CloneableSLE()

sgpp::optimization::CloneableSLE::~CloneableSLE ( )
inlineoverride

Destructor.

References clone().

Member Function Documentation

◆ clone()

virtual void sgpp::optimization::CloneableSLE::clone ( std::unique_ptr< CloneableSLE > &  clone) const
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).

Parameters
[out]clonepointer to cloned object

Implemented in sgpp::optimization::HierarchisationSLE, and sgpp::optimization::FullSLE.

Referenced by ~CloneableSLE().

◆ isCloneable()

bool sgpp::optimization::CloneableSLE::isCloneable ( ) const
inlineoverridevirtual
Returns
whether this system derives from CloneableSLE or not (true)

Reimplemented from sgpp::optimization::SLE.


The documentation for this class was generated from the following file: