Anasazi::SIRTR< ScalarType, MV, OP > Class Template Reference
[Anasazi Eigensolver Framework]

#include <AnasaziSIRTR.hpp>

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

List of all members.

Public Member Functions

Constructor/Destructor

 SIRTR (const Teuchos::RCP< Eigenproblem< ScalarType, MV, OP > > &problem, const Teuchos::RCP< SortManager< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > > &sorter, const Teuchos::RCP< OutputManager< ScalarType > > &printer, const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &tester, const Teuchos::RCP< GenOrthoManager< ScalarType, MV, OP > > &ortho, Teuchos::ParameterList &params)
 SIRTR constructor with eigenproblem, solver utilities, and parameter list of solver options.
virtual ~SIRTR ()
 SIRTR destructor
Solver methods

void iterate ()
 Impemements Eigensolver. The outer IRTR iteration. See RTRBase::iterate().
Output methods

void currentStatus (std::ostream &os)
 Impemements Eigensolver. This method requests that the solver print out its current status to screen.

Detailed Description

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

SIRTR ("skinny IRTR") is a non-caching, lower-memory implementation of the Implicit Riemannian Trust-Region (IRTR) eigensolver.

The solver uses between 6 and 8 blocks of vectors, compared to the requirements by IRTR of 10 to 13 blocks of vectors. The base requirement is 6 blocks of vectors, where a block of vectors contains a number of vectors equal to the block size specified for the solver (see RTRBase::getBlockSize()). Additional blocks are required when solving a generalized eigenvalue problem or when using a preconditioiner.

For more information, see RTRBase.

Author:
Chris Baker

Definition at line 46 of file AnasaziSIRTR.hpp.


Constructor & Destructor Documentation

template<class ScalarType , class MV , class OP >
Anasazi::SIRTR< ScalarType, MV, OP >::SIRTR ( const Teuchos::RCP< Eigenproblem< ScalarType, MV, OP > > &  problem,
const Teuchos::RCP< SortManager< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > > &  sorter,
const Teuchos::RCP< OutputManager< ScalarType > > &  printer,
const Teuchos::RCP< StatusTest< ScalarType, MV, OP > > &  tester,
const Teuchos::RCP< GenOrthoManager< ScalarType, MV, OP > > &  ortho,
Teuchos::ParameterList params 
) [inline]

SIRTR constructor with eigenproblem, solver utilities, and parameter list of solver options.

This constructor takes pointers required by the eigensolver, in addition to a parameter list of options for the eigensolver. These options include the following:

  • "Rho Prime" - an MagnitudeType specifying the size of the implicit trust-region radius.
  • "Block Size" - an int specifying the block size used by the algorithm. This can also be specified using the setBlockSize() method.
  • "Leftmost" - a bool specifying whether the solver is computing the leftmost ("SR") or rightmost ("LR") eigenvalues. Default: true. This must be in accord with the SortManager pass to the constructor.
  • "Kappa Convergence" - a MagnitudeType specifing the rate of convergence for the linear convergence regime. Default: 0.1
  • "Theta Convergence" - a MagnitudeType specifing the order of convergence for the linear convergence regime. theta implies a convergence order of theta+1. Default: 1.0

Definition at line 142 of file AnasaziSIRTR.hpp.

template<class ScalarType , class MV , class OP >
virtual Anasazi::SIRTR< ScalarType, MV, OP >::~SIRTR (  )  [inline, virtual]

SIRTR destructor

Definition at line 72 of file AnasaziSIRTR.hpp.


Member Function Documentation

template<class ScalarType , class MV , class OP >
void Anasazi::SIRTR< ScalarType, MV, OP >::iterate (  )  [inline, virtual]

Impemements Eigensolver. The outer IRTR iteration. See RTRBase::iterate().

Implements Anasazi::RTRBase< ScalarType, MV, OP >.

Definition at line 708 of file AnasaziSIRTR.hpp.

template<class ScalarType , class MV , class OP >
void Anasazi::SIRTR< ScalarType, MV, OP >::currentStatus ( std::ostream &  os  )  [inline, virtual]

Impemements Eigensolver. This method requests that the solver print out its current status to screen.

Reimplemented from Anasazi::RTRBase< ScalarType, MV, OP >.

Definition at line 1033 of file AnasaziSIRTR.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
Generated on Wed Apr 13 09:57:00 2011 for Anasazi by  doxygen 1.6.3