47 #include <Xpetra_CrsMatrixWrap.hpp> 
   54 #if defined(HAVE_MUELU_SERIAL) and defined(HAVE_MUELU_EPETRA) 
   64     if (X.Values() == Y.Values()) {
 
   69       bool initialGuessZero = 
true;
 
   72       Hierarchy_->Iterate(eX, *tmpY, 1, initialGuessZero);
 
   74       eY.update(1.0, *tmpY, 0.0);
 
   80       bool initialGuessZero = 
true;
 
   82       Hierarchy_->Iterate(eX, eY, 1, initialGuessZero);
 
   85   } 
catch (std::exception& e) {
 
   87     std::cerr << 
"Caught an exception in MueLu::EpetraOperator::ApplyInverse():" << std::endl
 
   88         << e.what() << std::endl;
 
   95   RCP<Matrix> A = Hierarchy_->GetLevel(0)->Get<RCP<Matrix> >(
"A");
 
   99   if (epbA != Teuchos::null) {
 
  100     RCP<const Xpetra::Matrix<SC, LO, GO, NO> > blockMat = epbA->
getMatrix(0,0);
 
  102     if (blockCrsWrap == Teuchos::null)
 
  103       throw Exceptions::BadCast(
"MueLu::EpetraOperator::Comm(): Cast from block (0,0) to CrsMatrixWrap failed. Could be a block matrix. TODO implement recursive support for block matrices.");
 
  105     if (tmp_ECrsMtx == Teuchos::null)
 
  106       throw Exceptions::BadCast(
"MueLu::EpetraOperator::Comm(): Cast from Xpetra::CrsMatrix to Xpetra::EpetraCrsMatrix failed");
 
  107     RCP<Epetra_CrsMatrix> epA = tmp_ECrsMtx->getEpetra_CrsMatrixNonConst();
 
  112   if (crsOp == Teuchos::null)
 
  113     throw Exceptions::BadCast(
"Cast from Xpetra::Matrix to Xpetra::CrsMatrixWrap failed");
 
  115   if (tmp_ECrsMtx == Teuchos::null)
 
  116     throw Exceptions::BadCast(
"Cast from Xpetra::CrsMatrix to Xpetra::EpetraCrsMatrix failed");
 
  117   return tmp_ECrsMtx->getEpetra_CrsMatrixNonConst()->Comm();
 
  120 const Epetra_Map& EpetraOperator::OperatorDomainMap()
 const {
 
  121   RCP<Xpetra::Matrix<SC,LO,GO,NO> > A = Hierarchy_->GetLevel(0)->Get<RCP<Matrix> >(
"A");
 
  124   if (epbA != Teuchos::null)
 
  128   if (crsOp == Teuchos::null)
 
  129     throw Exceptions::BadCast(
"Cast from Xpetra::Matrix to Xpetra::CrsMatrixWrap failed");
 
  131   if (tmp_ECrsMtx == Teuchos::null)
 
  132     throw Exceptions::BadCast(
"Cast from Xpetra::CrsMatrix to Xpetra::EpetraCrsMatrix failed");
 
  133   return tmp_ECrsMtx->getEpetra_CrsMatrixNonConst()->DomainMap();
 
  136 const Epetra_Map & EpetraOperator::OperatorRangeMap()
 const {
 
  137   RCP<Xpetra::Matrix<SC,LO,GO,NO> > A = Hierarchy_->GetLevel(0)->Get<RCP<Matrix> >(
"A");
 
  140   if (epbA != Teuchos::null)
 
  144   if (crsOp == Teuchos::null)
 
  145     throw Exceptions::BadCast(
"Cast from Xpetra::Matrix to Xpetra::CrsMatrixWrap failed");
 
  146   const RCP<const Xpetra::EpetraCrsMatrix> &tmp_ECrsMtx = rcp_dynamic_cast<
const Xpetra::EpetraCrsMatrix>(crsOp->getCrsMatrix());
 
  147   if (tmp_ECrsMtx == Teuchos::null)
 
  148     throw Exceptions::BadCast(
"Cast from Xpetra::CrsMatrix to Xpetra::EpetraCrsMatrix failed");
 
  149   return tmp_ECrsMtx->getEpetra_CrsMatrixNonConst()->RangeMap();
 
  154 #endif // #if defined(HAVE_MUELU_SERIAL) and defined(HAVE_MUELU_EPETRA) 
const Epetra_CrsGraph & toEpetra(const RCP< const CrsGraph< int, GlobalOrdinal, Node > > &graph)
 
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
 
Teuchos::RCP< Matrix > getMatrix(size_t r, size_t c) const