Jump to content

Cuthill–McKee algorithm

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ysaad us (talk | contribs) at 20:04, 12 December 2011 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In the mathematical subfield of matrix theory, the Cuthill–McKee algorithm (named for Elizabeth Cuthill and J. McKee) [1] is an algorithm to permute a matrix into a banded form with a small bandwidth of sparse symmetric matrices. The reverse Cuthill–McKee algorithm (RCM) due to Alan George is the same algorithm but with the resulting index numbers reversed. In practice this generally results in less fill-in than the CM ordering when Gaussian elimination is applied.[2]

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 R of vertices which is the new order of the vertices.

First we choose a peripheral vertex x and set R := ({x}).

Then for we iterate the following steps while |R| < n

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

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. ^ E. Cuthill and J. McKee. Reducing the bandwidth of sparse symmetric matrices In Proc. 24th Nat. Conf. ACM, pages 157–172, 1969.
  2. ^ J. A. George and J. W-H. Liu, Computer Solution of Large Sparse Positive Definite Systems, Prentice-Hall, 1981