10#ifndef ANASAZI_EIGENPROBLEM_H
11#define ANASAZI_EIGENPROBLEM_H
20#include "Teuchos_SerialDenseMatrix.hpp"
21#include "Teuchos_RCP.hpp"
31 template<
class ScalarType,
class MV,
class OP>
59 virtual void setA(
const Teuchos::RCP<const OP> &
A ) = 0;
62 virtual void setM(
const Teuchos::RCP<const OP> &
M ) = 0;
65 virtual void setPrec(
const Teuchos::RCP<const OP> &
Prec ) = 0;
123 virtual Teuchos::RCP<const OP>
getA()
const = 0;
126 virtual Teuchos::RCP<const OP>
getM()
const = 0;
129 virtual Teuchos::RCP<const OP>
getPrec()
const = 0;
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
Types and exceptions used within Anasazi solvers and interfaces.
This class defines the interface required by an eigensolver and status test class to compute solution...
virtual Teuchos::RCP< const OP > getM() const =0
Get a pointer to the operator M of the eigenproblem .
virtual void setAuxVecs(const Teuchos::RCP< const MV > &AuxVecs)=0
Set auxiliary vectors.
virtual int getNEV() const =0
Get the number of eigenvalues (NEV) that are required by this eigenproblem.
virtual void setNEV(int nev)=0
The number of eigenvalues (NEV) that are requested.
virtual void setA(const Teuchos::RCP< const OP > &A)=0
Set the operator A of the eigenvalue problem .
virtual Teuchos::RCP< const MV > getInitVec() const =0
Get a pointer to the initial vector.
virtual void setM(const Teuchos::RCP< const OP > &M)=0
Set the operator M of the eigenvalue problem .
virtual Teuchos::RCP< const OP > getOperator() const =0
Get a pointer to the operator for which eigenvalues will be computed.
virtual Teuchos::RCP< const MV > getAuxVecs() const =0
Get a pointer to the auxiliary vector.
virtual ~Eigenproblem()
Destructor.
virtual void setPrec(const Teuchos::RCP< const OP > &Prec)=0
Set the preconditioner for this eigenvalue problem .
virtual void setOperator(const Teuchos::RCP< const OP > &Op)=0
Set the operator for which eigenvalues will be computed.
Eigenproblem()
Empty constructor.
virtual void setHermitian(bool isSym)=0
Specify the symmetry of the eigenproblem.
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.
virtual bool isHermitian() const =0
Get the symmetry information for this eigenproblem.
virtual bool setProblem()=0
Specify that this eigenproblem is fully defined.
virtual Teuchos::RCP< const OP > getA() const =0
Get a pointer to the operator A of the eigenproblem .
virtual void setInitVec(const Teuchos::RCP< MV > &InitVec)=0
Set the initial guess.
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.
Anasazi's templated virtual class for constructing an operator that can interface with the OperatorTr...
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.