Cuthill-McKee algorithm

From Wikipedia, the free encyclopedia

In the mathematical subfield of matrix theory the Cuthill-McKee algorithm is an algorithm to reduce the bandwidth of sparse symmetric matrices.

[edit] Algorithm

Given a symmetric n×n 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 i=1,2,.. we iterate the following steps while |R| < n

  • Construct the adjacency set Ai of Ri (with Ri the i-th component of R) and exclude the vertices we already have in R
A_i := \mathrm{Adj(R_i)} \setminus R
  • Sort Ai with ascending vertex order.
  • Append Ai to the Result set R

[edit] References

E. Cuthill and J. McKee. Reducing the bandwidth of sparse symmetric matrices In Proc. 24th Nat. Conf. ACM, pages 157-172, 1969.