Dune::Amg::MatrixGraph< M > Class Template Reference
[Parallel Algebraic Multigrid]

#include <graph.hh>

List of all members.


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.
Matrixmatrix ()
 Get the underlying matrix.
const Matrixmatrix () 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:

Generated on Tue Jul 28 22:29:24 2009 for dune-istl by  doxygen 1.5.6