|
Anasazi
Version of the Day
|
Go to the documentation of this file.
42 #ifndef ANASAZI_EIGENPROBLEM_H
43 #define ANASAZI_EIGENPROBLEM_H
52 #include "Teuchos_SerialDenseMatrix.hpp"
53 #include "Teuchos_RCP.hpp"
63 template<
class ScalarType,
class MV,
class OP>
88 virtual void setOperator(
const Teuchos::RCP<const OP> &Op ) = 0;
91 virtual void setA(
const Teuchos::RCP<const OP> &A ) = 0;
94 virtual void setM(
const Teuchos::RCP<const OP> &M ) = 0;
97 virtual void setPrec(
const Teuchos::RCP<const OP> &Prec ) = 0;
103 virtual void setInitVec(
const Teuchos::RCP<MV> &InitVec ) = 0;
111 virtual void setAuxVecs(
const Teuchos::RCP<const MV> &AuxVecs ) = 0;
114 virtual void setNEV(
int nev ) = 0;
152 virtual Teuchos::RCP<const OP>
getOperator()
const = 0;
155 virtual Teuchos::RCP<const OP>
getA()
const = 0;
158 virtual Teuchos::RCP<const OP>
getM()
const = 0;
161 virtual Teuchos::RCP<const OP>
getPrec()
const = 0;
164 virtual Teuchos::RCP<const MV>
getInitVec()
const = 0;
167 virtual Teuchos::RCP<const MV>
getAuxVecs()
const = 0;
170 virtual int getNEV()
const = 0;
virtual bool isHermitian() const =0
Get the symmetry information for this eigenproblem.
virtual Teuchos::RCP< const OP > getM() const =0
Get a pointer to the operator M of the eigenproblem .
Types and exceptions used within Anasazi solvers and interfaces.
virtual void setA(const Teuchos::RCP< const OP > &A)=0
Set the operator A of the eigenvalue problem .
virtual bool setProblem()=0
Specify that this eigenproblem is fully defined.
virtual void setInitVec(const Teuchos::RCP< MV > &InitVec)=0
Set the initial guess.
virtual void setHermitian(bool isSym)=0
Specify the symmetry of the eigenproblem.
virtual void setOperator(const Teuchos::RCP< const OP > &Op)=0
Set the operator for which eigenvalues will be computed.
virtual void setNEV(int nev)=0
The number of eigenvalues (NEV) that are requested.
virtual void setPrec(const Teuchos::RCP< const OP > &Prec)=0
Set the preconditioner for this eigenvalue problem .
virtual int getNEV() const =0
Get the number of eigenvalues (NEV) that are required by this eigenproblem.
virtual Teuchos::RCP< const MV > getInitVec() const =0
Get a pointer to the initial vector.
virtual bool isProblemSet() const =0
If the problem has been set, this method will return true.
virtual Teuchos::RCP< const OP > getPrec() const =0
Get a pointer to the preconditioner.
virtual Teuchos::RCP< const OP > getOperator() const =0
Get a pointer to the operator for which eigenvalues will be computed.
Eigenproblem()
Empty constructor.
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.
virtual void setAuxVecs(const Teuchos::RCP< const MV > &AuxVecs)=0
Set auxiliary vectors.
This class defines the interface required by an eigensolver and status test class to compute solution...
virtual ~Eigenproblem()
Destructor.
virtual const Eigensolution< ScalarType, MV > & getSolution() const =0
Get the solution to the eigenproblem.
virtual void setSolution(const Eigensolution< ScalarType, MV > &sol)=0
Set the solution to the eigenproblem.
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
virtual void setM(const Teuchos::RCP< const OP > &M)=0
Set the operator M of the eigenvalue problem .
virtual Teuchos::RCP< const OP > getA() const =0
Get a pointer to the operator A of the eigenproblem .
Struct for storing an eigenproblem solution.
virtual Teuchos::RCP< const MV > getAuxVecs() const =0
Get a pointer to the auxiliary vector.