RCM Numberer: Difference between revisions

From OpenSeesWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 6: Line 6:


{|  
{|  
| style="background:yellow; color:black; width:800px" | '''numberer RCM'''
| style="background:lime; color:black; width:800px" | '''numberer RCM'''
|}
|}




-----
-----


REFERENCES:
REFERENCES:
Line 18: Line 19:
----
----


THEORY:
Given a symmetric (in structure) ''n''-by-''n'' matrix we create a graph of the matrix, where the vertices correspond to the equation numbers and the edges of the graph correspond to non-zero (in structure, not necessarily value) <math> a_{ij} </math> matrix terms.
The reverse Cuthill-McKee algorithm is a relabeling of the vertices of the graph to reduce the bandwidth of the 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 search,  where neighboring vertices are visited in order from lowest to highest vertex order.
----


Code Developed by: <span style="color:blue"> fmk </span>
Code Developed by: <span style="color:blue"> fmk </span>

Latest revision as of 00:48, 1 June 2013