amd
近似最小度排列
语法
P = amd(A)
P = amd(A,opts)
描述
P = amd(A)
返回稀疏矩阵的近似最小度排列向量C = a + a '
.Cholesky因式分解C (P, P)
或(P, P)
往往比的更稀疏C
或一个
.的amd
函数往往比symamd
,而且往往会返回更好的订单symamd
.矩阵一个
一定是正方形的。如果一个
是完整的矩阵吗amd (A)
等于amd(稀疏(A))
.
P = amd(A,opts)
允许重排序的附加选项。的选择
Input是一个包含如下两个字段的结构。你只需要设置感兴趣的字段:
密集的-一个非负标量值,表示什么被认为是密集的。如果A是n × n的,那么行和列大于
max(16日(密度* sqrt (n)))
条目A + A'
被认为是“密集的”,在排序过程中被忽略。MATLAB®软件将这些行和列放在输出排列的最后。如果这个选项不存在,这个字段的默认值是10.0。咄咄逼人的-控制积极吸收的标量值。如果该字段设置为非零值,则执行主动吸收。如果此选项不存在,则此选项为默认值。
MATLAB软件执行装配树后序,这通常与消去树后序相同。它并不总是相同的,因为使用了近似的度数更新,并且因为“密集的”行和列不参与后排。它非常适合后续胆固醇
但是,如果你需要一个精确的消元树后排序,你可以使用以下代码:
P = amd(S);C = spones(S)+spones(S’);[ignore, Q] = tree(C(P,P));P = P(q);
如果年代
已经对称了,省略第二行,C = spones(S)+spones(S’)
.
例子
参考文献
[1]阿米斯托,帕特里克R.,蒂莫西A.戴维斯,伊恩S.达夫。算法837:AMD,近似最小度排序算法。ACM数学软件汇刊30日,没有。3(2004年9月):381-388。https://doi.org/10.1145/1024074.1024081.