Dune::Amg::MatrixGraph< M > Class Template Reference
[Parallel Algebraic Multigrid]
#include <graph.hh>
Detailed Description
template<class M>
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.
Public Types | |
typedef M | Matrix |
The 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. | |
typedef std::ptrdiff_t | EdgeDescriptor |
The edge descriptor. | |
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. | |
~MatrixGraph () | |
Destructor. | |
VertexIterator | begin () |
Get an iterator over the vertices. | |
VertexIterator | end () |
Get an iterator over the vertices. | |
ConstVertexIterator | begin () const |
Get an iterator over the vertices. | |
ConstVertexIterator | end () const |
Get an iterator over the vertices. | |
EdgeIterator | beginEdges (const VertexDescriptor &source) |
Get an iterator over the edges starting at a vertex. | |
EdgeIterator | endEdges (const VertexDescriptor &source) |
Get an iterator over the edges starting at a vertex. | |
ConstEdgeIterator | beginEdges (const VertexDescriptor &source) const |
Get an iterator over the edges starting at a vertex. | |
ConstEdgeIterator | endEdges (const VertexDescriptor &source) const |
Get an iterator over the edges starting at a vertex. | |
Matrix & | matrix () |
Get the underlying matrix. | |
const Matrix & | matrix () const |
Get the underlying matrix. | |
int | noVertices () const |
Get the number of vertices in the graph. | |
VertexDescriptor | maxVertex () const |
Get the maximal vertex descriptor. | |
int | 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. | |
Classes | |
class | EdgeIteratorT |
Iterator over all edges starting from a vertex. More... | |
class | VertexIteratorT |
The vertex iterator type of the graph. More... |
Member Typedef Documentation
template<class M>
typedef M::size_type Dune::Amg::MatrixGraph< M >::VertexDescriptor |
The vertex descriptor.
Each descriptor describes exactly one vertex.
template<class M>
typedef std::ptrdiff_t Dune::Amg::MatrixGraph< M >::EdgeDescriptor |
The edge descriptor.
Each edge is identifies by exactly one descriptor.
Constructor & Destructor Documentation
template<class M>
Dune::Amg::MatrixGraph< M >::MatrixGraph | ( | Matrix & | matrix | ) |
Constructor.
- Parameters:
-
matrix The matrix we are a graph for.
The documentation for this class was generated from the following file: