DUNE PDELab (git)
The (undirected) graph of a matrix. More...
#include <dune/istl/paamg/graph.hh>
Classes | |
class | EdgeIteratorT |
Iterator over all edges starting from a vertex. More... | |
class | VertexIteratorT |
The vertex iterator type of the graph. More... | |
Public Types | |
typedef M | Matrix |
The type of the matrix we are a graph for. | |
typedef std::remove_const< M >::type | MutableMatrix |
The mutable type of the matrix we are a graph for. | |
typedef M::block_type | Weight |
The type of the weights. | |
typedef M::size_type | VertexDescriptor |
The vertex descriptor. More... | |
typedef std::ptrdiff_t | EdgeDescriptor |
The edge descriptor. More... | |
typedef EdgeIteratorT< const MatrixGraph< Matrix > > | ConstEdgeIterator |
The constant edge iterator type. | |
typedef EdgeIteratorT< MatrixGraph< Matrix > > | EdgeIterator |
The mutable edge iterator type. | |
typedef VertexIteratorT< const MatrixGraph< Matrix > > | ConstVertexIterator |
The constant vertex iterator type. | |
typedef VertexIteratorT< MatrixGraph< Matrix > > | VertexIterator |
The mutable vertex iterator type. | |
Public Member Functions | |
MatrixGraph (Matrix &matrix) | |
Constructor. More... | |
~MatrixGraph () | |
Destructor. | |
VertexIterator | begin () |
Get an iterator over the vertices. More... | |
VertexIterator | end () |
Get an iterator over the vertices. More... | |
ConstVertexIterator | begin () const |
Get an iterator over the vertices. More... | |
ConstVertexIterator | end () const |
Get an iterator over the vertices. More... | |
EdgeIterator | beginEdges (const VertexDescriptor &source) |
Get an iterator over the edges starting at a vertex. More... | |
EdgeIterator | endEdges (const VertexDescriptor &source) |
Get an iterator over the edges starting at a vertex. More... | |
ConstEdgeIterator | beginEdges (const VertexDescriptor &source) const |
Get an iterator over the edges starting at a vertex. More... | |
ConstEdgeIterator | endEdges (const VertexDescriptor &source) const |
Get an iterator over the edges starting at a vertex. More... | |
Matrix & | matrix () |
Get the underlying matrix. More... | |
const Matrix & | matrix () const |
Get the underlying matrix. More... | |
std::size_t | noVertices () const |
Get the number of vertices in the graph. | |
VertexDescriptor | maxVertex () const |
Get the maximal vertex descriptor. More... | |
std::size_t | noEdges () const |
Get the number of edges in the graph. | |
EdgeDescriptor | findEdge (const VertexDescriptor &source, const VertexDescriptor &target) const |
Find the descriptor of an edge. More... | |
Detailed Description
class Dune::Amg::MatrixGraph< M >
The (undirected) graph of a matrix.
The graph of a sparse matrix essentially describes the sparsity pattern (nonzero entries) of a matrix. It is assumed that the underlying sparsity pattern is symmetric, i.e if entry a_ij is present in the storage scheme of the matrix (i.e. nonzero) so is a_ji.
The matrix entries can be accessed as weights of the vertices and edges.
Member Typedef Documentation
◆ EdgeDescriptor
typedef std::ptrdiff_t Dune::Amg::MatrixGraph< M >::EdgeDescriptor |
The edge descriptor.
Each edge is identifies by exactly one descriptor.
◆ VertexDescriptor
typedef M::size_type Dune::Amg::MatrixGraph< M >::VertexDescriptor |
The vertex descriptor.
Each descriptor describes exactly one vertex.
Constructor & Destructor Documentation
◆ MatrixGraph()
Dune::Amg::MatrixGraph< M >::MatrixGraph | ( | Matrix & | matrix | ) |
Constructor.
- Parameters
-
matrix The matrix we are a graph for.
Member Function Documentation
◆ begin() [1/2]
VertexIterator Dune::Amg::MatrixGraph< M >::begin | ( | ) |
Get an iterator over the vertices.
- Returns
- A vertex Iterator positioned at the first vertex.
◆ begin() [2/2]
ConstVertexIterator Dune::Amg::MatrixGraph< M >::begin | ( | ) | const |
Get an iterator over the vertices.
- Returns
- A vertex Iterator positioned at the first vertex.
◆ beginEdges() [1/2]
EdgeIterator Dune::Amg::MatrixGraph< M >::beginEdges | ( | const VertexDescriptor & | source | ) |
Get an iterator over the edges starting at a vertex.
- Parameters
-
source The vertex where the edges should start.
- Returns
- An edge iterator positioned at the first edge starting from vertex source.
◆ beginEdges() [2/2]
ConstEdgeIterator Dune::Amg::MatrixGraph< M >::beginEdges | ( | const VertexDescriptor & | source | ) | const |
Get an iterator over the edges starting at a vertex.
- Parameters
-
source The vertex where the edges should start.
- Returns
- An edge iterator positioned at the first edge starting from vertex source.
◆ end() [1/2]
VertexIterator Dune::Amg::MatrixGraph< M >::end | ( | ) |
Get an iterator over the vertices.
- Returns
- A vertex Iterator positioned behind the last vertex.
◆ end() [2/2]
ConstVertexIterator Dune::Amg::MatrixGraph< M >::end | ( | ) | const |
Get an iterator over the vertices.
- Returns
- A vertex Iterator positioned behind the last vertex.
◆ endEdges() [1/2]
EdgeIterator Dune::Amg::MatrixGraph< M >::endEdges | ( | const VertexDescriptor & | source | ) |
Get an iterator over the edges starting at a vertex.
- Parameters
-
source The vertex where the edges should start.
- Returns
- An edge iterator positioned behind the last edge starting from vertex source.
◆ endEdges() [2/2]
ConstEdgeIterator Dune::Amg::MatrixGraph< M >::endEdges | ( | const VertexDescriptor & | source | ) | const |
Get an iterator over the edges starting at a vertex.
- Parameters
-
source The vertex where the edges should start.
- Returns
- An edge iterator positioned behind the last edge starting from vertex source.
◆ findEdge()
EdgeDescriptor Dune::Amg::MatrixGraph< M >::findEdge | ( | const VertexDescriptor & | source, |
const VertexDescriptor & | target | ||
) | const |
Find the descriptor of an edge.
- Parameters
-
source The source vertex of the edge we search for. target The target vertex of the edge we search for.
- Returns
- The edge we found or numeric_limits<EdgeIterator>::max() if it does not exist.
◆ matrix() [1/2]
Matrix & Dune::Amg::MatrixGraph< M >::matrix | ( | ) |
Get the underlying matrix.
- Returns
- The matrix of the graph.
◆ matrix() [2/2]
const Matrix & Dune::Amg::MatrixGraph< M >::matrix | ( | ) | const |
Get the underlying matrix.
- Returns
- The matrix of the graph.
◆ maxVertex()
VertexDescriptor Dune::Amg::MatrixGraph< M >::maxVertex | ( | ) | const |
Get the maximal vertex descriptor.
- Returns
- The minimum value v such that for all vertices w in the graph w<v holds.
The documentation for this class was generated from the following file:
- dune/istl/paamg/graph.hh