Tpetra parallel linear algebra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
core
src
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
18
#include "
Tpetra_RowMatrixTransposer_fwd.hpp
"
19
#include "
Tpetra_CrsMatrix_fwd.hpp
"
20
#include "
Tpetra_BlockCrsMatrix_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>
48
class
RowMatrixTransposer
{
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
57
typedef
Map<LocalOrdinal, GlobalOrdinal, Node>
map_type;
58
typedef
CrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
crs_matrix_type;
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> ¶ms = Teuchos::null);
73
82
Teuchos::RCP<crs_matrix_type>
createTransposeLocal
(
const
Teuchos::RCP<Teuchos::ParameterList> ¶ms = Teuchos::null);
83
84
private
:
86
Teuchos::RCP<const crs_matrix_type> origMatrix_;
87
89
std::string label_;
90
};
91
97
template
<
class
Scalar,
98
class
LocalOrdinal,
99
class
GlobalOrdinal,
100
class
Node>
101
class
BlockCrsMatrixTransposer
{
102
public
:
104
105
typedef
Scalar scalar_type;
106
typedef
LocalOrdinal local_ordinal_type;
107
typedef
GlobalOrdinal global_ordinal_type;
108
typedef
Node node_type;
109
110
typedef
Map<LocalOrdinal, GlobalOrdinal, Node>
map_type;
111
typedef
BlockCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node>
bcrs_matrix_type;
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> ¶ms = Teuchos::null);
126
135
Teuchos::RCP<bcrs_matrix_type>
createTransposeLocal
(
const
Teuchos::RCP<Teuchos::ParameterList> ¶ms = 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 */
Tpetra_BlockCrsMatrix_fwd.hpp
Forward declaration of Tpetra::BlockCrsMatrix.
Tpetra_CrsMatrix_fwd.hpp
Forward declaration of Tpetra::CrsMatrix.
Tpetra_Map_fwd.hpp
Forward declaration of Tpetra::Map.
Tpetra_RowMatrixTransposer_fwd.hpp
Forward declaration of Tpetra::RowMatrixTransposer.
Tpetra::BlockCrsMatrix
Sparse matrix whose entries are small dense square blocks, all of the same dimensions.
Definition
Tpetra_BlockCrsMatrix_decl.hpp:132
Tpetra::BlockCrsMatrixTransposer::createTransposeLocal
Teuchos::RCP< bcrs_matrix_type > createTransposeLocal(const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null)
Compute and return the transpose of the matrix given to the constructor.
Definition
Tpetra_RowMatrixTransposer_def.hpp:229
Tpetra::BlockCrsMatrixTransposer::BlockCrsMatrixTransposer
BlockCrsMatrixTransposer(const Teuchos::RCP< const bcrs_matrix_type > &origMatrix, const std::string &label=std::string())
Constructor that takes the matrix to transpose.
Definition
Tpetra_RowMatrixTransposer_def.hpp:173
Tpetra::BlockCrsMatrixTransposer::createTranspose
Teuchos::RCP< bcrs_matrix_type > createTranspose(const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null)
Compute and return the transpose of the matrix given to the constructor.
Definition
Tpetra_RowMatrixTransposer_def.hpp:184
Tpetra::CrsMatrix
Sparse matrix that presents a row-oriented interface that lets users read or modify entries.
Definition
Tpetra_CrsMatrix_decl.hpp:399
Tpetra::Map
A parallel distribution of indices over processes.
Definition
Tpetra_Map_decl.hpp:197
Tpetra::RowMatrixTransposer::createTranspose
Teuchos::RCP< crs_matrix_type > createTranspose(const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null)
Compute and return the transpose of the matrix given to the constructor.
Definition
Tpetra_RowMatrixTransposer_def.hpp:41
Tpetra::RowMatrixTransposer::createTransposeLocal
Teuchos::RCP< crs_matrix_type > createTransposeLocal(const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null)
Compute and return the transpose of the matrix given to the constructor.
Definition
Tpetra_RowMatrixTransposer_def.hpp:87
Tpetra::RowMatrixTransposer::RowMatrixTransposer
RowMatrixTransposer(const Teuchos::RCP< const crs_matrix_type > &origMatrix, const std::string &label=std::string())
Constructor that takes the matrix to transpose.
Definition
Tpetra_RowMatrixTransposer_def.hpp:30
Tpetra
Namespace Tpetra contains the class and methods constituting the Tpetra library.
Generated by
1.17.0