Anasazi  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
Anasazi::Experimental::TraceMinDavidson< ScalarType, MV, OP > Class Template Reference

This class implements a TraceMin-Davidson iteration for solving symmetric generalized eigenvalue problems. More...

#include <AnasaziTraceMinDavidson.hpp>

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

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 &params)
 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 &params)
 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 &params)
 Basic Constructor. More...
 
virtual ~Eigensolver ()
 Destructor. More...
 

Detailed Description

template<class ScalarType, class MV, class OP>
class Anasazi::Experimental::TraceMinDavidson< ScalarType, MV, OP >

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)

Author
Alicia Klinvex

Definition at line 80 of file AnasaziTraceMinDavidson.hpp.

Constructor & Destructor Documentation

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

  • "Block Size" - an int specifying the block size used by the algorithm. This can also be specified using the setBlockSize() method.
  • "Num Blocks" - an int specifying the maximum number of blocks allocated for the solver basis.

Definition at line 127 of file AnasaziTraceMinDavidson.hpp.


The documentation for this class was generated from the following file: