SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::base::SLE Class Referenceabstract

Abstract class representing a system of linear equations. More...

#include <SLE.hpp>

Inheritance diagram for sgpp::base::SLE:
sgpp::base::CloneableSLE sgpp::combigrid::OperationPoleHierarchisationGeneral::HierarchisationGeneralSLE sgpp::base::FullSLE sgpp::base::HierarchisationSLE

Public Member Functions

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 isCloneable () const
 
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.
 

Detailed Description

Abstract class representing a system of linear equations.

All row and column indices are zero based.

Constructor & Destructor Documentation

◆ SLE()

sgpp::base::SLE::SLE ( )
inline

Constructor.

◆ ~SLE()

virtual sgpp::base::SLE::~SLE ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ countNNZ()

virtual size_t sgpp::base::SLE::countNNZ ( )
inlinevirtual

Count all non-zero entries.

Standard implementation with \(\mathcal{O}(n^2)\) checks.

Returns
number of non-zero entries

References getDimension(), and isMatrixEntryNonZero().

◆ getDimension()

◆ getMatrixEntry()

◆ isCloneable()

virtual bool sgpp::base::SLE::isCloneable ( ) const
inlinevirtual

◆ isMatrixEntryNonZero()

virtual bool sgpp::base::SLE::isMatrixEntryNonZero ( size_t  i,
size_t  j 
)
pure virtual

Pure virtual method for checking if a matrix entry vanishes or not.

Parameters
irow index
jcolumn index
Returns
whether the (i,j)-th entry of the matrix is non-zero

Implemented in sgpp::base::FullSLE, sgpp::base::HierarchisationSLE, and sgpp::combigrid::OperationPoleHierarchisationGeneral::HierarchisationGeneralSLE.

Referenced by countNNZ(), and sgpp::base::sle_solver::Auto::solve().

◆ matrixVectorMultiplication()

virtual void sgpp::base::SLE::matrixVectorMultiplication ( const DataVector x,
DataVector y 
)
inlinevirtual

Multiply the matrix with a vector.

Standard implementation with \(\mathcal{O}(n^2)\) scalar multiplications.

Parameters
xvector to be multiplied
[out]y\(y = Ax\)

References getDimension(), getMatrixEntry(), and sgpp::base::DataVector::setAll().

Referenced by sgpp::base::sle_solver::BiCGStab::solve().


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