Stokhos Package Browser (Single Doxygen Collection) Version of the Day
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Member Functions | 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]

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_MultiVectorgetMultiVector () const
 
Teuchos::RCP< Epetra_MultiVectorgetMultiVector ()
 
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_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.
 
- Public Member Functions inherited from Epetra_Operator
virtual ~Epetra_Operator ()
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 

Protected Attributes

std::string label
 Label for operator.
 
Teuchos::RCP< const Epetra_MultiVectormulti_vec
 Multi-vector.
 
Teuchos::RCP< Epetra_MultiVectornonconst_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_Mapdomain_map
 Domain map ( = number of columns of multi_vec)
 

Private Member Functions

 EpetraMultiVectorOperator (const EpetraMultiVectorOperator &)
 Private to prohibit copying.
 
EpetraMultiVectorOperatoroperator= (const EpetraMultiVectorOperator &)
 Private to prohibit copying.
 

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.

Definition at line 68 of file Stokhos_EpetraMultiVectorOperator.hpp.

Constructor & Destructor Documentation

◆ EpetraMultiVectorOperator() [1/3]

Stokhos::EpetraMultiVectorOperator::EpetraMultiVectorOperator ( const Teuchos::RCP< const Epetra_MultiVector > &  multi_vec,
bool  is_multi_vec_transposed 
)

Constructor.

Definition at line 48 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ EpetraMultiVectorOperator() [2/3]

Stokhos::EpetraMultiVectorOperator::EpetraMultiVectorOperator ( const Teuchos::RCP< Epetra_MultiVector > &  multi_vec,
bool  is_multi_vec_transposed 
)

Constructor.

Definition at line 63 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ ~EpetraMultiVectorOperator()

Stokhos::EpetraMultiVectorOperator::~EpetraMultiVectorOperator ( )
virtual

Destructor.

Definition at line 78 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ EpetraMultiVectorOperator() [3/3]

Stokhos::EpetraMultiVectorOperator::EpetraMultiVectorOperator ( const EpetraMultiVectorOperator )
private

Private to prohibit copying.

Member Function Documentation

◆ getMultiVector() [1/2]

Teuchos::RCP< const Epetra_MultiVector > Stokhos::EpetraMultiVectorOperator::getMultiVector ( ) const
inline

Definition at line 86 of file Stokhos_EpetraMultiVectorOperator.hpp.

◆ getMultiVector() [2/2]

Teuchos::RCP< Epetra_MultiVector > Stokhos::EpetraMultiVectorOperator::getMultiVector ( )
inline

Definition at line 89 of file Stokhos_EpetraMultiVectorOperator.hpp.

◆ SetUseTranspose()

int Stokhos::EpetraMultiVectorOperator::SetUseTranspose ( bool  UseTranspose)
virtual

Set to true if the transpose of the operator is requested.

Implements Epetra_Operator.

Definition at line 84 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ Apply()

int Stokhos::EpetraMultiVectorOperator::Apply ( const Epetra_MultiVector Input,
Epetra_MultiVector Result 
) const
virtual

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

Definition at line 96 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ ApplyInverse()

int Stokhos::EpetraMultiVectorOperator::ApplyInverse ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const
virtual

Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

Definition at line 112 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ NormInf()

double Stokhos::EpetraMultiVectorOperator::NormInf ( ) const
virtual

Returns an approximate infinity norm of the operator matrix.

Implements Epetra_Operator.

Definition at line 121 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ Label()

const char * Stokhos::EpetraMultiVectorOperator::Label ( ) const
virtual

Returns a character string describing the operator.

Implements Epetra_Operator.

Definition at line 140 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ UseTranspose()

bool Stokhos::EpetraMultiVectorOperator::UseTranspose ( ) const
virtual

Returns the current UseTranspose setting.

Implements Epetra_Operator.

Definition at line 147 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ HasNormInf()

bool Stokhos::EpetraMultiVectorOperator::HasNormInf ( ) const
virtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements Epetra_Operator.

Definition at line 156 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ Comm()

const Epetra_Comm & Stokhos::EpetraMultiVectorOperator::Comm ( ) const
virtual

Returns a reference to the Epetra_Comm communicator associated with this operator.

Implements Epetra_Operator.

Definition at line 163 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ OperatorDomainMap()

const Epetra_Map & Stokhos::EpetraMultiVectorOperator::OperatorDomainMap ( ) const
virtual

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

Implements Epetra_Operator.

Definition at line 169 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ OperatorRangeMap()

const Epetra_Map & Stokhos::EpetraMultiVectorOperator::OperatorRangeMap ( ) const
virtual

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

Implements Epetra_Operator.

Definition at line 178 of file Stokhos_EpetraMultiVectorOperator.cpp.

◆ operator=()

EpetraMultiVectorOperator & Stokhos::EpetraMultiVectorOperator::operator= ( const EpetraMultiVectorOperator )
private

Private to prohibit copying.

Member Data Documentation

◆ label

std::string Stokhos::EpetraMultiVectorOperator::label
protected

Label for operator.

Definition at line 152 of file Stokhos_EpetraMultiVectorOperator.hpp.

◆ multi_vec

Teuchos::RCP<const Epetra_MultiVector> Stokhos::EpetraMultiVectorOperator::multi_vec
protected

Multi-vector.

Definition at line 155 of file Stokhos_EpetraMultiVectorOperator.hpp.

◆ nonconst_multi_vec

Teuchos::RCP<Epetra_MultiVector> Stokhos::EpetraMultiVectorOperator::nonconst_multi_vec
protected

Non-const multi-vector.

Definition at line 158 of file Stokhos_EpetraMultiVectorOperator.hpp.

◆ is_multi_vec_transposed

bool Stokhos::EpetraMultiVectorOperator::is_multi_vec_transposed
protected

Whether the multivector is already transposed.

Definition at line 161 of file Stokhos_EpetraMultiVectorOperator.hpp.

◆ useTranspose

bool Stokhos::EpetraMultiVectorOperator::useTranspose
protected

Flag indicating whether transpose was selected.

Definition at line 164 of file Stokhos_EpetraMultiVectorOperator.hpp.

◆ domain_map

Teuchos::RCP<Epetra_Map> Stokhos::EpetraMultiVectorOperator::domain_map
protected

Domain map ( = number of columns of multi_vec)

Definition at line 167 of file Stokhos_EpetraMultiVectorOperator.hpp.


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