柱近似最小度置换
p = colamd (S)
p = colamd (S)
返回稀疏矩阵的列近似最小次排列向量年代
.对于非对称矩阵年代
,S(:,p)
倾向于有稀疏鲁因子年代
.乔尔斯基分解s(:,p)'* s(:,p)
也往往比的稀疏*年代年代
.
旋钮
是一个两个元素的矢量。如果是米
——- - - - - -n
,然后与超过(旋钮(1))* n
条目将被忽略。大于(旋钮(2))* m
条目在排序之前被删除,在输出排列中被排在最后p
.如果旋钮
参数不存在旋钮(1)
=旋钮(2)= spparms(“wh_frac”)
.
统计数据
是一个可选的向量,提供关于排序和矩阵有效性的数据年代
.
|
忽略的密集或空行数 |
|
忽略的密集或空列数 |
|
所使用的内部数据结构上执行的垃圾收集的数量 |
|
|
|
右侧的列索引是未损成的或包含重复条目,或 |
|
的列索引中最后看到的重复或无序的行索引 |
|
重复和无序的行索引数 |
尽管MATLAB®内置函数生成有效的稀疏矩阵,用户可以使用MATLAB C或Fortran api构造无效的稀疏矩阵并将其传递给colamd
.为此原因,colamd
验证年代
是有效的:
如果一个行索引在同一列中出现两次或两次以上,colamd
中忽略重复条目,继续处理,并提供关于重复条目的信息统计数据(4:7)
.
如果列中的行索引顺序错误,colamd
对矩阵的内部副本的每一列进行排序年代
(但没有修复输入矩阵年代
)继续处理,并提供有关订阅无序条目的信息统计数据(4:7)
.
如果年代
是无效的,colamd
不能继续下去。它打印一个错误消息,并且不返回输出参数(p
或者统计数据
)。
排序之后是列消除树的后排序。
[1] colamd代码的作者是佛罗里达大学的Stefan I. Larimore和Timothy A. Davis (davis@cise.ufl.edu)。该算法是与约翰·吉尔伯特(John Gilbert)、施乐帕洛阿尔托研究中心(Xerox PARC)和橡树岭国家实验室(Oak Ridge National Laboratory)的埃斯蒙德·吴(Esmond Ng)合作开发的。佛罗里达大学稀疏矩阵算法研究:http://www.cise.ufl.edu/research/sparse/