| 
    Anasazi
    Version of the Day
    
   | 
 
The Eigensolver is a templated virtual base class that defines the basic interface that any eigensolver will support. More...
#include <AnasaziEigensolverDecl.hpp>
  
 Public Member Functions | |
Constructors/Destructor  | |
| Eigensolver () | |
| Default Constructor.  More... | |
| Eigensolver (const Teuchos::RCP< Eigenproblem< ScalarType, MV, OP > > &problem, const Teuchos::RCP< SortManager< ScalarType > > &sorter, const Teuchos::RCP< OutputManager< ScalarType > > &printer, const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &tester, const Teuchos::RCP< OrthoManager< ScalarType, MV > > &ortho, Teuchos::ParameterList ¶ms) | |
| Basic Constructor.  More... | |
| virtual | ~Eigensolver () | 
| Destructor.  More... | |
Solver methods  | |
| virtual void | iterate ()=0 | 
| This method performs eigensolvers iterations until the status test indicates the need to stop or an error occurs (in which case, an exception is thrown).  More... | |
| virtual void | initialize ()=0 | 
| Initialize the solver with the initial vectors from the eigenproblem or random data.  More... | |
Status methods  | |
| virtual int | getNumIters () const =0 | 
| Get the current iteration count.  More... | |
| virtual void | resetNumIters ()=0 | 
| Reset the iteration count.  More... | |
| virtual Teuchos::RCP< const MV > | getRitzVectors ()=0 | 
| Get the Ritz vectors from the previous iteration. These are indexed using getRitzIndex().  More... | |
| virtual std::vector< Value < ScalarType > >  | getRitzValues ()=0 | 
| Get the Ritz values from the previous iteration.  More... | |
| virtual std::vector< int > | getRitzIndex ()=0 | 
| Get the index used for indexing the compressed storage used for Ritz vectors for real, non-Hermitian problems.  More... | |
| virtual std::vector< typename  Teuchos::ScalarTraits < ScalarType >::magnitudeType >  | getResNorms ()=0 | 
| Get the current residual norms.  More... | |
| virtual std::vector< typename  Teuchos::ScalarTraits < ScalarType >::magnitudeType >  | getRes2Norms ()=0 | 
| virtual std::vector< typename  Teuchos::ScalarTraits < ScalarType >::magnitudeType >  | getRitzRes2Norms ()=0 | 
| virtual int | getCurSubspaceDim () const =0 | 
| Get the dimension of the search subspace used to generate the current eigenvectors and eigenvalues.  More... | |
| virtual int | getMaxSubspaceDim () const =0 | 
| Get the maximum dimension allocated for the search subspace.  More... | |
Accessor methods  | |
| virtual void | setStatusTest (Teuchos::RCP< StatusTest< ScalarType, MV, OP > > test)=0 | 
| Set a new StatusTest for the solver.  More... | |
| virtual Teuchos::RCP < StatusTest< ScalarType, MV, OP > >  | getStatusTest () const =0 | 
| Get the current StatusTest used by the solver.  More... | |
| virtual const Eigenproblem < ScalarType, MV, OP > &  | getProblem () const =0 | 
| Get a constant reference to the eigenvalue problem.  More... | |
| virtual int | getBlockSize () const =0 | 
| Get the blocksize to be used by the iterative solver in solving this eigenproblem.  More... | |
| virtual void | setBlockSize (int blockSize)=0 | 
| Set the blocksize to be used by the iterative solver in solving this eigenproblem.  More... | |
| virtual void | setAuxVecs (const Teuchos::Array< Teuchos::RCP< const MV > > &auxvecs)=0 | 
| Set the auxiliary vectors for the solver.  More... | |
| virtual Teuchos::Array < Teuchos::RCP< const MV > >  | getAuxVecs () const =0 | 
| Get the auxiliary vectors for the solver.  More... | |
| virtual bool | isInitialized () const =0 | 
| States whether the solver has been initialized or not.  More... | |
Output methods  | |
| virtual void | currentStatus (std::ostream &os)=0 | 
| This method requests that the solver print out its current status to screen.  More... | |
The Eigensolver is a templated virtual base class that defines the basic interface that any eigensolver will support.
This interface is mainly concerned with providing a set of eigensolver status method that can be requested from any eigensolver by an StatusTest object.
Definition at line 35 of file AnasaziEigensolver.hpp.
      
  | 
  inline | 
Default Constructor.
Definition at line 43 of file AnasaziEigensolver.hpp.
| Anasazi::Eigensolver< ScalarType, MV, OP >::Eigensolver | ( | const Teuchos::RCP< Eigenproblem< ScalarType, MV, OP > > & | problem, | 
| const Teuchos::RCP< SortManager< ScalarType > > & | sorter, | ||
| const Teuchos::RCP< OutputManager< ScalarType > > & | printer, | ||
| const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > & | tester, | ||
| const Teuchos::RCP< OrthoManager< ScalarType, MV > > & | ortho, | ||
| Teuchos::ParameterList & | params | ||
| ) | 
Basic Constructor.
This constructor, implemented by all Anasazi eigensolvers, takes an Anasazi::Eigenproblem, Anasazi::SortManager, Anasazi::OutputManager, and Teuchos::ParameterList as input. These four arguments are sufficient enough for constructing any Anasazi::Eigensolver object.
      
  | 
  inlinevirtual | 
Destructor.
Definition at line 58 of file AnasaziEigensolver.hpp.
      
  | 
  pure virtual | 
This method performs eigensolvers iterations until the status test indicates the need to stop or an error occurs (in which case, an exception is thrown).
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, Anasazi::GeneralizedDavidson< ScalarType, MV, OP >, Anasazi::IRTR< ScalarType, MV, OP >, and Anasazi::SIRTR< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Initialize the solver with the initial vectors from the eigenproblem or random data.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the current iteration count.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Reset the iteration count.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the Ritz vectors from the previous iteration. These are indexed using getRitzIndex().
For a description of the indexing scheme, see getRitzIndex().
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the Ritz values from the previous iteration.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the index used for indexing the compressed storage used for Ritz vectors for real, non-Hermitian problems.
index has length numVecs, where each entry is 0, +1, or -1. These have the following interpretation:
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the current residual norms.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the current residual 2-norms
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the 2-norms of the Ritz residuals.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the dimension of the search subspace used to generate the current eigenvectors and eigenvalues.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the maximum dimension allocated for the search subspace.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Set a new StatusTest for the solver.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the current StatusTest used by the solver.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get a constant reference to the eigenvalue problem.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the blocksize to be used by the iterative solver in solving this eigenproblem.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Set the blocksize to be used by the iterative solver in solving this eigenproblem.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Set the auxiliary vectors for the solver.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
Get the auxiliary vectors for the solver.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, and Anasazi::GeneralizedDavidson< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
States whether the solver has been initialized or not.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::GeneralizedDavidson< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, and Anasazi::BlockKrylovSchur< ScalarType, MV, OP >.
      
  | 
  pure virtual | 
This method requests that the solver print out its current status to screen.
Implemented in Anasazi::LOBPCG< ScalarType, MV, OP >, Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP >, Anasazi::RTRBase< ScalarType, MV, OP >, Anasazi::BlockDavidson< ScalarType, MV, OP >, Anasazi::BlockKrylovSchur< ScalarType, MV, OP >, Anasazi::GeneralizedDavidson< ScalarType, MV, OP >, Anasazi::IRTR< ScalarType, MV, OP >, and Anasazi::SIRTR< ScalarType, MV, OP >.
 1.8.5