55 #ifndef AMESOS2_EPETRAROWMATRIX_ABSTRACTMATRIXADAPTER_DECL_HPP 
   56 #define AMESOS2_EPETRAROWMATRIX_ABSTRACTMATRIXADAPTER_DECL_HPP 
   58 #include "Amesos2_config.h" 
   60 #include <Teuchos_ArrayView.hpp> 
   62 #include <Epetra_RowMatrix.h> 
   64 #include "Amesos2_AbstractConcreteMatrixAdapter.hpp" 
   65 #include "Amesos2_MatrixAdapter_decl.hpp" 
   66 #include "Amesos2_MatrixTraits.hpp" 
   87   template < 
class DerivedMat >
 
   94     typedef MatrixTraits<Epetra_RowMatrix>::scalar_t                 scalar_t;
 
   95     typedef MatrixTraits<Epetra_RowMatrix>::local_ordinal_t   local_ordinal_t;
 
   96     typedef MatrixTraits<Epetra_RowMatrix>::global_ordinal_t global_ordinal_t;
 
   97     typedef MatrixTraits<Epetra_RowMatrix>::node_t                     node_t;
 
   99     typedef DerivedMat                                               matrix_t;
 
  105     typedef typename super_t::global_size_t                     global_size_t;
 
  112     typedef MatrixTraits<Epetra_RowMatrix>::major_access         major_access;
 
  119     void getGlobalRowCopy_impl(global_ordinal_t row,
 
  120              const Teuchos::ArrayView<global_ordinal_t>& indices,
 
  121              const Teuchos::ArrayView<scalar_t>& vals,
 
  124     void getGlobalColCopy_impl(global_ordinal_t col,
 
  125              const Teuchos::ArrayView<global_ordinal_t>& indices,
 
  126              const Teuchos::ArrayView<scalar_t>& vals,
 
  129     global_size_t getGlobalNNZ_impl() 
const;
 
  131     size_t getLocalNNZ_impl() 
const;
 
  133     global_size_t getGlobalNumRows_impl() 
const;
 
  135     global_size_t getGlobalNumCols_impl() 
const;
 
  137     size_t getMaxRowNNZ_impl() 
const;
 
  139     size_t getMaxColNNZ_impl() 
const;
 
  141     size_t getGlobalRowNNZ_impl(global_ordinal_t row) 
const;
 
  143     size_t getLocalRowNNZ_impl(local_ordinal_t row) 
const;
 
  145     size_t getGlobalColNNZ_impl(global_ordinal_t col) 
const;
 
  147     size_t getLocalColNNZ_impl(local_ordinal_t col) 
const;
 
  151     const RCP<
const Tpetra::Map<local_ordinal_t,
 
  156     const RCP<
const Tpetra::Map<local_ordinal_t,
 
  159     getRowMap_impl() 
const;
 
  161     const RCP<
const Tpetra::Map<local_ordinal_t,
 
  164     getColMap_impl() 
const;
 
  166     const RCP<const Teuchos::Comm<int> > getComm_impl() 
const;
 
  168     bool isLocallyIndexed_impl() 
const;
 
  170     bool isGloballyIndexed_impl() 
const;
 
  175     RCP<const super_t> get_impl(
const Teuchos::Ptr<
const Tpetra::Map<local_ordinal_t,global_ordinal_t,node_t> > map, 
EDistribution distribution = ROOTED) 
const;
 
  177     typename super_t::spmtx_ptr_t  getSparseRowPtr() 
const;
 
  179     typename super_t::spmtx_idx_t  getSparseColInd() 
const;
 
  181     typename super_t::spmtx_vals_t getSparseValues() 
const;
 
  187 #endif  // AMESOS2_EPETRAROWMATRIX_ABSTRACTMATRIXADAPTER_DECL_HPP 
Utility functions for Amesos2. 
A Matrix adapter interface for Amesos2. 
Definition: Amesos2_MatrixAdapter_decl.hpp:76
Definition: Amesos2_AbstractConcreteMatrixAdapter.hpp:89
Indicates that the concrete class can use the generic getC{c|r}s methods implemented in MatrixAdapter...
Definition: Amesos2_TypeDecl.hpp:91
EDistribution
Definition: Amesos2_TypeDecl.hpp:123