Tpetra parallel linear algebra  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 
19 #include "Tpetra_CrsGraph_fwd.hpp"
20 #include "Tpetra_Map_fwd.hpp"
21 #include "Teuchos_RCP.hpp"
22 #include <string>
23 
24 #ifndef DOXYGEN_SHOULD_SKIP_THIS
25 namespace Teuchos {
26  // Forward declaration of ParameterList
27  class ParameterList;
28 } // namespace Teuchos
29 #endif // DOXYGEN_SHOULD_SKIP_THIS
30 
31 namespace Tpetra {
32 
43 template<class LocalOrdinal,
44  class GlobalOrdinal,
45  class Node>
47 public:
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 
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 */
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.
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 > createTranspose(const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
Compute and return the transpose of the graph given to the constructor.
A distributed graph accessed by rows (adjacency lists) and stored sparsely.
Forward declaration of Tpetra::CrsGraphTransposer.
A parallel distribution of indices over processes.
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.
Forward declaration of Tpetra::CrsGraph.
Forward declaration of Tpetra::Map.
Construct and (optionally) redistribute the explicitly stored transpose of a CrsGraph.