#include <AnasaziSIRTR.hpp>
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 ¶ms) | |
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. |
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.
Definition at line 46 of file AnasaziSIRTR.hpp.
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:
MagnitudeType
specifying the size of the implicit trust-region radius.int
specifying the block size used by the algorithm. This can also be specified using the setBlockSize() method.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.MagnitudeType
specifing the rate of convergence for the linear convergence regime. Default: 0.1MagnitudeType
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.
virtual Anasazi::SIRTR< ScalarType, MV, OP >::~SIRTR | ( | ) | [inline, virtual] |
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 1010 of file AnasaziSIRTR.hpp.
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 686 of file AnasaziSIRTR.hpp.