Tpetra parallel linear algebra
Version of the Day
|
An abstract interface for graphs accessed by rows. More...
#include <Tpetra_RowGraph_decl.hpp>
Public Types | |
Typedefs | |
typedef LocalOrdinal | local_ordinal_type |
The type of local indices in the graph. More... | |
typedef GlobalOrdinal | global_ordinal_type |
The type of global indices in the graph. More... | |
typedef Node | node_type |
The Kokkos Node type. More... | |
Public Member Functions | |
virtual | ~RowGraph () |
Destructor (virtual for memory safety of derived classes). More... | |
Graph query methods | |
virtual Teuchos::RCP< const Teuchos::Comm< int > > | getComm () const =0 |
The communicator over which this graph is distributed. More... | |
virtual Teuchos::RCP< Node > | getNode () const =0 |
The Kokkos Node instance with which this object was created. More... | |
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > | getRowMap () const =0 |
The Map that describes this graph's distribution of rows over processes. More... | |
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > | getColMap () const =0 |
The Map that describes this graph's distribution of columns over processes. More... | |
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > | getDomainMap () const =0 |
The Map associated with the domain of this graph. More... | |
virtual Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > | getRangeMap () const =0 |
The Map associated with the range of this graph. More... | |
virtual Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > | getImporter () const =0 |
This graph's Import object. More... | |
virtual Teuchos::RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > | getExporter () const =0 |
This graph's Export object. More... | |
virtual global_size_t | getGlobalNumRows () const =0 |
Returns the number of global rows in the graph. More... | |
virtual global_size_t | getGlobalNumCols () const =0 |
Returns the number of global columns in the graph. More... | |
virtual size_t | getNodeNumRows () const =0 |
Returns the number of rows owned on the calling node. More... | |
virtual size_t | getNodeNumCols () const =0 |
Returns the number of columns connected to the locally owned rows of this graph. More... | |
virtual GlobalOrdinal | getIndexBase () const =0 |
Returns the index base for global indices for this graph. More... | |
virtual global_size_t | getGlobalNumEntries () const =0 |
Returns the global number of entries in the graph. More... | |
virtual size_t | getNodeNumEntries () const =0 |
Returns the local number of entries in the graph. More... | |
virtual size_t | getNumEntriesInGlobalRow (GlobalOrdinal globalRow) const =0 |
Returns the current number of entries on this node in the specified global row. More... | |
virtual size_t | getNumEntriesInLocalRow (LocalOrdinal localRow) const =0 |
Returns the current number of entries on this node in the specified local row. More... | |
virtual global_size_t | getGlobalNumDiags () const =0 |
Returns the number of global diagonal entries, based on global row/column index comparisons. More... | |
virtual size_t | getNodeNumDiags () const =0 |
Returns the number of local diagonal entries, based on global row/column index comparisons. More... | |
virtual size_t | getGlobalMaxNumRowEntries () const =0 |
Returns the maximum number of entries across all rows/columns on all nodes. More... | |
virtual size_t | getNodeMaxNumRowEntries () const =0 |
Returns the maximum number of entries across all rows/columns on this node. More... | |
virtual bool | hasColMap () const =0 |
Indicates whether the graph has a well-defined column map. More... | |
virtual bool | isLowerTriangular () const =0 |
Indicates whether the graph is lower triangular. More... | |
virtual bool | isUpperTriangular () const =0 |
Indicates whether the graph is upper triangular. More... | |
virtual bool | isLocallyIndexed () const =0 |
If graph indices are in the local range, this function returns true. Otherwise, this function returns false. */. More... | |
virtual bool | isGloballyIndexed () const =0 |
If graph indices are in the global range, this function returns true. Otherwise, this function returns false. */. More... | |
virtual bool | isFillComplete () const =0 |
Whether fillComplete() has been called (without an intervening resumeFill()). More... | |
Extraction Methods | |
virtual void | getGlobalRowCopy (GlobalOrdinal GlobalRow, const Teuchos::ArrayView< GlobalOrdinal > &Indices, size_t &NumIndices) const =0 |
Extract a list of entries in a specified global row of the graph. Put into pre-allocated storage. More... | |
virtual void | getLocalRowCopy (LocalOrdinal LocalRow, const Teuchos::ArrayView< LocalOrdinal > &Indices, size_t &NumIndices) const =0 |
Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine. More... | |
Implementation of Packable interface | |
virtual void | pack (const Teuchos::ArrayView< const LocalOrdinal > &exportLIDs, Teuchos::Array< GlobalOrdinal > &exports, const Teuchos::ArrayView< size_t > &numPacketsPerLID, size_t &constantNumPackets, Distributor &distor) const |
Pack this object's data for Import or Export. More... | |
An abstract interface for graphs accessed by rows.
This class is to CrsGraph, what RowMatrix is to CrsMatrix. CrsGraph is an implementation of RowGraph.
LocalOrdinal | The type of local indices. See the documentation of Map for requirements. |
GlobalOrdinal | The type of global indices. See the documentation of Map for requirements. |
Node | The Kokkos Node type. See the documentation of Map for requirements. |
Definition at line 72 of file Tpetra_RowGraph_decl.hpp.
typedef LocalOrdinal Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::local_ordinal_type |
The type of local indices in the graph.
Definition at line 79 of file Tpetra_RowGraph_decl.hpp.
typedef GlobalOrdinal Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::global_ordinal_type |
The type of global indices in the graph.
Definition at line 81 of file Tpetra_RowGraph_decl.hpp.
typedef Node Tpetra::RowGraph< LocalOrdinal, GlobalOrdinal, Node >::node_type |
The Kokkos Node type.
Definition at line 83 of file Tpetra_RowGraph_decl.hpp.
|
inlinevirtual |
Destructor (virtual for memory safety of derived classes).
Definition at line 87 of file Tpetra_RowGraph_decl.hpp.
|
pure virtual |
The communicator over which this graph is distributed.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
The Kokkos Node instance with which this object was created.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
The Map that describes this graph's distribution of rows over processes.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
The Map that describes this graph's distribution of columns over processes.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
The Map associated with the domain of this graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
The Map associated with the range of this graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
This graph's Import object.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
This graph's Export object.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the number of global rows in the graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the number of global columns in the graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the number of rows owned on the calling node.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the number of columns connected to the locally owned rows of this graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the index base for global indices for this graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the global number of entries in the graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the local number of entries in the graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the current number of entries on this node in the specified global row.
Returns Teuchos::OrdinalTraits<size_t>::invalid() if the specified global row does not belong to this graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the current number of entries on this node in the specified local row.
Returns Teuchos::OrdinalTraits<size_t>::invalid() if the specified local row is not valid for this graph.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the number of global diagonal entries, based on global row/column index comparisons.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the number of local diagonal entries, based on global row/column index comparisons.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the maximum number of entries across all rows/columns on all nodes.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Returns the maximum number of entries across all rows/columns on this node.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Indicates whether the graph has a well-defined column map.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Indicates whether the graph is lower triangular.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Indicates whether the graph is upper triangular.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
If graph indices are in the local range, this function returns true. Otherwise, this function returns false. */.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
If graph indices are in the global range, this function returns true. Otherwise, this function returns false. */.
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Whether fillComplete() has been called (without an intervening resumeFill()).
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Extract a list of entries in a specified global row of the graph. Put into pre-allocated storage.
LocalRow | - (In) Global row number for which indices are desired. |
Indices | - (Out) Global column indices corresponding to values. |
NumIndices | - (Out) Number of indices. |
Note: A std::runtime_error exception is thrown if Indices
is not large enough to hold the column indices associated with row GlobalRow
. If GlobalRow
does not belong to this node, then Indices
is unchanged and NumIndices
is returned as Teuchos::OrdinalTraits<size_t>::invalid().
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
pure virtual |
Extract a list of entries in a specified local row of the graph. Put into storage allocated by calling routine.
LocalRow | - (In) Local row number for which indices are desired. |
Indices | - (Out) Local column indices corresponding to values. |
NumIndices | - (Out) Number of indices. |
Note: A std::runtime_error exception is thrown if Indices
is not large enough to hold the column indices associated with row LocalRow
. If LocalRow
is not valid for this node, then Indices
is unchanged and NumIndices
is returned as Teuchos::OrdinalTraits<size_t>::invalid().
Implemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
|
virtual |
Pack this object's data for Import or Export.
Implements Tpetra::Packable< GlobalOrdinal, LocalOrdinal >.
Reimplemented in Tpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node, classic >, and Tpetra::CrsGraph< LO, GO, node_type >.
Definition at line 52 of file Tpetra_RowGraph_def.hpp.