Anasazi
Version of the Day
|
This provides a basic implementation for defining standard or generalized eigenvalue problems. More...
#include <AnasaziBasicEigenproblem.hpp>
Public Member Functions | |
Constructors/Destructor | |
BasicEigenproblem () | |
Empty constructor - allows Anasazi::BasicEigenproblem to be described at a later time through "Set Methods". More... | |
BasicEigenproblem (const Teuchos::RCP< const OP > &Op, const Teuchos::RCP< MV > &InitVec) | |
Standard Eigenvalue Problem Constructor. More... | |
BasicEigenproblem (const Teuchos::RCP< const OP > &Op, const Teuchos::RCP< const OP > &B, const Teuchos::RCP< MV > &InitVec) | |
Generalized Eigenvalue Problem Constructor. More... | |
BasicEigenproblem (const BasicEigenproblem< ScalarType, MV, OP > &Problem) | |
Copy Constructor. More... | |
virtual | ~BasicEigenproblem () |
Destructor. More... | |
Set Methods | |
void | setOperator (const Teuchos::RCP< const OP > &Op) |
Set the operator for which eigenvalues will be computed. More... | |
void | setA (const Teuchos::RCP< const OP > &A) |
Set the operator A of the eigenvalue problem . More... | |
void | setM (const Teuchos::RCP< const OP > &M) |
Set the operator M of the eigenvalue problem . More... | |
void | setPrec (const Teuchos::RCP< const OP > &Prec) |
Set the preconditioner for this eigenvalue problem . More... | |
void | setInitVec (const Teuchos::RCP< MV > &InitVec) |
Set the initial guess. More... | |
void | setAuxVecs (const Teuchos::RCP< const MV > &AuxVecs) |
Set auxiliary vectors. More... | |
void | setNEV (int nev) |
Specify the number of eigenvalues (NEV) that are requested. More... | |
void | setHermitian (bool isSym) |
Specify the symmetry of this eigenproblem. More... | |
bool | setProblem () |
Specify that this eigenproblem is fully defined. More... | |
void | setSolution (const Eigensolution< ScalarType, MV > &sol) |
Set the solution to the eigenproblem. More... | |
Accessor Methods | |
Teuchos::RCP< const OP > | getOperator () const |
Get a pointer to the operator for which eigenvalues will be computed. More... | |
Teuchos::RCP< const OP > | getA () const |
Get a pointer to the operator A of the eigenproblem . More... | |
Teuchos::RCP< const OP > | getM () const |
Get a pointer to the operator M of the eigenproblem . More... | |
Teuchos::RCP< const OP > | getPrec () const |
Get a pointer to the preconditioner of the eigenproblem . More... | |
Teuchos::RCP< const MV > | getInitVec () const |
Get a pointer to the initial vector. More... | |
Teuchos::RCP< const MV > | getAuxVecs () const |
Get a pointer to the auxiliary vector. More... | |
int | getNEV () const |
Get the number of eigenvalues (NEV) that are required by this eigenproblem. More... | |
bool | isHermitian () const |
Get the symmetry information for this eigenproblem. More... | |
bool | isProblemSet () const |
If the problem has been set, this method will return true. More... | |
const Eigensolution < ScalarType, MV > & | getSolution () const |
Get the solution to the eigenproblem. More... | |
Apply / Compute Methods | |
Teuchos::RCP< const MV > | computeCurrResVec () const |
Returns the residual vector corresponding to the computed solution. More... | |
Public Member Functions inherited from Anasazi::Eigenproblem< ScalarType, MV, OP > | |
Eigenproblem () | |
Empty constructor. More... | |
virtual | ~Eigenproblem () |
Destructor. More... | |
Protected Types | |
typedef MultiVecTraits < ScalarType, MV > | MVT |
Type-definition for the MultiVecTraits class corresponding to the MV type. More... | |
typedef OperatorTraits < ScalarType, MV, OP > | OPT |
Type-definition for the OperatorTraits class corresponding to the OP type. More... | |
Protected Attributes | |
Teuchos::RCP< const OP > | _AOp |
Reference-counted pointer for A of the eigenproblem . More... | |
Teuchos::RCP< const OP > | _MOp |
Reference-counted pointer for M of the eigenproblem . More... | |
Teuchos::RCP< const OP > | _Op |
Reference-counted pointer for the operator of the eigenproblem . More... | |
Teuchos::RCP< const OP > | _Prec |
Reference-counted pointer for the preconditioner of the eigenproblem . More... | |
Teuchos::RCP< MV > | _InitVec |
Reference-counted pointer for the initial vector of the eigenproblem . More... | |
Teuchos::RCP< const MV > | _AuxVecs |
Reference-counted pointer for the auxiliary vector of the eigenproblem . More... | |
int | _nev |
Number of eigenvalues requested. More... | |
bool | _isSym |
Symmetry of the eigenvalue problem. More... | |
bool | _isSet |
Sanity Check Flag. More... | |
Eigensolution< ScalarType, MV > | _sol |
Solution to problem. More... | |
This provides a basic implementation for defining standard or generalized eigenvalue problems.
Definition at line 29 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Type-definition for the MultiVecTraits class corresponding to the MV
type.
Definition at line 213 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Type-definition for the OperatorTraits class corresponding to the OP
type.
Definition at line 215 of file AnasaziBasicEigenproblem.hpp.
Anasazi::BasicEigenproblem< ScalarType, MV, OP >::BasicEigenproblem | ( | ) |
Empty constructor - allows Anasazi::BasicEigenproblem to be described at a later time through "Set Methods".
Definition at line 226 of file AnasaziBasicEigenproblem.hpp.
Anasazi::BasicEigenproblem< ScalarType, MV, OP >::BasicEigenproblem | ( | const Teuchos::RCP< const OP > & | Op, |
const Teuchos::RCP< MV > & | InitVec | ||
) |
Standard Eigenvalue Problem Constructor.
Definition at line 236 of file AnasaziBasicEigenproblem.hpp.
Anasazi::BasicEigenproblem< ScalarType, MV, OP >::BasicEigenproblem | ( | const Teuchos::RCP< const OP > & | Op, |
const Teuchos::RCP< const OP > & | B, | ||
const Teuchos::RCP< MV > & | InitVec | ||
) |
Generalized Eigenvalue Problem Constructor.
Definition at line 248 of file AnasaziBasicEigenproblem.hpp.
Anasazi::BasicEigenproblem< ScalarType, MV, OP >::BasicEigenproblem | ( | const BasicEigenproblem< ScalarType, MV, OP > & | Problem | ) |
Copy Constructor.
Definition at line 262 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Destructor.
Definition at line 49 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Set the operator for which eigenvalues will be computed.
A
if a spectral transformation is employed. For example, this operator may apply the operation if you are looking for eigenvalues of A
around . Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 61 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Set the operator A
of the eigenvalue problem .
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 65 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Set the operator M
of the eigenvalue problem .
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 69 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Set the preconditioner for this eigenvalue problem .
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 73 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Set the initial guess.
This vector is required to create all the space needed by Anasazi to solve the eigenvalue problem.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 82 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Set auxiliary vectors.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 89 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Specify the number of eigenvalues (NEV) that are requested.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 92 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Specify the symmetry of this eigenproblem.
This knowledge may allow the solver to take advantage of the eigenproblems' symmetry. Some computational work can be avoided by setting this properly.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 98 of file AnasaziBasicEigenproblem.hpp.
|
virtual |
Specify that this eigenproblem is fully defined.
This routine serves multiple purpose:
This method reallocates internal storage, so that any previously retrieved references to internal storage (eigenvectors or eigenvalues) are invalidated.
true
signifies success, false
signifies error. Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 280 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
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.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 123 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Get a pointer to the operator for which eigenvalues will be computed.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 131 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Get a pointer to the operator A
of the eigenproblem .
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 134 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Get a pointer to the operator M
of the eigenproblem .
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 137 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Get a pointer to the preconditioner of the eigenproblem .
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 140 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Get a pointer to the initial vector.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 143 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Get a pointer to the auxiliary vector.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 146 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Get the number of eigenvalues (NEV) that are required by this eigenproblem.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 149 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
Get the symmetry information for this eigenproblem.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 152 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
If the problem has been set, this method will return true.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 155 of file AnasaziBasicEigenproblem.hpp.
|
inlinevirtual |
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.
Implements Anasazi::Eigenproblem< ScalarType, MV, OP >.
Definition at line 162 of file AnasaziBasicEigenproblem.hpp.
Teuchos::RCP< const MV > Anasazi::BasicEigenproblem< ScalarType, MV, OP >::computeCurrResVec | ( | ) | const |
Returns the residual vector corresponding to the computed solution.
If there is no computed solution, returns Teuchos::null.
Definition at line 310 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Reference-counted pointer for A
of the eigenproblem .
Definition at line 183 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Reference-counted pointer for M
of the eigenproblem .
Definition at line 186 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Reference-counted pointer for the operator of the eigenproblem .
Definition at line 189 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Reference-counted pointer for the preconditioner of the eigenproblem .
Definition at line 192 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Reference-counted pointer for the initial vector of the eigenproblem .
Definition at line 195 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Reference-counted pointer for the auxiliary vector of the eigenproblem .
Definition at line 198 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Number of eigenvalues requested.
Definition at line 201 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Symmetry of the eigenvalue problem.
M
is positive (semi) definite. Definition at line 207 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Sanity Check Flag.
Definition at line 210 of file AnasaziBasicEigenproblem.hpp.
|
protected |
Solution to problem.
Definition at line 218 of file AnasaziBasicEigenproblem.hpp.