Belos
Version of the Day
|
Classes | |
class | LocalDenseMatrixOps |
Low-level operations on non-distributed dense matrices. More... | |
class | MultiVecTsqrAdapter |
TSQR adapter for MultiVec. More... | |
class | ProjectedLeastSquaresProblem |
"Container" for the GMRES projected least-squares problem. More... | |
class | ProjectedLeastSquaresSolver |
Methods for solving GMRES' projected least-squares problem. More... | |
class | StubTsqrAdapter |
"Stub" TSQR adaptor for unsupported multivector types. More... | |
Enumerations | |
enum | ERobustness { ROBUSTNESS_NONE, ROBUSTNESS_SOME, ROBUSTNESS_LOTS, ROBUSTNESS_INVALID } |
Robustness level of projected least-squares solver operations. More... | |
enum | EBelosSolverType { SOLVER_TYPE_BLOCK_GMRES, SOLVER_TYPE_PSEUDO_BLOCK_GMRES, SOLVER_TYPE_BLOCK_CG, SOLVER_TYPE_PSEUDO_BLOCK_CG, SOLVER_TYPE_GCRODR, SOLVER_TYPE_RCG, SOLVER_TYPE_MINRES, SOLVER_TYPE_LSQR, SOLVER_TYPE_STOCHASTIC_CG, SOLVER_TYPE_TFQMR, SOLVER_TYPE_PSEUDO_BLOCK_TFQMR, SOLVER_TYPE_GMRES_POLY, SOLVER_TYPE_PCPG, SOLVER_TYPE_FIXED_POINT, SOLVER_TYPE_BICGSTAB } |
1-to-1 enumeration of all supported SolverManager subclasses. More... | |
Functions | |
std::string | robustnessEnumToString (const ERobustness x) |
Convert the given ERobustness enum value to a string. More... | |
ERobustness | robustnessStringToEnum (const std::string &x) |
Convert the given robustness string value to an ERobustness enum. More... | |
Teuchos::RCP< Teuchos::ParameterEntryValidator > | robustnessValidator () |
Make a ParameterList validator for ERobustness. More... | |
template<class SolverManagerBaseType , class SolverManagerType > | |
Teuchos::RCP< SolverManagerBaseType > | makeSolverManagerTmpl (const Teuchos::RCP< Teuchos::ParameterList > ¶ms) |
template<class Scalar , class MV , class OP > | |
Teuchos::RCP< SolverManager< Scalar, MV, OP > > | makeSolverManagerFromEnum (const EBelosSolverType solverType, const Teuchos::RCP< Teuchos::ParameterList > ¶ms) |
Robustness level of projected least-squares solver operations.
"Robustness" refers in particular to dense triangular solves. ROBUSTNESS_NONE means use the BLAS' _TRSM, which may result in inaccurate or invalid (e.g., NaN or Inf) results if the upper triangular matrix R is singular. ROBUSTNESS_LOTS means use an SVD-based least-squares solver for upper triangular solves. This will work even if R is singular, but is much more expensive than _TRSM (in fact, it's at least N times more expensive, where N is the number of columns in R). ROBUSTNESS_SOME means some algorithmic point in between those two extremes.
The projected least-squares solver may use this enum to control the robustness of other operations besides dense triangular solves.
Enumerator | |
---|---|
ROBUSTNESS_NONE | |
ROBUSTNESS_SOME | |
ROBUSTNESS_LOTS | |
ROBUSTNESS_INVALID |
Definition at line 832 of file BelosProjectedLeastSquaresSolver.hpp.
1-to-1 enumeration of all supported SolverManager subclasses.
This enum is an implementation detail of SolverFactory
. Users of SolverFactory
should not refer to this enum or rely on the symbols or integer values therein. We declare it here for later use by SolverFactory
.
Belos developers who have implemented a new solver (i.e., a new subclass of SolverManager
) and who want to make the solver available through the SolverFactory
should first add a new enum symbol corresponding to their solver to the end of the list. They should then follow the instructions provided in the SolverFactory
documentation.
SolverFactory
was written to be independent of the actual enum values, so Belos developers are allowed to rearrange the symbols.
Definition at line 99 of file BelosSolverFactory.hpp.
|
inline |
Convert the given ERobustness enum value to a string.
Definition at line 841 of file BelosProjectedLeastSquaresSolver.hpp.
|
inline |
Convert the given robustness string value to an ERobustness enum.
Definition at line 852 of file BelosProjectedLeastSquaresSolver.hpp.
|
inline |
Make a ParameterList validator for ERobustness.
Use this validator when you are setting up a default ParameterList for a solver that accepts a ERobustness parameter. This will let users supply a string that turns into an enum value.
The validator converts strings ("None", "Some", "Lots") to the corresponding ERobustness enum values. It also includes documentation for each value.
Definition at line 875 of file BelosProjectedLeastSquaresSolver.hpp.
Teuchos::RCP< SolverManagerBaseType > Belos::details::makeSolverManagerTmpl | ( | const Teuchos::RCP< Teuchos::ParameterList > & | params | ) |
Definition at line 507 of file BelosSolverFactory.hpp.
Teuchos::RCP<SolverManager<Scalar, MV, OP> > Belos::details::makeSolverManagerFromEnum | ( | const EBelosSolverType | solverType, |
const Teuchos::RCP< Teuchos::ParameterList > & | params | ||
) |
Definition at line 425 of file BelosSolverFactory.hpp.