Anasazi  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
List of all members
Anasazi::StatusTest< ScalarType, MV, OP > Class Template Referenceabstract

Common interface of stopping criteria for Anasazi's solvers. More...

#include <AnasaziStatusTestDecl.hpp>

Inheritance diagram for Anasazi::StatusTest< ScalarType, MV, OP >:
Anasazi::StatusTestCombo< ScalarType, MV, OP > Anasazi::StatusTestMaxIters< ScalarType, MV, OP > Anasazi::StatusTestOutput< ScalarType, MV, OP > Anasazi::StatusTestResNorm< ScalarType, MV, OP > Anasazi::StatusTestWithOrdering< ScalarType, MV, OP >

Public Member Functions

Constructors/destructors
 StatusTest ()
 Constructor. More...
 
virtual ~StatusTest ()
 Destructor. More...
 
Status methods
virtual TestStatus checkStatus (Eigensolver< ScalarType, MV, OP > *solver)=0
 
virtual TestStatus getStatus () const =0
 Return the result of the most recent checkStatus call, or undefined if it has not been run. More...
 
virtual std::vector< int > whichVecs () const =0
 Get the indices for the vectors that passed the test. More...
 
virtual int howMany () const =0
 Get the number of vectors that passed the test. More...
 
Reset methods
virtual void reset ()=0
 Informs the status test that it should reset its internal configuration to the uninitialized state. More...
 
virtual void clearStatus ()=0
 Clears the results of the last status test. More...
 
Print methods
virtual std::ostream & print (std::ostream &os, int indent=0) const =0
 Output formatted description of stopping test to output stream. More...
 

Detailed Description

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

Common interface of stopping criteria for Anasazi's solvers.

StatusTest is an interface that can be implemented to create convergence tests for all Anasazi solvers. Almost any kind of test can be expressed using this mechanism, including composite tests (see StatusTestCombo).

Examples:
LOBPCGCustomStatusTest.cpp.

Definition at line 75 of file AnasaziStatusTest.hpp.

Constructor & Destructor Documentation

template<class ScalarType , class MV , class OP >
Anasazi::StatusTest< ScalarType, MV, OP >::StatusTest ( )
inline

Constructor.

Definition at line 82 of file AnasaziStatusTest.hpp.

template<class ScalarType , class MV , class OP >
virtual Anasazi::StatusTest< ScalarType, MV, OP >::~StatusTest ( )
inlinevirtual

Destructor.

Definition at line 85 of file AnasaziStatusTest.hpp.

Member Function Documentation

template<class ScalarType , class MV , class OP >
virtual TestStatus Anasazi::StatusTest< ScalarType, MV, OP >::checkStatus ( Eigensolver< ScalarType, MV, OP > *  solver)
pure virtual
template<class ScalarType , class MV , class OP >
virtual TestStatus Anasazi::StatusTest< ScalarType, MV, OP >::getStatus ( ) const
pure virtual
template<class ScalarType , class MV , class OP >
virtual std::vector<int> Anasazi::StatusTest< ScalarType, MV, OP >::whichVecs ( ) const
pure virtual
template<class ScalarType , class MV , class OP >
virtual int Anasazi::StatusTest< ScalarType, MV, OP >::howMany ( ) const
pure virtual
template<class ScalarType , class MV , class OP >
virtual void Anasazi::StatusTest< ScalarType, MV, OP >::reset ( )
pure virtual

Informs the status test that it should reset its internal configuration to the uninitialized state.

This is necessary for the case when the status test is being reused by another solver or for another eigenvalue problem. The status test may have information that pertains to a particular problem or solver state. The internal information will be reset back to the uninitialized state. The user specified information that the convergence test uses will remain.

Implemented in Anasazi::StatusTestCombo< ScalarType, MV, OP >, Anasazi::StatusTestResNorm< ScalarType, MV, OP >, Anasazi::StatusTestOutput< ScalarType, MV, OP >, Anasazi::StatusTestMaxIters< ScalarType, MV, OP >, and Anasazi::StatusTestWithOrdering< ScalarType, MV, OP >.

Examples:
LOBPCGCustomStatusTest.cpp.
template<class ScalarType , class MV , class OP >
virtual void Anasazi::StatusTest< ScalarType, MV, OP >::clearStatus ( )
pure virtual

Clears the results of the last status test.

This should be distinguished from the reset() method, as it only clears the cached result from the last status test, so that a call to getStatus() will return Undefined. This is necessary for the SEQOR and SEQAND tests in the StatusTestCombo class, which may short circuit and not evaluate all of the StatusTests contained in them.

Implemented in Anasazi::StatusTestCombo< ScalarType, MV, OP >, Anasazi::StatusTestResNorm< ScalarType, MV, OP >, Anasazi::StatusTestOutput< ScalarType, MV, OP >, Anasazi::StatusTestMaxIters< ScalarType, MV, OP >, and Anasazi::StatusTestWithOrdering< ScalarType, MV, OP >.

Examples:
LOBPCGCustomStatusTest.cpp.
template<class ScalarType , class MV , class OP >
virtual std::ostream& Anasazi::StatusTest< ScalarType, MV, OP >::print ( std::ostream &  os,
int  indent = 0 
) const
pure virtual

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