Anasazi
Version of the Day
|
This class implements a TraceMin-Davidson iteration for solving symmetric generalized eigenvalue problems. More...
#include <AnasaziTraceMinDavidson.hpp>
Public Member Functions | |
TraceMinDavidson (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< MatOrthoManager< ScalarType, MV, OP > > &ortho, Teuchos::ParameterList ¶ms) | |
TraceMinBase constructor with eigenproblem, solver utilities, and parameter list of solver options. More... | |
Public Member Functions inherited from Anasazi::Experimental::TraceMinBase< ScalarType, MV, OP > | |
TraceMinBase (const RCP< Eigenproblem< ScalarType, MV, OP > > &problem, const RCP< SortManager< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > > &sorter, const RCP< OutputManager< ScalarType > > &printer, const RCP< StatusTest< ScalarType, MV, OP > > &tester, const RCP< MatOrthoManager< ScalarType, MV, OP > > &ortho, Teuchos::ParameterList ¶ms) | |
TraceMinBase constructor with eigenproblem, solver utilities, and parameter list of solver options. More... | |
virtual | ~TraceMinBase () |
Anasazi::TraceMinBase destructor. More... | |
void | iterate () |
This method performs trace minimization iterations until the status test indicates the need to stop or an error occurs (in which case, an appropriate exception is thrown). More... | |
void | harmonicIterate () |
void | initialize (TraceMinBaseState< ScalarType, MV > &newstate) |
Initialize the solver to an iterate, optionally providing the other members of the state. More... | |
void | harmonicInitialize (TraceMinBaseState< ScalarType, MV > newstate) |
void | initialize () |
Initialize the solver with the initial vectors from the eigenproblem or random data. More... | |
bool | isInitialized () const |
Indicates whether the solver has been initialized or not. More... | |
TraceMinBaseState< ScalarType, MV > | getState () const |
Get access to the current state of the eigensolver. More... | |
int | getNumIters () const |
Get the current iteration count. More... | |
void | resetNumIters () |
Reset the iteration count. More... | |
RCP< const MV > | getRitzVectors () |
Get access to the current Ritz vectors. More... | |
std::vector< Value< ScalarType > > | getRitzValues () |
Get the Ritz values for the previous iteration. More... | |
std::vector< int > | getRitzIndex () |
Get the index used for extracting individual Ritz vectors from getRitzVectors(). More... | |
std::vector< typename Teuchos::ScalarTraits < ScalarType >::magnitudeType > | getResNorms () |
Get the current residual norms, computing the norms if they are not up-to-date with the current residual vectors. More... | |
std::vector< typename Teuchos::ScalarTraits < ScalarType >::magnitudeType > | getRes2Norms () |
Get the current residual 2-norms, computing the norms if they are not up-to-date with the current residual vectors. More... | |
std::vector< typename Teuchos::ScalarTraits < ScalarType >::magnitudeType > | getRitzRes2Norms () |
Get the 2-norms of the residuals. More... | |
int | getCurSubspaceDim () const |
Get the dimension of the search subspace used to generate the current eigenvectors and eigenvalues. More... | |
int | getMaxSubspaceDim () const |
Get the maximum dimension allocated for the search subspace. For the trace minimization methods, this always returns numBlocks*blockSize. More... | |
void | setStatusTest (RCP< StatusTest< ScalarType, MV, OP > > test) |
Set a new StatusTest for the solver. More... | |
RCP< StatusTest< ScalarType, MV, OP > > | getStatusTest () const |
Get the current StatusTest used by the solver. More... | |
const Eigenproblem< ScalarType, MV, OP > & | getProblem () const |
Get a constant reference to the eigenvalue problem. More... | |
void | setBlockSize (int blockSize) |
Set the blocksize. More... | |
int | getBlockSize () const |
Get the blocksize used by the iterative solver. More... | |
void | setAuxVecs (const Teuchos::Array< RCP< const MV > > &auxvecs) |
Set the auxiliary vectors for the solver. More... | |
Teuchos::Array< RCP< const MV > > | getAuxVecs () const |
Get the auxiliary vectors for the solver. More... | |
void | setSize (int blockSize, int numBlocks) |
Set the blocksize and number of blocks to be used by the iterative solver in solving this eigenproblem. More... | |
void | currentStatus (std::ostream &os) |
This method requests that the solver print out its current status to the given output stream. More... | |
Public Member Functions inherited from Anasazi::Eigensolver< ScalarType, MV, OP > | |
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... | |
This class implements a TraceMin-Davidson iteration for solving symmetric generalized eigenvalue problems.
This method is described in The trace minimization method for the symmetric generalized eigenvalue problem, A. Sameh and Z. Tong, Journal of Computational and Applied Mathematics, 123, pp 155-175 (2000)
Definition at line 80 of file AnasaziTraceMinDavidson.hpp.
Anasazi::Experimental::TraceMinDavidson< ScalarType, MV, OP >::TraceMinDavidson | ( | 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< MatOrthoManager< ScalarType, MV, OP > > & | ortho, | ||
Teuchos::ParameterList & | params | ||
) |
TraceMinBase 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 (in addition to those of TraceMinBase):
int
specifying the block size used by the algorithm. This can also be specified using the setBlockSize() method.int
specifying the maximum number of blocks allocated for the solver basis. Definition at line 127 of file AnasaziTraceMinDavidson.hpp.