symamd
对称的近似最小程度排列
语法
p = symamd (S)
p = symamd(年代,旋钮)
[p,统计]= symamd (…)
描述
p = symamd (S)
对称正定矩阵年代
,返回排列向量p
这样S (p, p)
往往有一个稀疏的柯列斯基比年代
。找到的命令年代
,symamd
构造一个矩阵米
这样spones (M *米)= spones (S)
,然后计算p = colamd (M)
。的symamd
函数也可能适合对称不定矩阵。
年代
必须广场;只有严格的下三角部分是引用。
p = symamd(年代,旋钮)
在哪里旋钮
是一个标量。如果年代
是n
——- - - - - -n
与多行和列旋钮* n
条目删除命令之前,去年在输出排列有序p
。如果旋钮
参数不存在,那么旋钮= spparms (“wh_frac”)
。
[p,统计]= symamd (…)
产生可选的向量统计数据
提供的数据排序和矩阵的有效性年代
。
统计(1) |
忽视了密集的或空的行数 |
统计(2) |
密集的或空的列所忽略 |
统计数据(3) |
数量的垃圾收集上执行所使用的内部数据结构 |
(4)统计数据 |
|
(5)统计数据 |
最右边的列索引无序或包含重复的条目,或 |
统计数据(6) |
最后一次看到重复或无序的行索引的列索引 |
统计(7) |
重复和无序的行索引 |
尽管如此,MATLAB®内置函数生成有效的稀疏矩阵,一个用户可以使用MATLAB构造一个无效的稀疏矩阵并将其传递给C或Fortran apisymamd
。由于这个原因,symamd
验证年代
是有效的:
如果指数连续出现两次或两次以上相同的列,
symamd
忽略了重复的条目,继续处理,提供的信息重复的条目统计(4)
。如果行索引列的顺序,
symamd
类内部的副本矩阵的每一列年代
(但不修复输入矩阵年代
),继续处理,并提供信息的无序条目统计(4)
。如果
年代
是无效的任何其他方式,symamd
不能继续下去。它打印一个错误消息,并返回输出参数(p
或统计数据
)。
定是紧随其后的是一个对称消去树后序。
例子
引用
代码的作者symamd
Stefan i Larimore和蒂莫西·a·戴维斯(davis@cise.ufl.edu
),佛罗里达大学。算法是与约翰·吉尔伯特施乐帕克研究中心,和埃斯蒙德Ng,橡树岭国家实验室。佛罗里达大学的稀疏矩阵算法研究:https://www.cise.ufl.edu/research/sparse/