对称近似最小度置换
p = symamd(s)
p = symamd(s,旋钮)
[p,stats] = symamd(...)
p = symamd(s)
对于一个对称的正定矩阵S.
,返回排列载体P.
这样s(p,p)
倾向于有一个稀疏的尖弦系数S.
。找到订购S.
那Symamd.
构建一个矩阵m
这样旋转(m'* m)=旋转痉挛
,然后计算P = Colamd(M)
。这Symamd.
功能也可以适用于对称无限矩阵。
S.
必须是正方形;只引用严格的下降三角形部分。
p = symamd(s,旋钮)
在哪里旋钮
是一个标量。如果S.
是N.
-经过-N.
,带有更多的行和列旋钮* n
在订购之前删除条目,并在输出排列中排列P.
。如果是旋钮
参数不存在,然后旋钮= spparms('wh_frac')
。
[p,stats] = symamd(...)
产生可选的矢量统计
提供有关矩阵的排序和有效性的数据S.
。
统计数据(1) |
忽略的密集或空行数 |
统计数据(2) |
忽略的密集或空列数 |
统计(3) |
对内部数据结构执行的垃圾收集数 |
统计数据(4) |
|
统计数据(5) |
右侧的列索引是未损成的或包含重复条目,或 |
统计数据(6) |
最后一次看到的列索引中的重复或无序行索引 |
统计数据(7) |
重复次数和oroundlow行索引 |
虽然Matlab.®内置函数生成有效的稀疏矩阵,用户可以使用MATLAB C或FORTRAN API构造无效的稀疏矩阵并将其传递给Symamd.
。为此原因,Symamd.
验证那个S.
已验证:
如果行索引在同一列中出现两个或更多次,则Symamd.
忽略重复条目,继续处理,并提供有关重复条目的信息统计数据(4:7)
。
如果列中的行索引无序,Symamd.
对其内部副本的每列进行排序S.
(但没有修复输入矩阵S.
)继续处理,并提供有关订阅无序条目的信息统计数据(4:7)
。
如果S.
以任何其他方式无效,Symamd.
不能继续。它打印错误消息,并返回输出参数(P.
要么统计
)。
订购后面是排序后的对称消除树。
代码的作者Symamd.
斯特凡斯特斯法尔和蒂莫西A.戴维斯(davis@cise.ufl.edu.
),佛罗里达大学。该算法与John Gilbert,Xerox Parc和奥蒙德NG,奥蒙德国家实验室合作开发。佛罗里达大学稀疏矩阵算法研究:https://www.cise.ufl.edu/research/sparse/