Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Tpetra_RowMatrixTransposer_decl.hpp
Go to the documentation of this file.
1 
2 // @HEADER
3 // *****************************************************************************
4 // Tpetra: Templated Linear Algebra Services Package
5 //
6 // Copyright 2008 NTESS and the Tpetra contributors.
7 // SPDX-License-Identifier: BSD-3-Clause
8 // *****************************************************************************
9 // @HEADER
10 
11 #ifndef TPETRA_ROWMATRIXTRANSPOSER_DECL_HPP
12 #define TPETRA_ROWMATRIXTRANSPOSER_DECL_HPP
13 
17 
19 #include "Tpetra_CrsMatrix_fwd.hpp"
21 #include "Tpetra_Map_fwd.hpp"
22 #include "Teuchos_RCP.hpp"
23 #include <string>
24 
25 #ifndef DOXYGEN_SHOULD_SKIP_THIS
26 namespace Teuchos {
27  // Forward declaration of ParameterList
28  class ParameterList;
29 } // namespace Teuchos
30 #endif // DOXYGEN_SHOULD_SKIP_THIS
31 
32 namespace Tpetra {
33 
44 template<class Scalar,
45  class LocalOrdinal,
46  class GlobalOrdinal,
47  class Node>
49 public:
51 
52  typedef Scalar scalar_type;
53  typedef LocalOrdinal local_ordinal_type;
54  typedef GlobalOrdinal global_ordinal_type;
55  typedef Node node_type;
56 
59 
61 
63 
65  RowMatrixTransposer (const Teuchos::RCP<const crs_matrix_type>& origMatrix,const std::string & label = std::string());
66 
68 
70 
72  Teuchos::RCP<crs_matrix_type> createTranspose(const Teuchos::RCP<Teuchos::ParameterList> &params=Teuchos::null);
73 
82  Teuchos::RCP<crs_matrix_type> createTransposeLocal (const Teuchos::RCP<Teuchos::ParameterList> &params=Teuchos::null);
83 
84 private:
86  Teuchos::RCP<const crs_matrix_type> origMatrix_;
87 
89  std::string label_;
90 };
91 
92 
98 template<class Scalar,
99  class LocalOrdinal,
100  class GlobalOrdinal,
101  class Node>
103 public:
105 
106  typedef Scalar scalar_type;
107  typedef LocalOrdinal local_ordinal_type;
108  typedef GlobalOrdinal global_ordinal_type;
109  typedef Node node_type;
110 
113 
115 
117 
119  BlockCrsMatrixTransposer (const Teuchos::RCP<const bcrs_matrix_type>& origMatrix,const std::string & label = std::string());
120 
122 
124 
126  Teuchos::RCP<bcrs_matrix_type> createTranspose(const Teuchos::RCP<Teuchos::ParameterList> &params=Teuchos::null);
127 
136  Teuchos::RCP<bcrs_matrix_type> createTransposeLocal (const Teuchos::RCP<Teuchos::ParameterList> &params=Teuchos::null);
137 
138 private:
140  Teuchos::RCP<const bcrs_matrix_type> origMatrix_;
141 
143  std::string label_;
144 };
145 
146 
147 } // namespace Tpetra
148 
149 #endif /* TPETRA_ROWMATRIXTRANSPOSER_DECL_HPP */
RowMatrixTransposer(const Teuchos::RCP< const crs_matrix_type > &origMatrix, const std::string &label=std::string())
Constructor that takes the matrix to transpose.
Sparse matrix that presents a row-oriented interface that lets users read or modify entries...
Forward declaration of Tpetra::RowMatrixTransposer.
Sparse matrix whose entries are small dense square blocks, all of the same dimensions.
Forward declaration of Tpetra::BlockCrsMatrix.
Teuchos::RCP< bcrs_matrix_type > createTransposeLocal(const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Compute and return the transpose of the matrix given to the constructor.
BlockCrsMatrixTransposer(const Teuchos::RCP< const bcrs_matrix_type > &origMatrix, const std::string &label=std::string())
Constructor that takes the matrix to transpose.
Construct and (optionally) redistribute the explicitly stored transpose of a CrsMatrix.
Forward declaration of Tpetra::CrsMatrix.
Teuchos::RCP< crs_matrix_type > createTransposeLocal(const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Compute and return the transpose of the matrix given to the constructor.
Teuchos::RCP< bcrs_matrix_type > createTranspose(const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Compute and return the transpose of the matrix given to the constructor.
Teuchos::RCP< crs_matrix_type > createTranspose(const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Compute and return the transpose of the matrix given to the constructor.
Construct and (optionally) redistribute the explicitly stored transpose of a BlockCrsMatrix.
A parallel distribution of indices over processes.
Forward declaration of Tpetra::Map.