42 #ifndef TPETRA_OPERATOR_HPP
43 #define TPETRA_OPERATOR_HPP
48 #include <Teuchos_Describable.hpp>
49 #include <Teuchos_BLAS_types.hpp>
50 #include <Teuchos_ScalarTraits.hpp>
82 template <
class Scalar,
86 class Operator :
virtual public Teuchos::Describable {
108 virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >
getDomainMap()
const = 0;
111 virtual Teuchos::RCP<const Map<LocalOrdinal,GlobalOrdinal,Node> >
getRangeMap()
const = 0;
122 Teuchos::ETransp mode = Teuchos::NO_TRANS,
123 Scalar alpha = Teuchos::ScalarTraits<Scalar>::one(),
124 Scalar beta = Teuchos::ScalarTraits<Scalar>::zero())
const = 0;
137 template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
Forward declaration of Tpetra::Map.
Forward declaration of Tpetra::MultiVector.
Forward declaration of Tpetra::Operator.
One or more distributed dense vectors.
Abstract interface for operators (e.g., matrices and preconditioners).
Scalar scalar_type
The type of the entries of the input and output multivectors.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const =0
The Map associated with the range of this operator, which must be compatible with Y....
LocalOrdinal local_ordinal_type
The local index type.
Node node_type
The Kokkos Node type.
virtual void apply(const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=Teuchos::ScalarTraits< Scalar >::one(), Scalar beta=Teuchos::ScalarTraits< Scalar >::zero()) const =0
Computes the operator-multivector application.
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const =0
The Map associated with the domain of this operator, which must be compatible with X....
virtual bool hasTransposeApply() const
Whether this operator supports applying the transpose or conjugate transpose.
GlobalOrdinal global_ordinal_type
The global index type.
Namespace Tpetra contains the class and methods constituting the Tpetra library.