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;
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;
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.
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.