42 #ifndef TPETRA_APPLYOP_HPP 
   43 #define TPETRA_APPLYOP_HPP 
   45 #include "Tpetra_ConfigDefs.hpp" 
   46 #include "Tpetra_Operator.hpp" 
   47 #include "Tpetra_MultiVector.hpp" 
   77     template <
class Scalar, 
class OperatorType>
 
   80                               typename OperatorType::local_ordinal_type,
 
   81                               typename OperatorType::global_ordinal_type,
 
   82                               typename OperatorType::node_type> {
 
  124              Teuchos::ETransp mode = Teuchos::NO_TRANS,
 
  125              Scalar alpha = Teuchos::ScalarTraits<Scalar>::one(),
 
  126              Scalar beta = Teuchos::ScalarTraits<Scalar>::zero())
 const 
  128         operator_->template applyTempl<Scalar,Scalar> (X, Y, mode, alpha, beta);
 
  142       Teuchos::RCP<const Tpetra::Map<local_ordinal_type,global_ordinal_type,node_type> >
 
  148       Teuchos::RCP<const Tpetra::Map<local_ordinal_type,global_ordinal_type,node_type> >
 
  162 #endif // TPETRA_APPLYOP_HPP 
One or more distributed dense vectors. 
Teuchos::RCP< const Tpetra::Map< local_ordinal_type, global_ordinal_type, node_type > > getRangeMap() const 
The range Map of this Operator. 
OperatorType::local_ordinal_type local_ordinal_type
The type of local indices in the input OperatorType. 
A class for wrapping an Operator apply in a Operator. 
OperatorType::scalar_type scalar_type
The type of the entries of the input OperatorType. 
virtual ~ApplyOp()
Destructor. 
Abstract interface for operators (e.g., matrices and preconditioners). 
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 . 
OperatorType::global_ordinal_type global_ordinal_type
The type of global indices in the input OperatorType. 
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. 
Teuchos::RCP< const OperatorType > operator_
The underlying Operator object. 
Teuchos::RCP< const Tpetra::Map< local_ordinal_type, global_ordinal_type, node_type > > getDomainMap() const 
The domain Map of this Operator. 
ApplyOp(const Teuchos::RCP< const OperatorType > &op)
Constructor.