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"
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
EpetraOperatorWrapper(const RCP< const LinearOpBase< double > > &thyraOp)
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_