Anasazi Version of the Day
Loading...
Searching...
No Matches
AnasaziEigenproblem.hpp
Go to the documentation of this file.
1// @HEADER
2// *****************************************************************************
3// Anasazi: Block Eigensolvers Package
4//
5// Copyright 2004 NTESS and the Anasazi contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef ANASAZI_EIGENPROBLEM_H
11#define ANASAZI_EIGENPROBLEM_H
12
18#include "AnasaziConfigDefs.hpp"
19#include "AnasaziTypes.hpp"
20#include "Teuchos_SerialDenseMatrix.hpp"
21#include "Teuchos_RCP.hpp"
22
23
29namespace Anasazi {
30
31 template<class ScalarType, class MV, class OP>
33
34 public:
35
37
38
41
43 virtual ~Eigenproblem() {};
45
47
48
56 virtual void setOperator( const Teuchos::RCP<const OP> &Op ) = 0;
57
59 virtual void setA( const Teuchos::RCP<const OP> &A ) = 0;
60
62 virtual void setM( const Teuchos::RCP<const OP> &M ) = 0;
63
65 virtual void setPrec( const Teuchos::RCP<const OP> &Prec ) = 0;
66
71 virtual void setInitVec( const Teuchos::RCP<MV> &InitVec ) = 0;
72
79 virtual void setAuxVecs( const Teuchos::RCP<const MV> &AuxVecs ) = 0;
80
82 virtual void setNEV( int nev ) = 0;
83
89 virtual void setHermitian( bool isSym ) = 0;
90
104 virtual bool setProblem() = 0;
105
113
115
117
118
120 virtual Teuchos::RCP<const OP> getOperator() const = 0;
121
123 virtual Teuchos::RCP<const OP> getA() const = 0;
124
126 virtual Teuchos::RCP<const OP> getM() const = 0;
127
129 virtual Teuchos::RCP<const OP> getPrec() const = 0;
130
132 virtual Teuchos::RCP<const MV> getInitVec() const = 0;
133
135 virtual Teuchos::RCP<const MV> getAuxVecs() const = 0;
136
138 virtual int getNEV() const = 0;
139
141 virtual bool isHermitian() const = 0;
142
144 virtual bool isProblemSet() const = 0;
145
151 virtual const Eigensolution<ScalarType,MV> & getSolution() const = 0;
152
154 };
155
156} // end Anasazi namespace
157#endif
158
159// end AnasaziEigenproblem.hpp
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.