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() {}