42 #ifndef THYRA_EPETRA_LINEAR_OP_HPP 
   43 #define THYRA_EPETRA_LINEAR_OP_HPP 
   45 #include "Thyra_LinearOpBase.hpp" 
   46 #include "Thyra_EpetraLinearOpBase.hpp" 
   47 #include "Thyra_ScaledLinearOpBase.hpp" 
   48 #include "Thyra_RowStatLinearOpBase.hpp" 
   49 #include "Thyra_SpmdVectorSpaceBase.hpp" 
   51 #include "Epetra_RowMatrix.h" 
  355     const RowStatLinearOpBaseUtils::ERowStat rowStat) 
const;
 
  359     const RowStatLinearOpBaseUtils::ERowStat rowStat,
 
  406   bool isFullyInitialized_;
 
  445 partialNonconstEpetraLinearOp(
 
  461 nonconstEpetraLinearOp(
 
  493 nonconstEpetraLinearOp(
 
  495   const std::string &label,
 
  512   const std::string &label,
 
  524 #endif  // THYRA_EPETRA_LINEAR_OP_HPP 
RCP< const SpmdVectorSpaceBase< double > > spmdDomain() const 
Return a smart pointer to the SpmdVectorSpaceBase object for the domain. 
virtual RCP< const SpmdVectorSpaceBase< double > > allocateDomain(const RCP< Epetra_Operator > &op, EOpTransp op_trans) const 
Allocate the domain space of the operator. 
Concrete LinearOpBase adapter subclass for Epetra_Operator object. 
virtual bool supportsScaleRightImpl() const 
EOpTransp
Enumeration for determining how a linear operator is applied. `*. 
void partiallyInitialize(const RCP< const VectorSpaceBase< double > > &range, const RCP< const VectorSpaceBase< double > > &domain, const RCP< Epetra_Operator > &op, EOpTransp opTrans=NOTRANS, EApplyEpetraOpAs applyAs=EPETRA_OP_APPLY_APPLY, EAdjointEpetraOp adjointSupport=EPETRA_OP_ADJOINT_SUPPORTED)
Partially initialize. 
RCP< const SpmdVectorSpaceBase< double > > spmdRange() const 
Return a smart pointer to the SpmdVectorSpaceBase object for the range. 
virtual bool rowStatIsSupportedImpl(const RowStatLinearOpBaseUtils::ERowStat rowStat) const 
virtual bool supportsScaleLeftImpl() const 
basic_FancyOStream< char > FancyOStream
Use the non-transposed operator. 
Abstract base class for all LinearOpBase objects that can return an Epetra_Operator view of themselve...
std::string description() const 
Abstract interface for objects that represent a space for vectors. 
void getEpetraOpView(const Ptr< RCP< const Epetra_Operator > > &epetraOp, const Ptr< EOpTransp > &epetraOpTransp, const Ptr< EApplyEpetraOpAs > &epetraOpApplyAs, const Ptr< EAdjointEpetraOp > &epetraOpAdjointSupport) const 
void initialize(const RCP< Epetra_Operator > &op, EOpTransp opTrans=NOTRANS, EApplyEpetraOpAs applyAs=EPETRA_OP_APPLY_APPLY, EAdjointEpetraOp adjointSupport=EPETRA_OP_ADJOINT_SUPPORTED, const RCP< const VectorSpaceBase< double > > &range=Teuchos::null, const RCP< const VectorSpaceBase< double > > &domain=Teuchos::null)
Fully initialize. 
virtual void scaleLeftImpl(const VectorBase< double > &row_scaling)
Interface for a collection of column vectors called a multi-vector. 
EAdjointEpetraOp
Determine if adjoints are supported on Epetra_Opeator or not. 
EpetraLinearOp()
Construct to uninitialized. 
void setFullyInitialized(bool isFullyInitialized=true)
Set to fully initialized. 
void getNonconstEpetraOpView(const Ptr< RCP< Epetra_Operator > > &epetraOp, const Ptr< EOpTransp > &epetraOpTransp, const Ptr< EApplyEpetraOpAs > &epetraOpApplyAs, const Ptr< EAdjointEpetraOp > &epetraOpAdjointSupport)
Abstract interface for finite-dimensional dense vectors. 
RCP< const VectorSpaceBase< double > > range() const 
RCP< const VectorSpaceBase< double > > domain() const 
void applyImpl(const EOpTransp M_trans, const MultiVectorBase< double > &X, const Ptr< MultiVectorBase< double > > &Y, const double alpha, const double beta) const 
void describe(FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const 
Base class for all linear operators. 
Applies left or right sclaing to the linear operator. 
Interface for exxtracting row statistics as a VectorBase from a supporting LinearOpBase object...
EApplyEpetraOpAs
Determine how the apply an Epetra_Operator as a linear operator. 
void uninitialize(RCP< Epetra_Operator > *op=NULL, EOpTransp *opTrans=NULL, EApplyEpetraOpAs *applyAs=NULL, EAdjointEpetraOp *adjointSupport=NULL, RCP< const VectorSpaceBase< double > > *range=NULL, RCP< const VectorSpaceBase< double > > *domain=NULL)
Set to uninitialized and optionally return the current state. 
virtual void getRowStatImpl(const RowStatLinearOpBaseUtils::ERowStat rowStat, const Ptr< VectorBase< double > > &rowStatVec) const 
virtual RCP< const SpmdVectorSpaceBase< double > > allocateRange(const RCP< Epetra_Operator > &op, EOpTransp op_trans) const 
Allocate the range space of the operator. 
bool opSupportedImpl(EOpTransp M_trans) const 
Apply using Epetra_Operator::Apply(...) 
Base abstract VectorSpaceBase class for all SPMD-based vector spaces. 
virtual void scaleRightImpl(const VectorBase< double > &col_scaling)
RCP< const LinearOpBase< double > > clone() const 
RCP< Epetra_Operator > epetra_op()