|
Amesos2 - Direct Sparse Solver Interfaces
Version of the Day
|
Contains declarations for Amesos2::create and Amesos2::query. More...
#include "Amesos2_config.h"#include "Amesos2_Solver.hpp"#include "Amesos2_SolverTraits.hpp"#include "Teuchos_ScalarTraits.hpp"#include "Amesos2_MultiVecAdapter.hpp"#include "Amesos2_MatrixTraits.hpp"#include "Amesos2_ctassert.hpp"#include "Amesos2_KLU2.hpp"#include "Amesos2_Superludist.hpp"#include "Amesos2_Superlumt.hpp"#include "Amesos2_Superlu.hpp"

Go to the source code of this file.
Classes | |
| struct | Amesos2::throw_no_scalar_support_exception< ConcreteSolver, Matrix, Vector > |
| struct | Amesos2::handle_solver_type_support< ConcreteSolver, Matrix, Vector > |
Functions | |
| std::string | Amesos2::tolower (const std::string &s) |
| template<class Matrix , class Vector > | |
| Solver< Matrix, Vector > * | Amesos2::create (const Matrix *A, Vector *X, const Vector *B) |
| Creates an Amesos2 Solver interface with Matrix A, LHS vector X, and RHS vector B. | |
| template<class Matrix , class Vector > | |
| Teuchos::RCP< Solver< Matrix, Vector > > | Amesos2::create (Teuchos::RCP< const Matrix > A, Teuchos::RCP< Vector > X, Teuchos::RCP< const Vector > B) |
| Creates an Amesos2 Solver interface with Matrix A, LHS vector X, and RHS vector B. | |
| template<class Matrix , class Vector > | |
| Solver< Matrix, Vector > * | Amesos2::create (const char *solverName, const Matrix *A, Vector *X, const Vector *B) |
| Creates an Amesos2 Solver interface with Matrix A, LHS vector X, and RHS vector B. | |
| template<class Matrix , class Vector > | |
| Teuchos::RCP< Solver< Matrix, Vector > > | Amesos2::create (const char *solverName, const Teuchos::RCP< const Matrix > A, const Teuchos::RCP< Vector > X, const Teuchos::RCP< const Vector > B) |
| Creates an Amesos2 Solver interface with Matrix A, LHS vector X, and RHS vector B. | |
| template<class Matrix , class Vector > | |
| Solver< Matrix, Vector > * | Amesos2::create (const std::string solverName, const Matrix *A, Vector *X, const Vector *B) |
| Creates an Amesos2 Solver interface with Matrix A, LHS vector X, and RHS vector B. | |
| template<class Matrix , class Vector > | |
| Teuchos::RCP< Solver< Matrix, Vector > > | Amesos2::create (const std::string solverName, const Teuchos::RCP< const Matrix > A, const Teuchos::RCP< Vector > X, const Teuchos::RCP< const Vector > B) |
| Creates an Amesos2 Solver interface with Matrix A, LHS vector X, and RHS vector B. | |
| template<class Matrix , class Vector > | |
| Solver< Matrix, Vector > * | Amesos2::create (const std::string solverName, const Matrix *A) |
| Creates an Amesos2 Solver interface with Matrix A. | |
| template<class Matrix , class Vector > | |
| Teuchos::RCP< Solver< Matrix, Vector > > | Amesos2::create (const std::string solverName, const Teuchos::RCP< const Matrix > A) |
| Creates an Amesos2 Solver interface with Matrix A. | |
| bool | Amesos2::query (const char *solverName) |
| Queries the Factory for support of the named third-party library. | |
| bool | Amesos2::query (const std::string solverName) |
| Queries the Factory for support of the named third-party library. | |
| template<class Matrix , class Vector > | |
| Solver< Matrix, Vector > * | Amesos2::create (Matrix *A, Vector *X, Vector *B) |
Contains declarations for Amesos2::create and Amesos2::query.
Amesos2 defines the nonmember factory method Amesos2::create for creating instances of Amesos2 solvers. If a users asks Amesos2::create to create a solver with a matrix whose scalar type is not supported by that solver, then a runtime std::invalid_argument exception will be thrown.
The Amesos2::query function can be used to ask Amesos2 at runtime whether a particular solver is supported.
Amesos2_ENABLE_SOLVERNAME:BOOL=ON in your Trilinos configuration script to do this, where SOLVERNAME is the name of the solver you would like to enable.typedef Tpetra::CrsMatrix<double,int> MAT; typedef Tpetra::MultiVector<double,int> VEC; // ... Create A of type RCP<MAT>, and X and B of type RCP<VEC> ... RCP<Amesos2::Solver<MAT,VEC> > solver = Amesos2::create<MAT,VEC>("SuperLU", A, X, B);
1.7.6.1