Anasazi Version of the Day
Loading...
Searching...
No Matches
AnasaziSolverManager.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Anasazi: Block Eigensolvers Package
4//
5// Copyright 2004 NTESS and the Anasazi contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef ANASAZI_SOLVERMANAGER_HPP
11#define ANASAZI_SOLVERMANAGER_HPP
12
17#include "AnasaziConfigDefs.hpp"
18#include "AnasaziTypes.hpp"
20
21#include "Teuchos_ParameterList.hpp"
22#include "Teuchos_RCP.hpp"
23#include "Teuchos_Array.hpp"
24#include "Teuchos_Time.hpp"
25
31namespace Anasazi {
32
33template<class ScalarType, class MV, class OP>
35
36 public:
37
39
40
43
45 virtual ~SolverManager() {};
47
49
50
52 virtual const Eigenproblem<ScalarType,MV,OP>& getProblem() const = 0;
53
55 virtual int getNumIters() const = 0;
56
58 virtual Teuchos::Array<Teuchos::RCP<Teuchos::Time> > getTimers() const
59 {
60 Teuchos::Array<Teuchos::RCP<Teuchos::Time> > null_time;
61 return null_time;
62 }
63
65
67
68
77 virtual ReturnType solve() = 0;
79
80};
81
82} // end Anasazi namespace
83
84#endif /* ANASAZI_SOLVERMANAGER_HPP */
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
Abstract base class which defines the interface required by an eigensolver and status test class to c...
Types and exceptions used within Anasazi solvers and interfaces.
This class defines the interface required by an eigensolver and status test class to compute solution...
The Anasazi::SolverManager is a templated virtual base class that defines the basic interface that an...
virtual ReturnType solve()=0
This method performs possibly repeated calls to the underlying eigensolver's iterate() routine until ...
virtual int getNumIters() const =0
Get the iteration count for the most recent call to solve().
virtual ~SolverManager()
Destructor.
virtual Teuchos::Array< Teuchos::RCP< Teuchos::Time > > getTimers() const
Return the timers for this object.
SolverManager()
Empty constructor.
virtual const Eigenproblem< ScalarType, MV, OP > & getProblem() const =0
Return the eigenvalue problem.
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.
ReturnType
Enumerated type used to pass back information from a solver manager.