concepts::AnasaziES< ScalarT > Class Template Referenceabstract

#include <anasaziES.hh>

Inheritance diagram for concepts::AnasaziES< ScalarT >:
eigensolver::EigenSolver< ScalarT > concepts::OutputOperator

Public Types

typedef Anasazi::MultiVec< ScalarT > MV
 
typedef AnasaziMV< ScalarT > MV_C
 
typedef Anasazi::MultiVecTraits< ScalarT, MVMVT
 
typedef Anasazi::Operator< ScalarT > OP
 
typedef AnasaziOp< ScalarT > OP_C
 
enum  SolverType { BLOCK_KRYLOV_SCHUR, BLOCK_DAVIDSON, LOBPCG, RTR }
 
enum  State { INIT_PHASE, CONFIGURED_PHASE, SOLVED_PHASE }
 

Public Member Functions

 AnasaziES (SolverType solverType, concepts::Operator< ScalarT > &A)
 
virtual uint converged () const
 Returns the number of converged eigen pairs. More...
 
virtual uint converged () const=0
 Returns the number of converged eigen pairs. More...
 
virtual const concepts::Array< concepts::Vector< ScalarT > * > & getEF ()
 Returns an array with the eigen functions. More...
 
virtual const concepts::Array< ScalarT > & getEV ()
 Returns an array with the eigen values. More...
 
Teuchos::RCP< Anasazi::BasicEigenproblem< ScalarT, MV, OP > > getProblem ()
 
virtual uint iterations () const
 Returns the number of iterations. More...
 
virtual uint iterations () const=0
 Returns the number of iterations. More...
 
void setBlockSize (int blocksize=1)
 
void setConvergenceNorm (std::string norm="2")
 Convergence Norm. More...
 
void setConvTol (double tolerance)
 Convergence Tolerance. More...
 
void setHermitian (bool isHermite)
 
void setM (concepts::Operator< ScalarT > &M)
 
void setMaxLocked (int val)
 Max Locked. More...
 
void setMaxRestarts (int maxRestarts=100)
 
void setMode (std::string mode="LM")
 
void setNEV (int nev=3)
 
void setNumBlocks (int numBlocks)
 for Block Krylov Chur. More...
 
void setOrthogonalization (std::string mode="SVQB")
 BlockKrylovSchur: the desired orthogonalization: DGKS or SVQB. More...
 
bool setProblem ()
 initialises the problem with the specified parameters, and returns if the configuration is valid More...
 
void setRelConvTol (bool rct)
 Relative Convergence Tolerance. More...
 
void setVerbosity (int verbosity=Anasazi::Errors)
 
int solve ()
 
 ~AnasaziES ()
 

Public Attributes

virtual std::ostream &std::ostream &os const
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Private Attributes

Teuchos::RCP< OP_CA_
 
concepts::Array< concepts::Vector< ScalarT > * > efs_
 
concepts::Array< ScalarT > evs_
 
Teuchos::ParameterList myPL_
 
Teuchos::RCP< Anasazi::BasicEigenproblem< ScalarT, MV, OP > > myProblem_
 
State phase_
 
Teuchos::RCP< Anasazi::SolverManager< ScalarT, MV, OP > > solver_
 
SolverType solverType_
 

Detailed Description

template<class ScalarT>
class concepts::AnasaziES< ScalarT >

Definition at line 17 of file anasaziES.hh.

Member Typedef Documentation

◆ MV

template<class ScalarT >
typedef Anasazi::MultiVec<ScalarT> concepts::AnasaziES< ScalarT >::MV

Definition at line 22 of file anasaziES.hh.

◆ MV_C

template<class ScalarT >
typedef AnasaziMV<ScalarT> concepts::AnasaziES< ScalarT >::MV_C

Definition at line 24 of file anasaziES.hh.

◆ MVT

template<class ScalarT >
typedef Anasazi::MultiVecTraits<ScalarT, MV> concepts::AnasaziES< ScalarT >::MVT

Definition at line 26 of file anasaziES.hh.

◆ OP

template<class ScalarT >
typedef Anasazi::Operator<ScalarT> concepts::AnasaziES< ScalarT >::OP

Definition at line 23 of file anasaziES.hh.

◆ OP_C

template<class ScalarT >
typedef AnasaziOp<ScalarT> concepts::AnasaziES< ScalarT >::OP_C

Definition at line 25 of file anasaziES.hh.

Member Enumeration Documentation

◆ SolverType

template<class ScalarT >
enum concepts::AnasaziES::SolverType
Enumerator
BLOCK_KRYLOV_SCHUR 
BLOCK_DAVIDSON 
LOBPCG 
RTR 

Definition at line 20 of file anasaziES.hh.

◆ State

template<class ScalarT >
enum concepts::AnasaziES::State
Enumerator
INIT_PHASE 
CONFIGURED_PHASE 
SOLVED_PHASE 

Definition at line 19 of file anasaziES.hh.

Constructor & Destructor Documentation

◆ AnasaziES()

template<class ScalarT >
concepts::AnasaziES< ScalarT >::AnasaziES ( SolverType  solverType,
concepts::Operator< ScalarT > &  A 
)

◆ ~AnasaziES()

template<class ScalarT >
concepts::AnasaziES< ScalarT >::~AnasaziES ( )
inline

Definition at line 32 of file anasaziES.hh.

Member Function Documentation

◆ converged() [1/2]

template<class ScalarT >
virtual uint concepts::AnasaziES< ScalarT >::converged ( ) const
inlinevirtual

Returns the number of converged eigen pairs.

Definition at line 180 of file anasaziES.hh.

◆ converged() [2/2]

virtual uint eigensolver::EigenSolver< ScalarT >::converged
pure virtualinherited

Returns the number of converged eigen pairs.

◆ getEF()

template<class ScalarT >
virtual const concepts::Array<concepts::Vector<ScalarT>*>& concepts::AnasaziES< ScalarT >::getEF ( )
inlinevirtual

Returns an array with the eigen functions.

Implements eigensolver::EigenSolver< ScalarT >.

Definition at line 169 of file anasaziES.hh.

◆ getEV()

template<class ScalarT >
virtual const concepts::Array<ScalarT>& concepts::AnasaziES< ScalarT >::getEV ( )
inlinevirtual

Returns an array with the eigen values.

Implements eigensolver::EigenSolver< ScalarT >.

Definition at line 159 of file anasaziES.hh.

◆ getProblem()

template<class ScalarT >
Teuchos::RCP< Anasazi::BasicEigenproblem<ScalarT, MV, OP> > concepts::AnasaziES< ScalarT >::getProblem ( )
inline

Definition at line 197 of file anasaziES.hh.

◆ info()

virtual std::ostream& eigensolver::EigenSolver< ScalarT >::info ( std::ostream &  os) const
protectedvirtualinherited

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ iterations() [1/2]

template<class ScalarT >
virtual uint concepts::AnasaziES< ScalarT >::iterations ( ) const
inlinevirtual

Returns the number of iterations.

Definition at line 190 of file anasaziES.hh.

◆ iterations() [2/2]

virtual uint eigensolver::EigenSolver< ScalarT >::iterations
pure virtualinherited

Returns the number of iterations.

◆ setBlockSize()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setBlockSize ( int  blocksize = 1)
inline

Definition at line 47 of file anasaziES.hh.

◆ setConvergenceNorm()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setConvergenceNorm ( std::string  norm = "2")
inline

Convergence Norm.

Block Davidson: a string specifying the norm for convergence testing: "2" or "M"

Definition at line 145 of file anasaziES.hh.

◆ setConvTol()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setConvTol ( double  tolerance)
inline

Convergence Tolerance.

MagnitudeType specifying the level that residual norms must reach to decide convergence. Default: machine precision.

Definition at line 129 of file anasaziES.hh.

◆ setHermitian()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setHermitian ( bool  isHermite)
inline

Definition at line 41 of file anasaziES.hh.

◆ setM()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setM ( concepts::Operator< ScalarT > &  M)
inline

Definition at line 36 of file anasaziES.hh.

◆ setMaxLocked()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setMaxLocked ( int  val)
inline

Max Locked.

Block Davidson: a int specifying the maximum number of eigenpairs to be locked. Default: problem->getNEV()

Definition at line 153 of file anasaziES.hh.

◆ setMaxRestarts()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setMaxRestarts ( int  maxRestarts = 100)
inline

Definition at line 121 of file anasaziES.hh.

◆ setMode()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setMode ( std::string  mode = "LM")
inline

Definition at line 108 of file anasaziES.hh.

◆ setNEV()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setNEV ( int  nev = 3)
inline

Definition at line 56 of file anasaziES.hh.

◆ setNumBlocks()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setNumBlocks ( int  numBlocks)
inline

for Block Krylov Chur.

Anasazi default: 3 * nev

Definition at line 116 of file anasaziES.hh.

◆ setOrthogonalization()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setOrthogonalization ( std::string  mode = "SVQB")
inline

BlockKrylovSchur: the desired orthogonalization: DGKS or SVQB.

Definition at line 93 of file anasaziES.hh.

◆ setProblem()

template<class ScalarT >
bool concepts::AnasaziES< ScalarT >::setProblem ( )

initialises the problem with the specified parameters, and returns if the configuration is valid

Precondition
: phase is INIT_PHASE or CONFIGURED_PHASE
Postcondition
: phase is CONFIGURED_PHASE or error occured (return != 0)

◆ setRelConvTol()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setRelConvTol ( bool  rct)
inline

Relative Convergence Tolerance.

a bool specifying whether residuals norms should be scaled by their eigenvalues for the purposing of deciding convergence. Default: true

Definition at line 138 of file anasaziES.hh.

◆ setVerbosity()

template<class ScalarT >
void concepts::AnasaziES< ScalarT >::setVerbosity ( int  verbosity = Anasazi::Errors)
inline

Definition at line 87 of file anasaziES.hh.

◆ solve()

template<class ScalarT >
int concepts::AnasaziES< ScalarT >::solve ( )

Member Data Documentation

◆ A_

template<class ScalarT >
Teuchos::RCP<OP_C> concepts::AnasaziES< ScalarT >::A_
private

Definition at line 208 of file anasaziES.hh.

◆ const

template<class ScalarT >
virtual std::ostream& std::ostream& os concepts::AnasaziES< ScalarT >::const
Initial value:
{
return os << concepts::typeOf(*this) << " in state " << (int)phase_

Definition at line 203 of file anasaziES.hh.

◆ efs_

template<class ScalarT >
concepts::Array<concepts::Vector<ScalarT>*> concepts::AnasaziES< ScalarT >::efs_
private

Definition at line 216 of file anasaziES.hh.

◆ evs_

template<class ScalarT >
concepts::Array<ScalarT> concepts::AnasaziES< ScalarT >::evs_
private

Definition at line 215 of file anasaziES.hh.

◆ myPL_

template<class ScalarT >
Teuchos::ParameterList concepts::AnasaziES< ScalarT >::myPL_
private

Definition at line 211 of file anasaziES.hh.

◆ myProblem_

template<class ScalarT >
Teuchos::RCP< Anasazi::BasicEigenproblem<ScalarT, MV, OP> > concepts::AnasaziES< ScalarT >::myProblem_
private

Definition at line 209 of file anasaziES.hh.

◆ phase_

template<class ScalarT >
State concepts::AnasaziES< ScalarT >::phase_
private

Definition at line 218 of file anasaziES.hh.

◆ solver_

template<class ScalarT >
Teuchos::RCP< Anasazi::SolverManager<ScalarT, MV, OP> > concepts::AnasaziES< ScalarT >::solver_
private

Definition at line 213 of file anasaziES.hh.

◆ solverType_

template<class ScalarT >
SolverType concepts::AnasaziES< ScalarT >::solverType_
private

Definition at line 219 of file anasaziES.hh.


The documentation for this class was generated from the following file:
std::string typeOf(const T &t)
Return the typeid name of a class object.
Definition: output.hh:43
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich