SG++-Doxygen-Documentation
Loading...
Searching...
No Matches
sgpp::base::sle_solver::Auto Class Reference

Automatic choice of external linear solver. More...

#include <Auto.hpp>

Inheritance diagram for sgpp::base::sle_solver::Auto:
sgpp::base::sle_solver::SLESolver

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.
 
- Public Member Functions inherited from sgpp::base::sle_solver::SLESolver
 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
 

Detailed Description

Automatic choice of external linear solver.

Constructor & Destructor Documentation

◆ ~Auto()

sgpp::base::sle_solver::Auto::~Auto ( )
override

Destructor.

Member Function Documentation

◆ solve() [1/2]

bool sgpp::base::sle_solver::Auto::solve ( SLE system,
DataMatrix B,
DataMatrix X 
) const
overridevirtual

◆ solve() [2/2]

bool sgpp::base::sle_solver::Auto::solve ( SLE system,
DataVector b,
DataVector x 
) const
overridevirtual
Parameters
systemsystem to be solved
bright-hand side
[out]xsolution to the system
Returns
whether all went well (false if errors occurred)

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

Member Data Documentation

◆ ESTIMATE_NNZ_ROWS_SAMPLE_SIZE

constexpr double sgpp::base::sle_solver::Auto::ESTIMATE_NNZ_ROWS_SAMPLE_SIZE = 0.05
staticconstexpr

ratio of the rows (e.g. 0.1 = 10%) to use for sparsity estimation

Referenced by solve().

◆ MAX_DIM_FOR_FULL

const size_t sgpp::base::sle_solver::Auto::MAX_DIM_FOR_FULL = 30000
static

maximal matrix dimension to allow use of full solvers

Referenced by solve().

◆ MAX_DIM_FOR_GAUSSIAN

const size_t sgpp::base::sle_solver::Auto::MAX_DIM_FOR_GAUSSIAN = 200
static

maximal matrix dimension to prefer GaussianElimination over BiCGStab

Referenced by solve().

◆ MAX_NNZ_RATIO_FOR_SPARSE

constexpr double sgpp::base::sle_solver::Auto::MAX_NNZ_RATIO_FOR_SPARSE = 0.1
staticconstexpr

maximal ratio of non-zero entries for sparse solvers

Referenced by solve().


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