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
27 class ParameterList;
28} // namespace Teuchos
29#endif // DOXYGEN_SHOULD_SKIP_THIS
30
31namespace Tpetra {
32
43template<class LocalOrdinal,
44 class GlobalOrdinal,
45 class Node>
47public:
49
50 typedef LocalOrdinal local_ordinal_type;
51 typedef GlobalOrdinal global_ordinal_type;
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
84private:
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.
CrsGraphTransposer(const Teuchos::RCP< const crs_graph_type > &origGraph, const std::string &label=std::string())
Constructor that takes the graph to transpose.
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.
A parallel distribution of indices over processes.
Namespace Tpetra contains the class and methods constituting the Tpetra library.