![]() |
SG++-Doxygen-Documentation
|
Automatic choice of external linear solver. More...
#include <Auto.hpp>
Public Member Functions | |
bool | solve (SLE &system, DataMatrix &B, DataMatrix &X) const override |
bool | solve (SLE &system, DataVector &b, DataVector &x) const override |
~Auto () override | |
Destructor. | |
![]() | |
SLESolver () | |
Constructor. | |
virtual | ~SLESolver () |
Destructor. | |
Static Public Attributes | |
static constexpr double | ESTIMATE_NNZ_ROWS_SAMPLE_SIZE = 0.05 |
ratio of the rows (e.g. 0.1 = 10%) to use for sparsity estimation | |
static const size_t | MAX_DIM_FOR_FULL = 30000 |
maximal matrix dimension to allow use of full solvers | |
static const size_t | MAX_DIM_FOR_GAUSSIAN = 200 |
maximal matrix dimension to prefer GaussianElimination over BiCGStab | |
static constexpr double | MAX_NNZ_RATIO_FOR_SPARSE = 0.1 |
maximal ratio of non-zero entries for sparse solvers | |
Automatic choice of external linear solver.
|
override |
Destructor.
|
overridevirtual |
system | system to be solved | |
B | matrix of right-hand sides | |
[out] | X | matrix of solutions to the systems |
Reimplemented from sgpp::base::sle_solver::SLESolver.
References sgpp::base::sle_solver::addSLESolver(), ESTIMATE_NNZ_ROWS_SAMPLE_SIZE, sgpp::base::SLE::getDimension(), sgpp::base::Printer::getInstance(), sgpp::base::SLE::isMatrixEntryNonZero(), MAX_DIM_FOR_FULL, MAX_DIM_FOR_GAUSSIAN, MAX_NNZ_RATIO_FOR_SPARSE, sgpp::base::Printer::printStatusBegin(), sgpp::base::Printer::printStatusEnd(), sgpp::base::Printer::printStatusNewLine(), and sgpp::base::Printer::printStatusUpdate().
|
overridevirtual |
system | system to be solved | |
b | right-hand side | |
[out] | x | solution to the system |
Implements sgpp::base::sle_solver::SLESolver.
References sgpp::base::DataMatrix::getNcols(), sgpp::base::DataMatrix::getNrows(), and solve().
Referenced by sgpp::combigrid::OperationPoleHierarchisationGeneral::apply(), sgpp::optimization::OperationMultipleHierarchisationBspline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationBsplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationBsplineClenshawCurtis::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationLinear::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationLinearBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationLinearClenshawCurtis::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationLinearClenshawCurtisBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModBspline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModBsplineClenshawCurtis::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModLinear::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModNakBspline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModWavelet::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModWeaklyFundamentalNakSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationNakBspline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationNakBsplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationNakBsplineExtended::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationNaturalBsplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationWavelet::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationWaveletBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationWeaklyFundamentalNakSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationWeaklyFundamentalSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationBspline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationBsplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationBsplineClenshawCurtis::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationLinear::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationLinearBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationLinearClenshawCurtis::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationLinearClenshawCurtisBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModBspline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModBsplineClenshawCurtis::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModLinear::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModNakBspline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModWavelet::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationModWeaklyFundamentalNakSpline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationNakBspline::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationNakBsplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationNakBsplineExtended::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationNaturalBsplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationWavelet::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationWaveletBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationWeaklyFundamentalNakSplineBoundary::doHierarchisation(), sgpp::optimization::OperationMultipleHierarchisationWeaklyFundamentalSplineBoundary::doHierarchisation(), and solve().
|
staticconstexpr |
ratio of the rows (e.g. 0.1 = 10%) to use for sparsity estimation
Referenced by solve().
|
static |
maximal matrix dimension to allow use of full solvers
Referenced by solve().
|
static |
maximal matrix dimension to prefer GaussianElimination over BiCGStab
Referenced by solve().
|
staticconstexpr |
maximal ratio of non-zero entries for sparse solvers
Referenced by solve().