我最近一直致力于一个相当广泛的计划,目前我正处于必须利用矩阵乘法的地步。事实上,对于这个特定的程序,速度至关重要。我熟悉一些矩阵设置,但我想知道哪种方法运行速度最快。我做了大量的研究,但结果却很少。以下是我熟悉的矩阵乘法算法列表:
如果有人需要澄清我列出的方法或一般的问题,请随时提出。
答案 0 :(得分:3)
Strassen算法和天真(O(n ^ 3))算法在实践中使用最多。
没有使用具有更严格的渐近边界的更复杂的算法,因为它们的优点仅对于非常大的矩阵是明显的,因为它们的复杂性,例如, Coppersmith算法。
正如其他人指出的那样,您可能希望使用像ATLAS这样的库,它会根据您执行的平台的特征自动调整算法,例如: L1 / L2缓存大小。
答案 1 :(得分:2)
最快的方式可能是使用已经优化的现有库,您不必每次都重新发明轮子。