21 #ifndef AMESOS2_EPETRACRSMATRIX_MATRIXADAPTER_DECL_HPP
22 #define AMESOS2_EPETRACRSMATRIX_MATRIXADAPTER_DECL_HPP
24 #include "Amesos2_config.h"
26 #include <Epetra_CrsMatrix.h>
27 #ifdef HAVE_AMESOS2_EPETRAEXT
28 #include <EpetraExt_Reindex_CrsMatrix.h>
32 #include "Amesos2_MatrixAdapter_decl.hpp"
51 class ConcreteMatrixAdapter< Epetra_CrsMatrix >
58 typedef Epetra_CrsMatrix matrix_t;
64 typedef super_t::scalar_t scalar_t;
65 typedef super_t::local_ordinal_t local_ordinal_t;
66 typedef super_t::global_ordinal_t global_ordinal_t;
67 typedef super_t::node_t node_t;
68 typedef super_t::global_size_t global_size_t;
70 typedef ConcreteMatrixAdapter<matrix_t> type;
72 ConcreteMatrixAdapter(RCP<matrix_t> m);
74 RCP<const MatrixAdapter<matrix_t> > get_impl(
const Teuchos::Ptr<
const Tpetra::Map<local_ordinal_t,global_ordinal_t,node_t> > map,
EDistribution distribution = ROOTED)
const;
75 RCP<const MatrixAdapter<matrix_t> > reindex_impl(Teuchos::RCP<
const Tpetra::Map<local_ordinal_t,global_ordinal_t,node_t>> &contigRowMap,
76 Teuchos::RCP<
const Tpetra::Map<local_ordinal_t,global_ordinal_t,node_t>> &contigColMap)
const;
80 describe (Teuchos::FancyOStream& os,
81 const Teuchos::EVerbosityLevel verbLevel =
82 Teuchos::Describable::verbLevel_default)
const;
83 #ifdef HAVE_AMESOS2_EPETRAEXT
85 mutable RCP<EpetraExt::CrsMatrix_Reindex> StdIndex_;
86 mutable RCP<Epetra_CrsMatrix> ContigMat_;
92 #endif // AMESOS2_EPETRACRSMATRIX_MATRIXADAPTER_DECL_HPP
A Matrix adapter interface for Amesos2.
Definition: Amesos2_MatrixAdapter_decl.hpp:42
Provides the Epetra_RowMatrix abstraction for the concrete Epetra row matric adapters.
Definition: Amesos2_AbstractConcreteMatrixAdapter.hpp:55
EDistribution
Definition: Amesos2_TypeDecl.hpp:89