SG++-Doxygen-Documentation
|
Abstract class representing a system of linear equations. More...
#include <SLE.hpp>
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... | |
Abstract class representing a system of linear equations.
All row and column indices are zero based.
|
inline |
Constructor.
|
inlinevirtual |
Destructor.
References getMatrixEntry(), python.statsfileInfo::i, isMatrixEntryNonZero(), and python.utils.statsfile2gnuplot::j.
|
inlinevirtual |
Count all non-zero entries.
Standard implementation with \(\mathcal{O}(n^2)\) checks.
References getDimension(), and isMatrixEntryNonZero().
|
pure virtual |
Pure virtual method returning the dimension (number of rows/columns) of the system.
Implemented in sgpp::optimization::HierarchisationSLE, and sgpp::optimization::FullSLE.
Referenced by countNNZ(), matrixVectorMultiplication(), sgpp::optimization::Printer::printSLE(), sgpp::optimization::sle_solver::Gmmpp::solve(), sgpp::optimization::sle_solver::Armadillo::solve(), sgpp::optimization::sle_solver::Eigen::solve(), sgpp::optimization::sle_solver::UMFPACK::solve(), sgpp::optimization::sle_solver::Auto::solve(), and sgpp::optimization::sle_solver::SLESolver::solve().
|
pure virtual |
Pure virtual method for retrieving a matrix entry.
i | row index |
j | column index |
Implemented in sgpp::optimization::HierarchisationSLE, and sgpp::optimization::FullSLE.
Referenced by matrixVectorMultiplication(), sgpp::optimization::Printer::printSLE(), sgpp::optimization::sle_solver::Gmmpp::solve(), sgpp::optimization::sle_solver::GaussianElimination::solve(), sgpp::optimization::sle_solver::Armadillo::solve(), sgpp::optimization::sle_solver::Eigen::solve(), sgpp::optimization::sle_solver::UMFPACK::solve(), sgpp::optimization::sle_solver::BiCGStab::solve(), and ~SLE().
|
inlinevirtual |
Reimplemented in sgpp::optimization::CloneableSLE.
Referenced by sgpp::optimization::sle_solver::Gmmpp::solve(), sgpp::optimization::sle_solver::Eigen::solve(), sgpp::optimization::sle_solver::Armadillo::solve(), and sgpp::optimization::sle_solver::UMFPACK::solve().
|
pure virtual |
Pure virtual method for checking if a matrix entry vanishes or not.
i | row index |
j | column index |
Implemented in sgpp::optimization::HierarchisationSLE, and sgpp::optimization::FullSLE.
Referenced by countNNZ(), sgpp::optimization::sle_solver::Auto::solve(), and ~SLE().
|
inlinevirtual |
Multiply the matrix with a vector.
Standard implementation with \(\mathcal{O}(n^2)\) scalar multiplications.
x | vector 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().