amd
近似最小度置换
句法
p = amd(a)
p = amd(a,opts)
描述
p = amd(a)
返回稀疏矩阵的近似最小度置换矢量c = a + a'
。Cholesky的分解C(p,p)
或者应用程序)
往往比C
或者一个
。这amd
功能往往比Symamd
,并且倾向于返回比Symamd
。矩阵一个
必须是正方形。如果一个
是一个完整的矩阵,然后AMD(a)
等同于AMD(稀疏(a))
。
p = amd(a,opts)
允许重新排序的其他选项。这选择
输入是一个结构,下面显示了两个字段。您只需要设置感兴趣的领域:
稠密- 一个非负标量值,表明被认为是密度的值。如果a是n-n,则排行的行超过
max(16,(密集*sqrt(n)))
条目a + a'
被认为是“密集”,在订购过程中被忽略。MATLAB®软件将这些行和列放置在输出排列中。如果此选项不存在,则此字段的默认值为10.0。挑衅的- 控制攻击吸收的标量值。如果将此字段设置为非零值,则执行侵略性吸收。如果此选项不存在,这是默认值。
MATLAB软件执行汇编树后排序,通常与消除树后订购相同。由于所使用的近似程度更新,而且“密集”行和列不参与后订单,这并不总是相同的。它非常适合随后的chol
但是,如果您需要精确的消除树后订购,则可以使用以下代码:
p = amd(s);C = Spones(S)+Spones(S');[ignore,q] = eTree(c(p,p));p = p(q);
如果s
已经对称,省略了第二行,C = Spones(S)+Spones(S')
。