(translator=pacific, ChineseSource=pacific-20020703-8\colperm.html, EnglishSource=c:\matlabr12\help\techdoc\ref\colperm.html)
MATLAB Function Reference    
colperm

Sparse column permutation based on nonzero count

Syntax

Description

j = colperm(S) 產生排列向量(permutation vector) j 使得 S(:,j) 的直行(columns)根據非零元素的數量做遞增排列。這個函式可用在做LU factorization前,預先排列矩陣。指令可寫成 lu(S(:,j))

S 是對稱矩陣, j = colperm(S) 所得到的 j 可使得 S(j,j) 的行和列都根據非零元素的數量遞增排列。若 S 是正定矩陣(positive definite),這個函式可用在做 Cholesky factorization前,預先排列矩陣,指令可寫成 chol(S(j,j))

Algorithm

這個演算法根據每個列(column)中非零元素的數量,來做排列。

Examples

箭頭形狀的 n x n 矩陣。

第一行和第一列都為非零的元素。其 LU factorization, lu(A) 幾乎都是非零的元素。下列指令:

回傳 j = [2:n 1]。所以 A(j,j) 的最下行和最右邊的列都為非零元素,lu(A(j,j))A 本身有相同的非零結構。

另一方面, Bucky ball 的範例 B = bucky,

每行每列都有剛好三個非零的元素,所以 j = colperm(B) 有相同的排列順序而無法減少元素的數量( and is no help at all for reducing fill-in with subsequent factorizations.)

See Also

chol, colamd, colmmd, lu, spparms, symamd, symmmd, symrcm


 ColorSpec comet