SG++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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

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

Constructor.

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

Destructor.

Member Function Documentation

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

virtual bool sgpp::optimization::SLE::isCloneable ( ) const
inlinevirtual
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(), and sgpp::optimization::sle_solver::Auto::solve().

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(), sgpp::base::DataVector::resize(), and sgpp::base::DataVector::setAll().

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


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