![]() |
SG++-Doxygen-Documentation
|
Classes | |
class | Armadillo |
Linear system solver using Armadillo (direct full solver). More... | |
class | Auto |
Automatic choice of external linear solver. More... | |
class | BiCGStab |
Linear system solver implementing the iterative BiCGStab method. More... | |
class | Eigen |
Linear system solver using Eigen (direct full solver). More... | |
class | GaussianElimination |
Linear system solver implementing the direct Gaussian elimination. More... | |
class | Gmmpp |
Linear system solver using Gmm++ (iterative sparse solver). More... | |
class | SLESolver |
Abstract class for solving systems of linear equations. More... | |
class | UMFPACK |
Linear system solver using UMFPACK (direct sparse solver). More... | |
Typedefs | |
typedef ::Eigen::MatrixXd | EigenMatrix |
typedef ::Eigen::VectorXd | EigenVector |
typedef UF_long | sslong |
Functions | |
void | addSLESolver (SLESolver *solver, std::vector< SLESolver * > &solvers, const std::map< SLESolver *, bool > &supports) |
Add a solver to the vector of solvers, if the solver is supported (e.g. | |
void | callback (const gmm::iteration &iter) |
Gmm++ status printing callback. | |
bool | solveInternal (const EigenMatrix &A, const ::Eigen::HouseholderQR< EigenMatrix > &A_QR, DataVector &b, DataVector &x) |
bool | solveInternal (const gmm::csr_matrix< double > &A, DataVector &b, DataVector &x) |
bool | solveInternal (void *numeric, const std::vector< sslong > &Ap, const std::vector< sslong > &Ai, const std::vector< double > &Ax, DataVector &b, DataVector &x) |
typedef ::Eigen::MatrixXd sgpp::base::sle_solver::EigenMatrix |
typedef ::Eigen::VectorXd sgpp::base::sle_solver::EigenVector |
typedef UF_long sgpp::base::sle_solver::sslong |
void sgpp::base::sle_solver::addSLESolver | ( | SLESolver * | solver, |
std::vector< SLESolver * > & | solvers, | ||
const std::map< SLESolver *, bool > & | supports | ||
) |
Add a solver to the vector of solvers, if the solver is supported (e.g.
SG++ configured and compiled for use with the solve) and it's not already in the vector.
solver | linear solver |
solvers | vector of solvers |
supports | map indicating which solvers are supported |
Referenced by sgpp::base::sle_solver::Auto::solve().
void sgpp::base::sle_solver::callback | ( | const gmm::iteration & | iter | ) |
Gmm++ status printing callback.
iter | iteration information |
References sgpp::base::Printer::getInstance(), and sgpp::base::Printer::printStatusUpdate().
Referenced by solveInternal().
bool sgpp::base::sle_solver::solveInternal | ( | const EigenMatrix & | A, |
const ::Eigen::HouseholderQR< EigenMatrix > & | A_QR, | ||
DataVector & | b, | ||
DataVector & | x | ||
) |
A | coefficient matrix | |
A_QR | Householder QR decomposition of coefficient matrix | |
b | right-hand side | |
[out] | x | solution of the linear system |
Referenced by sgpp::base::sle_solver::Eigen::solve(), sgpp::base::sle_solver::UMFPACK::solve(), and sgpp::base::sle_solver::Gmmpp::solve().
bool sgpp::base::sle_solver::solveInternal | ( | const gmm::csr_matrix< double > & | A, |
DataVector & | b, | ||
DataVector & | x | ||
) |
A | coefficient matrix | |
b | right-hand side | |
[out] | x | solution of the linear system |
References callback(), sgpp::base::Printer::getInstance(), sgpp::base::Printer::printStatusEnd(), sgpp::base::Printer::printStatusNewLine(), and sgpp::base::Printer::printStatusUpdate().
bool sgpp::base::sle_solver::solveInternal | ( | void * | numeric, |
const std::vector< sslong > & | Ap, | ||
const std::vector< sslong > & | Ai, | ||
const std::vector< double > & | Ax, | ||
DataVector & | b, | ||
DataVector & | x | ||
) |
numeric | result of umfpack_dl_numeric() | |
Ap | CCS column pointers | |
Ai | CCS row indices | |
Ax | CCS matrix entries | |
b | right-hand side | |
[out] | x | solution to the system |
References sgpp::base::DataVector::getPointer(), and sgpp::base::DataVector::setAll().