47 #ifndef __Teko_TpetraInverseOpWrapper_hpp__ 48 #define __Teko_TpetraInverseOpWrapper_hpp__ 50 #include "Teko_TpetraOperatorWrapper.hpp" 51 #include "Teko_ConfigDefs.hpp" 52 #include "Tpetra_MultiVector.hpp" 55 namespace TpetraHelpers {
57 class TpetraInverseOpWrapper :
public TpetraOperatorWrapper {
59 TpetraInverseOpWrapper(
const RCP<const MappingStrategy> & forwardMaps)
60 : TpetraOperatorWrapper(forwardMaps) {}
62 TpetraInverseOpWrapper(
const RCP<
const Thyra::LinearOpBase<ST> > & thyraOp)
63 : TpetraOperatorWrapper(thyraOp) {}
66 virtual void apply(
const Tpetra::MultiVector<ST,LO,GO,NT>& X, Tpetra::MultiVector<ST,LO,GO,NT>& Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, ST alpha=Teuchos::ScalarTraits< ST >::one(), ST beta=Teuchos::ScalarTraits< ST >::zero())
const;
69 virtual void applyInverse(
const Tpetra::MultiVector<ST,LO,GO,NT>& X, Tpetra::MultiVector<ST,LO,GO,NT>& Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, ST alpha=Teuchos::ScalarTraits< ST >::one(), ST beta=Teuchos::ScalarTraits< ST >::zero())
const;
77 TpetraInverseOpWrapper() {}