RCM Numberer

From OpenSeesWiki
Revision as of 00:50, 2 March 2010 by Fmk (talk | contribs) (Created page with 'Given a symmetric ''n''×''n'' matrix we visualize the matrix as the adjacency matrix of a graph. The Cuthill-McKee algorithm is then a relabelin...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 <math>A_i</math> of <math>R_i</math> (with <math>R_i</math> the i-th component of R) and exclude the vertices we already have in R
<math>A_i := \operatorname{Adj}(R_i) \setminus R</math>
  • Sort <math>A_i</math> with ascending vertex order.
  • Append <math>A_i</math> 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.

References

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