MATLAB Function Reference |
Sparse symmetric minimum degree ordering
Syntax
p = symmmd(S)
Description
p = symmmd(S)
回傳 S
的 symmetric minimum degree ordering
。對一個對稱的正定(positive definite)矩陣 S
來說,回傳排列向量(permutation vector) p
,使得 S(p,p)
有比 S
更稀疏的 Cholesky factor。 symamd
函式對於對稱不定(symmetric indefinite)矩陣也可能計算出結果(works well)。
Remarks
當我們使用 \
和 /
來對對稱性的正定稀疏線性系統(symmetric, positive definite, sparse linear systems)做計算的時候,會利用到
minimum degree ordering。
Algorithm
symmetric minimum degree algorithm 是根據 the column minimum
degree algorithm 來產生的。事實上, symmmd(A)
只是建立一個有非零數值的結構 K
,使的 K'
*K
和 A
的非零數值的結構相同,再去解 K
的 column minimum degree。
Examples
在 symrcm
網頁中有提到用 reverse Cuthill-McKee 和
minimum degree 二種方法來做 Bucky ball 範例的比較。
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))')
即使這個範例的運算量不大,但是和運算量很大時所得到的結果是差不多的。 RCM 會產生一個窄寬度的頻寬,而在執行 Cholesky factorization 時頻寬中幾乎都是非零結構。而 Minimum degree 在執行 factorization 產生一大塊連續的零。因此, minimum degree ordering 較省時間和儲存位元。
See Also
colamd
, colmmd
, colperm
, symamd
, symrcm
References
[1] Gilbert, John R., Cleve Moler, and Robert Schreiber, "Sparse Matrices in MATLAB: Design and Implementation," SIAM Journal on Matrix Analysis and Applications 13, 1992, pp. 333-356.
symmlq | symrcm |