矩阵处理算法与格式的研究与性能分析
1. 矩阵原位转置算法探讨
在矩阵运算中,原位转置是一个重要的操作。研究人员提出了基于算法 IPT 的位向量算法,并在 Power 5 上与 IWORK = 100 的算法 MIPT 进行性能对比。令人惊讶的是,在 190 个矩阵的测试集里,MIPT 在 189 种情况下速度更快,其中 15 种情况速度超过两倍。
回顾过往的原位转置算法,最初以为自己的算法是全新的,但在相关资料中发现,一些问题已被提出。例如,Knuth 的著作中提到的问题 12 涉及到本文主题,其解决方案给出了位向量算法的大纲,但缺乏具体细节。此外,还引用了 Berman 算法、Pall 和 Seiden 的算法以及 Boothroyd 的 ACM 算法 302 等。不过,关键发现之一——可以去除位向量的使用(但会增加大量计算机操作)并未被提及。
后来,Knuth 还引用了更多算法,如 Brenner 的 ACM 算法 467、Windley 的算法等。Windley 的论文针对原位转置问题给出了三种解决方案,其中 M. Fieldhouse 的第一种解决方案是 $O(m^2n^2)$ 算法;J. C. Gower 提出了基本算法 IPT,他还通过记录转置元素的数量来加速算法;Windley 的第三种算法是 Gower 算法的变体,能将转置矩阵的每个元素放置到正确位置。Macleod 讨论了矩阵转置的原位置换,并对 Gower 算法进行了改进,不过其性能因矩阵转置的置换方式而异。
ACM 算法 380 采用了 Gower 的发现以及另一个关键发现——对偶原理,还使用了长度为 IWORK 的整数数组 MOVE 来降低关键发现带来的额外计算机操作成本,并通过实验
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



