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

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

#include <SLE.hpp>

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

Public Member Functions

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 isCloneable () const
 
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 representing a system of linear equations.

All row and column indices are zero based.

Constructor & Destructor Documentation

◆ SLE()

sgpp::optimization::SLE::SLE ( )
inline

Constructor.

◆ ~SLE()

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

Member Function Documentation

◆ countNNZ()

virtual size_t sgpp::optimization::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::optimization::SLE::isCloneable ( ) const
inlinevirtual

◆ isMatrixEntryNonZero()

virtual bool sgpp::optimization::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::optimization::HierarchisationSLE, and sgpp::optimization::FullSLE.

Referenced by countNNZ(), sgpp::optimization::sle_solver::Auto::solve(), and ~SLE().

◆ matrixVectorMultiplication()

virtual void sgpp::optimization::SLE::matrixVectorMultiplication ( const base::DataVector x,
base::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(), python.statsfileInfo::i, python.utils.statsfile2gnuplot::j, and sgpp::base::DataVector::setAll().

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


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