Stokhos  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | Protected Attributes | List of all members
Stokhos::EpetraMultiVectorOperator Class Reference

An adaptor that supplies the operator interface to a multi-vector. More...

#include <Stokhos_EpetraMultiVectorOperator.hpp>

Inheritance diagram for Stokhos::EpetraMultiVectorOperator:
Inheritance graph
[legend]
Collaboration diagram for Stokhos::EpetraMultiVectorOperator:
Collaboration graph
[legend]

Public Member Functions

 EpetraMultiVectorOperator (const Teuchos::RCP< const Epetra_MultiVector > &multi_vec, bool is_multi_vec_transposed)
 Constructor.
 
 EpetraMultiVectorOperator (const Teuchos::RCP< Epetra_MultiVector > &multi_vec, bool is_multi_vec_transposed)
 Constructor.
 
virtual ~EpetraMultiVectorOperator ()
 Destructor.
 
Teuchos::RCP< const
Epetra_MultiVector > 
getMultiVector () const
 
Teuchos::RCP< Epetra_MultiVector > getMultiVector ()
 
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested.
 
virtual int Apply (const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.
 
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix.
 
virtual const char * Label () const
 Returns a character string describing the operator.
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting.
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise.
 
virtual const Epetra_Comm & Comm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
 
virtual const Epetra_Map & OperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
 
virtual const Epetra_Map & OperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.
 

Protected Attributes

std::string label
 Label for operator.
 
Teuchos::RCP< const
Epetra_MultiVector > 
multi_vec
 Multi-vector.
 
Teuchos::RCP< Epetra_MultiVector > nonconst_multi_vec
 Non-const multi-vector.
 
bool is_multi_vec_transposed
 Whether the multivector is already transposed.
 
bool useTranspose
 Flag indicating whether transpose was selected.
 
Teuchos::RCP< Epetra_Map > domain_map
 Domain map ( = number of columns of multi_vec)
 

Detailed Description

An adaptor that supplies the operator interface to a multi-vector.

Supplies the operator interface for the operator C = op(A)*B where A, B, and C are multi-vectors, and op() is the identity or transpose operator. The convention is when the transpose is not requested, A is treated as a row-oriented multi-vector and therefore the domain map is the map of A. The corresponding range map is a local map of size given by the number of vectors When the transpose is selected, these are reversed.

This should really live somewhere else as it has nothing to do with Stokhos.


The documentation for this class was generated from the following files: