我一直在阅读用于重新排序稀疏矩阵以获得更好性能的不同技术,最流行的是 Cuthill-McKee 或 Reverse Cuthill-McKee 算法。这些技术中的大多数都专注于减少矩阵的带宽,该带宽被定义为非零条目与主对角线的最远距离。
如果我理解正确,重新排序算法优化纯粹是计算性的:目标是提出一个更适合缓存效果的矩阵存储。这是真的还是重新排序会影响迭代算法的收敛/准确性?
另外,为什么人们主要关注矩阵带宽,而不是例如每个矩阵行的平均带宽?如果除 1 之外的大多数点都位于对角线旁边,则矩阵带宽仍然很高,但性能应该接近最佳(假设矩阵大小 n >> 1)。