Tpetra parallel linear algebra Version of the Day
Loading...
Searching...
No Matches
Tpetra_CrsGraphTransposer_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_CRSGRAPHTRANSPOSER_DECL_HPP
12#define TPETRA_CRSGRAPHTRANSPOSER_DECL_HPP
13
17
20#include "Tpetra_Map_fwd.hpp"
21#include "Teuchos_RCP.hpp"
22#include <string>
23
24#ifndef DOXYGEN_SHOULD_SKIP_THIS
25namespace Teuchos {
26// Forward declaration of ParameterList
27class ParameterList;
28} // namespace Teuchos
29#endif // DOXYGEN_SHOULD_SKIP_THIS
30
31namespace Tpetra {
32
43template <class LocalOrdinal,
44 class GlobalOrdinal,
45 class Node>
47 public:
49
52 typedef Node node_type;
53
56
58
60
62 CrsGraphTransposer(const Teuchos::RCP<const crs_graph_type> &origGraph, const std::string &label = std::string());
63
65
67
69 Teuchos::RCP<crs_graph_type> symmetrize(const Teuchos::RCP<Teuchos::ParameterList> &params = Teuchos::null);
70
72 Teuchos::RCP<crs_graph_type> createTranspose(const Teuchos::RCP<Teuchos::ParameterList> &params = Teuchos::null);
73
82 Teuchos::RCP<crs_graph_type> createTransposeLocal(const Teuchos::RCP<Teuchos::ParameterList> &params = Teuchos::null);
83
84 private:
86 Teuchos::RCP<const crs_graph_type> origGraph_;
87
89 std::string label_;
90};
91
92} // namespace Tpetra
93
94#endif /* TPETRA_CRSGRAPHTRANSPOSER_DECL_HPP */
Forward declaration of Tpetra::CrsGraphTransposer.
Forward declaration of Tpetra::CrsGraph.
Forward declaration of Tpetra::Map.
Construct and (optionally) redistribute the explicitly stored transpose of a CrsGraph.
Teuchos::RCP< crs_graph_type > createTransposeLocal(const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Compute and return the transpose of the graph given to the constructor.
Teuchos::RCP< crs_graph_type > createTranspose(const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Compute and return the transpose of the graph given to the constructor.
Teuchos::RCP< crs_graph_type > symmetrize(const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Compute and return graph+graph^T of the graph given to the constructor.
A distributed graph accessed by rows (adjacency lists) and stored sparsely.
Struct that holds views of the contents of a CrsMatrix.
Namespace Tpetra contains the class and methods constituting the Tpetra library.