Belos Version of the Day
Classes | Enumerations | Functions
Belos::details Namespace Reference

Classes

class  MultiVecTsqrAdapter
 TSQR adapter for MultiVec. More...
class  ProjectedLeastSquaresProblem
 "Container" for the GMRES projected least-squares problem. More...
class  LocalDenseMatrixOps
 Low-level operations on non-distributed dense matrices. 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_GMRES_POLY, SOLVER_TYPE_PCPG
}
 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.
ERobustness robustnessStringToEnum (const std::string &x)
 Convert the given robustness string value to an ERobustness enum.
Teuchos::RCP
< Teuchos::ParameterEntryValidator
robustnessValidator ()
 Make a ParameterList validator for ERobustness.
template<class SolverManagerBaseType , class SolverManagerType >
Teuchos::RCP
< SolverManagerBaseType > 
makeSolverManagerTmpl (const Teuchos::RCP< Teuchos::ParameterList > &params)
template<class Scalar , class MV , class OP >
Teuchos::RCP< SolverManager
< Scalar, MV, OP > > 
makeSolverManagerFromEnum (const EBelosSolverType solverType, const Teuchos::RCP< Teuchos::ParameterList > &params)

Enumeration Type Documentation

Robustness level of projected least-squares solver operations.

Author:
Mark Hoemmen

"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.

Author:
Mark Hoemmen

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.

Enumerator:
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_GMRES_POLY 
SOLVER_TYPE_PCPG 

Definition at line 95 of file BelosSolverFactory.hpp.


Function Documentation

std::string Belos::details::robustnessEnumToString ( const ERobustness  x) [inline]

Convert the given ERobustness enum value to a string.

Definition at line 841 of file BelosProjectedLeastSquaresSolver.hpp.

ERobustness Belos::details::robustnessStringToEnum ( const std::string &  x) [inline]

Convert the given robustness string value to an ERobustness enum.

Definition at line 852 of file BelosProjectedLeastSquaresSolver.hpp.

Teuchos::RCP<Teuchos::ParameterEntryValidator> Belos::details::robustnessValidator ( ) [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.

template<class SolverManagerBaseType , class SolverManagerType >
Teuchos::RCP< SolverManagerBaseType > Belos::details::makeSolverManagerTmpl ( const Teuchos::RCP< Teuchos::ParameterList > &  params)

Definition at line 489 of file BelosSolverFactory.hpp.

template<class Scalar , class MV , class OP >
Teuchos::RCP<SolverManager<Scalar, MV, OP> > Belos::details::makeSolverManagerFromEnum ( const EBelosSolverType  solverType,
const Teuchos::RCP< Teuchos::ParameterList > &  params 
)

Definition at line 411 of file BelosSolverFactory.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines