Anasazi::Eigenproblem< ScalarType, MV, OP > Class Template Reference

This class defines the interface required by an eigensolver and status test class to compute solutions to an eigenproblem. More...

#include <AnasaziEigenproblem.hpp>

Inheritance diagram for Anasazi::Eigenproblem< ScalarType, MV, OP >:

Anasazi::BasicEigenproblem< ScalarType, MV, OP > List of all members.

Public Member Functions

Constructors/Destructor
 Eigenproblem ()
 Empty constructor.
virtual ~Eigenproblem ()
 Destructor.
Set Methods
virtual void setOperator (const Teuchos::RCP< const OP > &Op)=0
 Set the operator for which eigenvalues will be computed.
virtual void setA (const Teuchos::RCP< const OP > &A)=0
 Set the operator A of the eigenvalue problem $Ax=\lambda Mx$.
virtual void setM (const Teuchos::RCP< const OP > &M)=0
 Set the operator M of the eigenvalue problem $Ax=\lambda Mx$.
virtual void setPrec (const Teuchos::RCP< const OP > &Prec)=0
 Set the preconditioner for this eigenvalue problem $Ax=\lambda Mx$.
virtual void setInitVec (const Teuchos::RCP< MV > &InitVec)=0
 Set the initial guess.
virtual void setAuxVecs (const Teuchos::RCP< const MV > &AuxVecs)=0
 Set auxiliary vectors.
virtual void setNEV (int nev)=0
 The number of eigenvalues (NEV) that are requested.
virtual void setHermitian (bool isSym)=0
 Specify the symmetry of the eigenproblem.
virtual bool setProblem ()=0
 Specify that this eigenproblem is fully defined.
virtual void setSolution (const Eigensolution< ScalarType, MV > &sol)=0
 Set the solution to the eigenproblem.
Accessor Methods
virtual Teuchos::RCP< const
OP > 
getOperator () const =0
 Get a pointer to the operator for which eigenvalues will be computed.
virtual Teuchos::RCP< const
OP > 
getA () const =0
 Get a pointer to the operator A of the eigenproblem $AX=\lambda Mx$.
virtual Teuchos::RCP< const
OP > 
getM () const =0
 Get a pointer to the operator M of the eigenproblem $AX=\lambda Mx$.
virtual Teuchos::RCP< const
OP > 
getPrec () const =0
 Get a pointer to the preconditioner.
virtual Teuchos::RCP< const
MV > 
getInitVec () const =0
 Get a pointer to the initial vector.
virtual Teuchos::RCP< const
MV > 
getAuxVecs () const =0
 Get a pointer to the auxiliary vector.
virtual int getNEV () const =0
 Get the number of eigenvalues (NEV) that are required by this eigenproblem.
virtual bool isHermitian () const =0
 Get the symmetry information for this eigenproblem.
virtual bool isProblemSet () const =0
 If the problem has been set, this method will return true.
virtual const Eigensolution<
ScalarType, MV > & 
getSolution () const =0
 Get the solution to the eigenproblem.

Detailed Description

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

This class defines the interface required by an eigensolver and status test class to compute solutions to an eigenproblem.

Definition at line 51 of file AnasaziEigenproblem.hpp.


Constructor & Destructor Documentation

template<class ScalarType, class MV, class OP>
Anasazi::Eigenproblem< ScalarType, MV, OP >::Eigenproblem (  )  [inline]

Empty constructor.

Definition at line 59 of file AnasaziEigenproblem.hpp.

template<class ScalarType, class MV, class OP>
virtual Anasazi::Eigenproblem< ScalarType, MV, OP >::~Eigenproblem (  )  [inline, virtual]

Destructor.

Definition at line 62 of file AnasaziEigenproblem.hpp.


Member Function Documentation

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setOperator ( const Teuchos::RCP< const OP > &  Op  )  [pure virtual]

Set the operator for which eigenvalues will be computed.

Note:
This may be different from the A if a spectral transformation is employed. For example, this operator may apply the operation $(A-\sigma I)^{-1}$ if you are looking for eigenvalues of A around $\sigma$.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setA ( const Teuchos::RCP< const OP > &  A  )  [pure virtual]

Set the operator A of the eigenvalue problem $Ax=\lambda Mx$.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setM ( const Teuchos::RCP< const OP > &  M  )  [pure virtual]

Set the operator M of the eigenvalue problem $Ax=\lambda Mx$.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setPrec ( const Teuchos::RCP< const OP > &  Prec  )  [pure virtual]

Set the preconditioner for this eigenvalue problem $Ax=\lambda Mx$.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setInitVec ( const Teuchos::RCP< MV > &  InitVec  )  [pure virtual]

Set the initial guess.

Note:
This multivector should have the same number of columns as the blocksize.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setAuxVecs ( const Teuchos::RCP< const MV > &  AuxVecs  )  [pure virtual]

Set auxiliary vectors.

Note:
This multivector can have any number of columns, and most likely will contain vectors that will be used by the eigensolver to orthogonalize against.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setNEV ( int  nev  )  [pure virtual]

The number of eigenvalues (NEV) that are requested.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setHermitian ( bool  isSym  )  [pure virtual]

Specify the symmetry of the eigenproblem.

This knowledge may allow the solver to take advantage of the eigenproblems' symmetry. Some computational work may be avoided by setting this properly.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual bool Anasazi::Eigenproblem< ScalarType, MV, OP >::setProblem (  )  [pure virtual]

Specify that this eigenproblem is fully defined.

This routine serves multiple purpose:

Note:
The user MUST call this routine before they send the eigenproblem to any solver or solver manager.
Returns:
true signifies success, false signifies error.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual void Anasazi::Eigenproblem< ScalarType, MV, OP >::setSolution ( const Eigensolution< ScalarType, MV > &  sol  )  [pure virtual]

Set the solution to the eigenproblem.

This mechanism allows an Eigensolution struct to be associated with an Eigenproblem object. setSolution() is usually called by a solver manager at the end of its SolverManager::solve() routine.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const OP> Anasazi::Eigenproblem< ScalarType, MV, OP >::getOperator (  )  const [pure virtual]

Get a pointer to the operator for which eigenvalues will be computed.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const OP> Anasazi::Eigenproblem< ScalarType, MV, OP >::getA (  )  const [pure virtual]

Get a pointer to the operator A of the eigenproblem $AX=\lambda Mx$.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const OP> Anasazi::Eigenproblem< ScalarType, MV, OP >::getM (  )  const [pure virtual]

Get a pointer to the operator M of the eigenproblem $AX=\lambda Mx$.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const OP> Anasazi::Eigenproblem< ScalarType, MV, OP >::getPrec (  )  const [pure virtual]

Get a pointer to the preconditioner.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const MV> Anasazi::Eigenproblem< ScalarType, MV, OP >::getInitVec (  )  const [pure virtual]

Get a pointer to the initial vector.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual Teuchos::RCP<const MV> Anasazi::Eigenproblem< ScalarType, MV, OP >::getAuxVecs (  )  const [pure virtual]

Get a pointer to the auxiliary vector.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual int Anasazi::Eigenproblem< ScalarType, MV, OP >::getNEV (  )  const [pure virtual]

Get the number of eigenvalues (NEV) that are required by this eigenproblem.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual bool Anasazi::Eigenproblem< ScalarType, MV, OP >::isHermitian (  )  const [pure virtual]

Get the symmetry information for this eigenproblem.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual bool Anasazi::Eigenproblem< ScalarType, MV, OP >::isProblemSet (  )  const [pure virtual]

If the problem has been set, this method will return true.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.

template<class ScalarType, class MV, class OP>
virtual const Eigensolution<ScalarType,MV>& Anasazi::Eigenproblem< ScalarType, MV, OP >::getSolution (  )  const [pure virtual]

Get the solution to the eigenproblem.

There is no computation associated with this method. It only provides a mechanism for associating an Eigensolution with a Eigenproblem.

Implemented in Anasazi::BasicEigenproblem< ScalarType, MV, OP >.


The documentation for this class was generated from the following file:
Generated on Wed May 12 21:40:24 2010 for Anasazi by  doxygen 1.4.7