Anasazi Version of the Day
Public Member Functions
Anasazi::EpetraOpMVGenOp Class Reference

Adapter class for creating a generalized operator to apply to an Anasazi::EpetraOpMultiVec. More...

#include <AnasaziSpecializedEpetraAdapter.hpp>

Inheritance diagram for Anasazi::EpetraOpMVGenOp:
Anasazi::Operator< double >

List of all members.

Public Member Functions

 EpetraOpMVGenOp (const Teuchos::RCP< Epetra_Operator > &AOp, const Teuchos::RCP< Epetra_Operator > &MOp, bool isAInverse=true)
 Basic constructor for applying operator $A^{-1}M$ [default] or $AM$.
 ~EpetraOpMVGenOp ()
 Destructor.
void Apply (const MultiVec< double > &X, MultiVec< double > &Y) const
 Apply method.

Detailed Description

Adapter class for creating a generalized operator to apply to an Anasazi::EpetraOpMultiVec.

This class will apply the operation $A^{-1}M$ [default] or $AM$, for the Apply method of the Epetra_Operator / Anasazi::Operator. The Anasazi::EpetraOpMVGenOp operator is useful when spectral transformations are used within eigensolvers. For instance, $A^{-1}M$ is a shift and invert spectral transformation commonly used with Anasazi::BlockKrylovSchur to compute the smallest-magnitude eigenvalues for the eigenproblem $Ax = \lambda Mx$.

Note:
The Epetra package performs double-precision arithmetic, so the use of Epetra with Anasazi will only provide a double-precision eigensolver.

Definition at line 352 of file AnasaziSpecializedEpetraAdapter.hpp.


Constructor & Destructor Documentation

Anasazi::EpetraOpMVGenOp::EpetraOpMVGenOp ( const Teuchos::RCP< Epetra_Operator > &  AOp,
const Teuchos::RCP< Epetra_Operator > &  MOp,
bool  isAInverse = true 
) [inline]

Basic constructor for applying operator $A^{-1}M$ [default] or $AM$.

If isAInverse is true this operator will apply $A^{-1}M$, else it will apply $AM$.

Definition at line 358 of file AnasaziSpecializedEpetraAdapter.hpp.

Anasazi::EpetraOpMVGenOp::~EpetraOpMVGenOp ( ) [inline]

Destructor.

Definition at line 366 of file AnasaziSpecializedEpetraAdapter.hpp.


Member Function Documentation

void Anasazi::EpetraOpMVGenOp::Apply ( const MultiVec< double > &  X,
MultiVec< double > &  Y 
) const [virtual]

Apply method.

This method will apply $A$ or $A^T$ to X, returning Y.

Implements Anasazi::Operator< double >.

Definition at line 312 of file AnasaziSpecializedEpetraAdapter.cpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends