Anasazi::EpetraSymOp Class Reference

Adapter class for creating a symmetric operator from an Epetra_Operator. More...

#include <AnasaziEpetraAdapter.hpp>

Inheritance diagram for Anasazi::EpetraSymOp:

Anasazi::Operator< double > Epetra_Operator List of all members.

Public Member Functions

 EpetraSymOp (const Teuchos::RCP< Epetra_Operator > &Op, bool isTrans=false)
 Basic constructor for applying operator $A^TA$ [default] or $AA^T$.
 ~EpetraSymOp ()
 Destructor.
void Apply (const MultiVec< double > &X, MultiVec< double > &Y) const
 Apply method [inherited from Anasazi::Operator class].
int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Apply method [inherited from Epetra_Operator class].
int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Apply inverse method [inherited from Epetra_Operator class].
const char * Label () const
 Returns a character string describing the operator.
bool UseTranspose () const
 Returns the current UseTranspose setting [always false for this operator].
int SetUseTranspose (bool UseTranspose)
 If set true, the transpose of this operator will be applied [not functional for this operator].
bool HasNormInf () const
 Returns true if this object can provide an approximate inf-norm [always false for this operator].
double NormInf () const
 Returns the infinity norm of the global matrix [not functional for this operator].
const Epetra_CommComm () const
 Returns the Epetra_Comm communicator associated with this operator.
const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this operator.
const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this operator.

Detailed Description

Adapter class for creating a symmetric operator from an Epetra_Operator.

This class will apply the operation $A^TA$ [default] or $AA^T$, for the Apply method of the Epetra_Operator / Anasazi::Operator. The Anasazi::EpetraSymOp operator is useful when trying to compute a few singular values of the operator $A$. The singular values are the square-root of the eigenvalues of $A^TA$ and $AA^T$.

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 391 of file AnasaziEpetraAdapter.hpp.


Constructor & Destructor Documentation

Anasazi::EpetraSymOp::EpetraSymOp ( const Teuchos::RCP< Epetra_Operator > &  Op,
bool  isTrans = false 
)

Basic constructor for applying operator $A^TA$ [default] or $AA^T$.

If isTrans is false this operator will apply $A^TA$, else it will apply $AA^T$.

Definition at line 385 of file AnasaziEpetraAdapter.cpp.

Anasazi::EpetraSymOp::~EpetraSymOp (  ) 

Destructor.

Definition at line 391 of file AnasaziEpetraAdapter.cpp.


Member Function Documentation

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

Apply method [inherited from Anasazi::Operator class].

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

Implements Anasazi::Operator< double >.

Definition at line 397 of file AnasaziEpetraAdapter.cpp.

int Anasazi::EpetraSymOp::Apply ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const [virtual]

Apply method [inherited from Epetra_Operator class].

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

Implements Epetra_Operator.

Definition at line 458 of file AnasaziEpetraAdapter.cpp.

int Anasazi::EpetraSymOp::ApplyInverse ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const [virtual]

Apply inverse method [inherited from Epetra_Operator class].

This method will apply $(A^TA)^{-1}$ or $(AA^T)^{-1}$ to X, returning Y.

Note:
This method is only defined if $A^{-1}$ is defined for the given Epetra_Operator.

Implements Epetra_Operator.

Definition at line 489 of file AnasaziEpetraAdapter.cpp.

const char* Anasazi::EpetraSymOp::Label (  )  const [inline, virtual]

Returns a character string describing the operator.

Implements Epetra_Operator.

Definition at line 418 of file AnasaziEpetraAdapter.hpp.

bool Anasazi::EpetraSymOp::UseTranspose (  )  const [inline, virtual]

Returns the current UseTranspose setting [always false for this operator].

Implements Epetra_Operator.

Definition at line 421 of file AnasaziEpetraAdapter.hpp.

int Anasazi::EpetraSymOp::SetUseTranspose ( bool  UseTranspose  )  [inline, virtual]

If set true, the transpose of this operator will be applied [not functional for this operator].

Implements Epetra_Operator.

Definition at line 424 of file AnasaziEpetraAdapter.hpp.

bool Anasazi::EpetraSymOp::HasNormInf (  )  const [inline, virtual]

Returns true if this object can provide an approximate inf-norm [always false for this operator].

Implements Epetra_Operator.

Definition at line 427 of file AnasaziEpetraAdapter.hpp.

double Anasazi::EpetraSymOp::NormInf (  )  const [inline, virtual]

Returns the infinity norm of the global matrix [not functional for this operator].

Implements Epetra_Operator.

Definition at line 430 of file AnasaziEpetraAdapter.hpp.

const Epetra_Comm& Anasazi::EpetraSymOp::Comm (  )  const [inline, virtual]

Returns the Epetra_Comm communicator associated with this operator.

Implements Epetra_Operator.

Definition at line 433 of file AnasaziEpetraAdapter.hpp.

const Epetra_Map& Anasazi::EpetraSymOp::OperatorDomainMap (  )  const [inline, virtual]

Returns the Epetra_Map object associated with the domain of this operator.

Implements Epetra_Operator.

Definition at line 436 of file AnasaziEpetraAdapter.hpp.

const Epetra_Map& Anasazi::EpetraSymOp::OperatorRangeMap (  )  const [inline, virtual]

Returns the Epetra_Map object associated with the range of this operator.

Implements Epetra_Operator.

Definition at line 439 of file AnasaziEpetraAdapter.hpp.


The documentation for this class was generated from the following files:
Generated on Tue Oct 20 12:45:19 2009 for Anasazi by doxygen 1.4.7