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"
55namespace TpetraHelpers {
57class 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() {}