Anasazi::Eigensolver< ScalarType, MV, OP > Class Template Reference

The Anasazi::Eigensolver is a templated virtual base class that defines the basic interface that any eigensolver will support. More...

#include <AnasaziEigensolver.hpp>

Inheritance diagram for Anasazi::Eigensolver< ScalarType, MV, OP >:

[legend]
List of all members.

Public Member Functions

Constructor/Destructor.
 Eigensolver (void)
 Default Constructor.
virtual ~Eigensolver (void)
 Destructor.
Accessor methods
virtual int GetNumIters () const =0
 Get the current iteration count.
virtual int GetNumRestarts () const =0
 Get the current restart count of the iteration method.
virtual int GetBlockSize () const =0
 Get the blocksize to be used by the iterative solver in solving this eigenproblem.
virtual Eigenproblem< ScalarType,
MV, OP > & 
GetEigenproblem () const =0
 Get a constant reference to the current linear problem, which may include a current solution.
Solver application methods.
virtual ReturnType solve ()=0
 This method uses information given to the eigensolver to compute approximate solutions to the specified eigenproblem.

Detailed Description

template<class ScalarType, class MV, class OP>
class Anasazi::Eigensolver< ScalarType, MV, OP >

The Anasazi::Eigensolver is a templated virtual base class that defines the basic interface that any eigensolver will support.

The Anasazi::Eigensolver class is responsible for providing the current solver information to the Anasazi::StatusTest object.


Member Function Documentation

template<class ScalarType, class MV, class OP>
virtual int Anasazi::Eigensolver< ScalarType, MV, OP >::GetNumRestarts  )  const [pure virtual]
 

Get the current restart count of the iteration method.

Some eigensolvers can perform restarts (i.e. Arnoldi) to reduce memory and orthogonalization costs. For other eigensolvers that don't perform restarts (i.e. LOBPCG), this is not a valid stopping criteria.

Implemented in Anasazi::BlockDavidson< ScalarType, MV, OP >, and Anasazi::BlockKrylovSchur< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual ReturnType Anasazi::Eigensolver< ScalarType, MV, OP >::solve  )  [pure virtual]
 

This method uses information given to the eigensolver to compute approximate solutions to the specified eigenproblem.

Returns:
Status of the solver on completion:
  • Ok - Eigensolver computed requested number of eigenvalues
  • Unconverged - Eigensolver reached maximum number of iterations/restarts before computing all requested eigenvalues
  • Failed - Numerical failure in eigensolver or bad input parameters

Implemented in Anasazi::BlockDavidson< ScalarType, MV, OP >, and Anasazi::BlockKrylovSchur< ScalarType, MV, OP >.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:41:36 2008 for Anasazi by doxygen 1.3.9.1