46 #ifndef XPETRA_OPERATOR_HPP 47 #define XPETRA_OPERATOR_HPP 51 #include <Teuchos_Describable.hpp> 60 template<class Scalar = MultiVector<>::scalar_type,
101 apply (
const MultiVector& X, MultiVector& Y,
121 #define XPETRA_OPERATOR_SHORT 122 #endif // XPETRA_OPERATOR_HPP virtual void apply(const MultiVector &X, MultiVector &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.
Scalar scalar_type
The type of the entries of the input and output multivectors.
Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > MultiVector
Node node_type
The Kokkos Node type.
GlobalOrdinal global_ordinal_type
The global index type.
LocalOrdinal local_ordinal_type
The local index type.
Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > Map
virtual void removeEmptyProcessesInPlace(const RCP< const Map > &newMap)
LocalOrdinal local_ordinal_type
GlobalOrdinal global_ordinal_type
virtual Teuchos::RCP< const Map > getRangeMap() const =0
The Map associated with the range of this operator, which must be compatible with Y...
virtual bool hasTransposeApply() const
Whether this operator supports applying the transpose or conjugate transpose.
virtual Teuchos::RCP< const Map > getDomainMap() const =0
The Map associated with the domain of this operator, which must be compatible with X...