46 #ifndef XPETRA_EPETRAOPERATOR_HPP 47 #define XPETRA_EPETRAOPERATOR_HPP 51 #include <Epetra_Operator.h> 52 #include <Epetra_Map.h> 64 template<
class EpetraGlobalOrdinal,
class Node>
104 "Xpetra::EpetraOperator->apply(): can only accept mode == NO_TRANS or mode == TRANS");
106 "Xpetra::EpetraOperator->apply(): cannot apply transpose as underlying Epetra operator does not support it");
139 out <<
"Epetra_Operator" << std::endl;
161 #endif // XPETRA_EPETRAOPERATOR_HPP
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getDomainMap() const
The Map associated with the domain of this operator, which must be compatible with X...
std::string description() const
A simple one-line description of this object.
virtual int SetUseTranspose(bool UseTranspose)=0
virtual bool hasTransposeApply() const
Whether this operator supports applying the transpose or conjugate transpose.
int PutScalar(double ScalarConstant)
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Exception throws to report errors in the internal logical of the program.
virtual const Epetra_Map & OperatorDomainMap() const=0
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > getRangeMap() const
The Map associated with the range of this operator, which must be compatible with Y...
virtual int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
virtual const Epetra_Map & OperatorRangeMap() const=0
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
#define XPETRA_ERR_CHECK(arg)
EpetraOperator(const Teuchos::RCP< Epetra_Operator > &op)
EpetraOperator constructor to wrap a Epetra_Operator object.
Exception throws when you call an unimplemented method of Xpetra.
#define XPETRA_DYNAMIC_CAST(type, obj, newObj, exceptionMsg)
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
Computes the operator-multivector application.
static const EVerbosityLevel verbLevel_default
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
Print the object with the given verbosity level to a FancyOStream.
EpetraGlobalOrdinal GlobalOrdinal
RCP< Epetra_Operator > op_
The Tpetra::Operator which this class wraps.
#define XPETRA_MONITOR(funcName)