Tpetra parallel linear algebra Version of the Day
Loading...
Searching...
No Matches
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
21#include "Tpetra_Map_fwd.hpp"
22#include "Teuchos_RCP.hpp"
23#include <string>
24
25#ifndef DOXYGEN_SHOULD_SKIP_THIS
26namespace Teuchos {
27 // Forward declaration of ParameterList
28 class ParameterList;
29} // namespace Teuchos
30#endif // DOXYGEN_SHOULD_SKIP_THIS
31
32namespace Tpetra {
33
44template<class Scalar,
45 class LocalOrdinal,
46 class GlobalOrdinal,
47 class Node>
49public:
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
84private:
86 Teuchos::RCP<const crs_matrix_type> origMatrix_;
87
89 std::string label_;
90};
91
92
98template<class Scalar,
99 class LocalOrdinal,
100 class GlobalOrdinal,
101 class Node>
103public:
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
138private:
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 */
Forward declaration of Tpetra::BlockCrsMatrix.
Forward declaration of Tpetra::CrsMatrix.
Forward declaration of Tpetra::Map.
Forward declaration of Tpetra::RowMatrixTransposer.
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.
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.
Sparse matrix whose entries are small dense square blocks, all of the same dimensions.
Sparse matrix that presents a row-oriented interface that lets users read or modify entries.
A parallel distribution of indices over processes.
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.
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.
RowMatrixTransposer(const Teuchos::RCP< const crs_matrix_type > &origMatrix, const std::string &label=std::string())
Constructor that takes the matrix to transpose.
Namespace Tpetra contains the class and methods constituting the Tpetra library.