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 = ::Tpetra::Details::DefaultTypes::scalar_type,
84 class GlobalOrdinal = ::Tpetra::Details::DefaultTypes::global_ordinal_type,
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>
145 #endif // TPETRA_OPERATOR_HPP Namespace Tpetra contains the class and methods constituting the Tpetra library.
GlobalOrdinal global_ordinal_type
The global index type.
Forward declaration of Tpetra::Operator.
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...
One or more distributed dense vectors.
Scalar scalar_type
The type of the entries of the input and output multivectors.
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.
int local_ordinal_type
Default value of Scalar template parameter.
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.
Forward declaration of Tpetra::MultiVector.
LocalOrdinal local_ordinal_type
The local index type.
::Kokkos::Compat::KokkosDeviceWrapperNode< execution_space > node_type
Default value of Node template parameter.
Abstract interface for operators (e.g., matrices and preconditioners).
Forward declaration of Tpetra::Map.