42 #ifndef ANASAZI_FACTORY_HPP 
   43 #define ANASAZI_FACTORY_HPP 
   85   template<
class ScalarType, 
class MV, 
class OP>
 
   88   create ( 
const std::string& solverType,
 
   93     std::string type = solverType;
 
   94     std::transform(type.begin(), type.end(), type.begin(), ::tolower);
 
   96     if (type == 
"block_davidson" || type == 
"block davidson")
 
   99     else if (type == 
"block_krylov_schur" || type == 
"block krylov schur")
 
  102     else if (type == 
"lobpcg")
 
  105     else if (type == 
"rtr")
 
  108     else if (type == 
"simple_lobpcg" || type == 
"simple lobpcg")
 
  113         "Anasazi::Factory::create: Invalid solver type \"" << solverType << 
"\".");
 
  116   template<
class MV, 
class OP>
 
  119   create ( 
const std::string& solverType,
 
  123     using ScalarType = double;
 
  125     std::string type = solverType;
 
  126     std::transform(type.begin(), type.end(), type.begin(), ::tolower);
 
  128     if (type == 
"block_davidson" || type == 
"block davidson")
 
  131     else if (type == 
"block_krylov_schur" || type == 
"block krylov schur")
 
  134     else if (type == 
"generalized_davidson" || type == 
"generalized davidson")
 
  137     else if (type == 
"lobpcg")
 
  140     else if (type == 
"rtr")
 
  143     else if (type == 
"simple_lobpcg" || type == 
"simple lobpcg")
 
  146     else if (type == 
"TRACE_MIN" || type == 
"trace min")
 
  149     else if (type == 
"trace_min_davidson" || type == 
"trace min davidson")
 
  154         "Anasazi::Factory::create: Invalid solverType type \"" << solverType << 
"\".");
 
  158   template<
class ScalarType, 
class MV, 
class OP>
 
  166     return create(solverType, eproblem, pl);
 
This class defines the interface required by an eigensolver and status test class to compute solution...
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
 
static Teuchos::RCP< SolverManager< ScalarType, MV, OP > > create(const std::string &solverType, const Teuchos::RCP< Eigenproblem< ScalarType, MV, OP > > problem, Teuchos::ParameterList &pl)
Create an instance of Anasazi::SolverManager given the string name of the solver type. 
 
The Anasazi::RTRSolMgr provides a simple solver manager over the RTR eigensolver. For more informatio...
 
The Anasazi::TraceMinSolMgr provides a solver manager for the TraceMin eigensolver with a constant su...
 
The Anasazi::LOBPCGSolMgr provides a powerful solver manager for the LOBPCG eigensolver. 
 
The Anasazi::BlockKrylovSchurSolMgr provides a flexible solver manager over the BlockKrylovSchur eige...
 
The Anasazi::BlockDavidsonSolMgr provides a solver manager for the BlockDavidson eigensolver. 
 
Basic implementation of the Anasazi::Eigenproblem class. 
 
The Anasazi::GeneralizedDavidsonSolMgr provides a solver manager for the GeneralizedDavidson eigensol...
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
 
The Anasazi::SimpleLOBPCGSolMgr provides a simple solver manager over the LOBPCG eigensolver. 
 
Anasazi header file which uses auto-configuration information to include necessary C++ headers...
 
The Anasazi::TraceMinSolMgr provides a flexible solver manager over the TraceMin eigensolver. 
 
The Anasazi::SimpleLOBPCGSolMgr provides a simple solver manager over the LOBPCG eigensolver. 
 
The Anasazi::TraceMinDavidsonSolMgr provides a flexible solver manager over the TraceMinDavidson eige...
 
The Anasazi::TraceMinDavidsonSolMgr provides a solver manager for the TraceMinDavidson eigensolver wi...
 
This provides a basic implementation for defining standard or generalized eigenvalue problems...
 
static Teuchos::RCP< SolverManager< ScalarType, MV, OP > > create(const std::string &solverType, const Teuchos::RCP< BasicEigenproblem< ScalarType, MV, OP > > &problem, Teuchos::ParameterList &pl)
Specialize create for BasicEigenproblem type. 
 
The Anasazi::RTRSolMgr provides a simple solver manager over the IRTR eigensolvers. 
 
The BlockDavidsonSolMgr provides a powerful solver manager over the BlockDavidson eigensolver...
 
The Anasazi::BlockKrylovSchurSolMgr class provides a user interface for the block Krylov-Schur eigens...
 
Solver Manager for GeneralizedDavidson. 
 
This provides a factory to build Anasazi solvers using parameter lists. 
 
User interface for the LOBPCG eigensolver.