Jump to content

Cuthill–McKee algorithm

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by DannyS712 (talk | contribs) at 05:15, 16 August 2019 ((GR) File renamed: File:Can 73 rcm svg.svgFile:Can 73 rcm.svg Criterion 6 (maintenance or bug fix)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Cuthill-McKee ordering of a matrix
RCM ordering of the same matrix

In numerical linear algebra, the Cuthill–McKee algorithm (CM), named for Elizabeth Cuthill and James[1] McKee,[2] is an algorithm to permute a sparse matrix that has a symmetric sparsity pattern into a band matrix form with a small bandwidth. The reverse Cuthill–McKee algorithm (RCM) due to Alan George is the same algorithm but with the resulting index numbers reversed.[3] In practice this generally results in less fill-in than the CM ordering when Gaussian elimination is applied.[4]

The Cuthill McKee algorithm is a variant of the standard breadth-first search algorithm used in graph algorithms. It starts with a peripheral node and then generates levels for until all nodes are exhausted. The set is created from set by listing all vertices adjacent to all nodes in . These nodes are listed in increasing degree. This last detail is the only difference with the breadth-first search algorithm.

Algorithm

Given a symmetric matrix we visualize the matrix as the adjacency matrix of a graph. The Cuthill–McKee algorithm is then a relabeling of the vertices of the graph to reduce the bandwidth of the adjacency matrix.

The algorithm produces an ordered n-tuple of vertices which is the new order of the vertices.

First we choose a peripheral vertex (the vertex with the lowest degree) and set .

Then for we iterate the following steps while

  • Construct the adjacency set of (with the i-th component of ) and exclude the vertices we already have in
  • Sort with ascending vertex order (vertex degree).
  • Append to the Result set .

In other words, number the vertices according to a particular breadth-first traversal where neighboring vertices are visited in order from lowest to highest vertex order.

See also

References

  1. ^ Recommendations for ship hull surface representation, page 6
  2. ^ E. Cuthill and J. McKee. Reducing the bandwidth of sparse symmetric matrices In Proc. 24th Nat. Conf. ACM, pages 157–172, 1969.
  3. ^ http://ciprian-zavoianu.blogspot.ch/2009/01/project-bandwidth-reduction.html
  4. ^ J. A. George and J. W-H. Liu, Computer Solution of Large Sparse Positive Definite Systems, Prentice-Hall, 1981