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};
141
142} // namespace Tpetra
143
144#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.
Sparse matrix whose entries are small dense square blocks, all of the same dimensions.
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 that presents a row-oriented interface that lets users read or modify entries.
Struct that holds views of the contents of a CrsMatrix.
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.