MATLAB Function Reference | Search  Help Desk |
symrcm | Examples See Also |
Sparse reverse Cuthill-McKee ordering
r = symrcm(S)
r = symrcm(S)
returns the symmetric reverse Cuthill-McKee ordering of S
. This is a permutation r
such that S(r,r)
tends to have its nonzero elements closer to the diagonal. This is a good preordering for LU or Cholesky factorization of matrices that come from long, skinny problems. The ordering works for both symmetric and nonsymmetric S
.
For a real, symmetric sparse matrix, S
, the eigenvalues of S(r,r)
are the same as those of S
, but eig(S(r,r))
probably takes less time to compute than eig(S)
.
The algorithm first finds a pseudoperipheral vertex of the graph of the matrix. It then generates a level structure by breadth-first search and orders the vertices by decreasing distance from the pseudoperipheral vertex. The implementation is based closely on the SPARSPAK implementation described by George and Liu.
The statement
B = buckyuses an M-file in the
demos
toolbox to generate the adjacency graph of a truncated icosahedron. This is better known as a soccer ball, a Buckminster Fuller geodesic dome (hence the name bucky
), or, more recently, as a 60-atom carbon molecule. There are 60 vertices. The vertices have been ordered by numbering half of them from one hemisphere, pentagon by pentagon; then reflecting into the other hemisphere and gluing the two halves together. With this numbering, the matrix does not have a particularly narrow bandwidth, as the first spy plot shows
subplot(1,2,1), spy(B), title('B')The reverse Cuthill-McKee ordering is obtained with
p = symrcm(B); R = B(p,p);The
spy
plot shows a much narrower bandwidth:
subplot(1,2,2), spy(R), title('B(p,p)')This example is continued in the reference pages for
symmmd
.
The bandwidth can also be computed with
[i,j] = find(B); bw = max(i-j) + 1The bandwidths of
B
and R
are 35 and 12, respectively.
colmmd
Sparse column minimum degree permutation
colperm
Sparse column permutation based on nonzero count
symmmd
Sparse symmetric minimum degree ordering