42#ifndef THYRA_EPETRA_OPERATOR_WRAPPER_HPP
43#define THYRA_EPETRA_OPERATOR_WRAPPER_HPP
45#include "Thyra_LinearOpBase.hpp"
46#include "Epetra_Map.h"
47#include "Epetra_Comm.h"
48#include "Epetra_MultiVector.h"
49#include "Epetra_Operator.h"
81 const Ptr<VectorBase<double> > &thyraVec)
const;
85 Epetra_MultiVector &x)
const;
100 int Apply(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const ;
103 int ApplyInverse(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const ;
Implements the Epetra_Operator interface with a Thyra LinearOperator.
void copyEpetraIntoThyra(const Epetra_MultiVector &x, const Ptr< VectorBase< double > > &thyraVec) const
const Epetra_Map & OperatorRangeMap() const
int SetUseTranspose(bool UseTranspose_in)
static RCP< const Epetra_Comm > getEpetraComm(const LinearOpBase< double > &thyraOp)
int ApplyInverse(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
RCP< const Epetra_Map > rangeMap_
const Epetra_Map & OperatorDomainMap() const
bool UseTranspose() const
RCP< const LinearOpBase< double > > makeEpetraWrapper(const RCP< const LinearOpBase< double > > &thyraOp)
Wrap a Thyra operator in the Epetra_Operator interface, and then wrap it again in a Thyra operator in...
RCP< const LinearOpBase< double > > getThyraOp() const
const char * Label() const
RCP< const Epetra_Map > domainMap_
RCP< const Epetra_Comm > comm_
const Epetra_Comm & Comm() const
void copyThyraIntoEpetra(const VectorBase< double > &thyraVec, Epetra_MultiVector &x) const
RCP< const LinearOpBase< double > > thyraOp_
int Apply(const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
RCP< const VectorSpaceBase< double > > range_
RCP< const VectorSpaceBase< double > > domain_