10#ifndef TPETRA_APPLYOP_HPP 
   11#define TPETRA_APPLYOP_HPP 
   13#include "Tpetra_ConfigDefs.hpp" 
   14#include "Tpetra_Operator.hpp" 
   15#include "Tpetra_MultiVector.hpp" 
   45template <
class Scalar, 
class OperatorType>
 
   47                                        typename OperatorType::local_ordinal_type,
 
   48                                        typename OperatorType::global_ordinal_type,
 
   49                                        typename OperatorType::node_type> {
 
   73  ApplyOp(
const Teuchos::RCP<const OperatorType>& op)
 
 
   91        Teuchos::ETransp 
mode = Teuchos::NO_TRANS,
 
   92        Scalar alpha          = Teuchos::ScalarTraits<Scalar>::one(),
 
   93        Scalar beta           = Teuchos::ScalarTraits<Scalar>::zero())
 const {
 
 
  107  Teuchos::RCP<const Tpetra::Map<local_ordinal_type, global_ordinal_type, node_type> >
 
  113  Teuchos::RCP<const Tpetra::Map<local_ordinal_type, global_ordinal_type, node_type> >
 
 
Struct that holds views of the contents of a CrsMatrix.
 
Abstract interface for operators (e.g., matrices and preconditioners).
 
A class for wrapping an Operator apply in a Operator.
 
virtual ~ApplyOp()
Destructor.
 
ApplyOp(const Teuchos::RCP< const OperatorType > &op)
Constructor.
 
OperatorType::global_ordinal_type global_ordinal_type
The type of global indices in the input OperatorType.
 
Teuchos::RCP< const OperatorType > operator_
The underlying Operator object.
 
OperatorType::scalar_type scalar_type
The type of the entries of the input OperatorType.
 
OperatorType::local_ordinal_type local_ordinal_type
The type of local indices in the input OperatorType.
 
void apply(const Tpetra::MultiVector< Scalar, local_ordinal_type, global_ordinal_type, node_type > &X, Tpetra::MultiVector< Scalar, local_ordinal_type, global_ordinal_type, node_type > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const
Compute Y = beta*Y + alpha*Op(A)*X, where Op(A) is either A, , or .
 
Teuchos::RCP< const Tpetra::Map< local_ordinal_type, global_ordinal_type, node_type > > getDomainMap() const
The domain Map of this Operator.
 
Teuchos::RCP< const Tpetra::Map< local_ordinal_type, global_ordinal_type, node_type > > getRangeMap() const
The range Map of this Operator.
 
bool hasTransposeApply() const
Whether this Operator's apply() method can apply the transpose or conjugate transpose.
 
OperatorType::node_type node_type
The type of the Kokkos Node used by the input OperatorType.
 
Namespace Tpetra contains the class and methods constituting the Tpetra library.