p
=
symmmd(S)
p = symmmd(S)
returns a symmetric minimum degree ordering of S
. For a symmetric positive definite matrix S
, this is a permutation p
such that S(p,p)
tends to have a sparser Cholesky factor than S
. Sometimes symmmd
works well for symmetric indefinite matrices too.
The minimum degree ordering is automatically used by \
and /
for the solution of symmetric, positive definite, sparse linear systems.
Some options and parameters associated with heuristics in the algorithm can be changed with spparms
.
symmmd(A)
just creates a nonzero structure K
such that K'
*K
has the same nonzero structure as A
and then calls the column minimum degree code for K
.
symrcm
reference page.
B = bucky+4
*speye(60);
r = symrcm(B);
p = symmmd(B);
R = B(r,r);
S = B(p,p);
subplot(2,2,1), spy(R), title('B(r,r)')
subplot(2,2,2), spy(S), title('B(s,s)')
subplot(2,2,3), spy(chol(R)), title('chol(B(r,r))')
subplot(2,2,4), spy(chol(S)), title('chol(B(s,s))')
Even though this is a very small problem, the behavior of both orderings is typical. RCM produces a matrix with a narrow bandwidth which fills in almost completely during the Cholesky factorization. Minimum degree produces a structure with large blocks of contiguous zeros which do not fill in during the factorization. Consequently, the minimum degree ordering requires less time and storage for the factorization.
\
,chol
,colmmd
,colperm
,spparms
,symrcm
(c) Copyright 1994 by The MathWorks, Inc.