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
28class 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>
49 public:
51
52 typedef Scalar scalar_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
97template <class Scalar,
98 class LocalOrdinal,
99 class GlobalOrdinal,
100 class Node>
102 public:
104
105 typedef Scalar scalar_type;
108 typedef Node node_type;
109
112
114
116
118 BlockCrsMatrixTransposer(const Teuchos::RCP<const bcrs_matrix_type> &origMatrix, const std::string &label = std::string());
119
121
123
125 Teuchos::RCP<bcrs_matrix_type> createTranspose(const Teuchos::RCP<Teuchos::ParameterList> &params = Teuchos::null);
126
135 Teuchos::RCP<bcrs_matrix_type> createTransposeLocal(const Teuchos::RCP<Teuchos::ParameterList> &params = Teuchos::null);
136
137 private:
139 Teuchos::RCP<const bcrs_matrix_type> origMatrix_;
140
142 std::string label_;
143};
144
145} // namespace Tpetra
146
147#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.
Construct and (optionally) redistribute the explicitly stored transpose of a 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.
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.
Struct that holds views of the contents of a CrsMatrix.
Sparse matrix that presents a row-oriented interface that lets users read or modify entries.
Construct and (optionally) redistribute the explicitly stored transpose of a CrsMatrix.
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.
Namespace Tpetra contains the class and methods constituting the Tpetra library.