Anasazi Version of the Day
Anasazi::IRTR< ScalarType, MV, OP > Class Template Reference

#include <AnasaziIRTR.hpp>

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

List of all members.

Public Member Functions

Constructor/Destructor
 IRTR (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)
 IRTR constructor with eigenproblem, solver utilities, and parameter list of solver options.
virtual ~IRTR ()
 IRTR 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::IRTR< ScalarType, MV, OP >

IRTR is a caching implementation of the Implicit Riemannian Trust-Region (IRTR) eigensolver.

The solver uses between 10 and 13 blocks of vectors, compared to the requirements by SIRTR of 6 to 8 blocks of vectors. The base requirement is 10 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 AnasaziIRTR.hpp.


Constructor & Destructor Documentation

template<class ScalarType , class MV , class OP >
Anasazi::IRTR< ScalarType, MV, OP >::IRTR ( 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 
)

IRTR 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 145 of file AnasaziIRTR.hpp.

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

IRTR destructor

Definition at line 72 of file AnasaziIRTR.hpp.


Member Function Documentation

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

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

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

Definition at line 692 of file AnasaziIRTR.hpp.

template<class ScalarType , class MV , class OP >
void Anasazi::IRTR< ScalarType, MV, OP >::currentStatus ( std::ostream &  os) [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 983 of file AnasaziIRTR.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends