algorithm - 最快的矩阵乘法是什么?

标签 algorithm matrix

我最近一直在研究一个相当广泛的程序,目前我正处于必须利用矩阵乘法的地步。事情是,对于这个特定的程序,速度是至关重要的。我熟悉许多矩阵设置,但我想知道哪种方法运行最快。我做了广泛的研究,但结果很少。这是我熟悉的矩阵乘法算法的列表:

  • 迭代算法
  • 分而治之算法
  • 次三次算法
  • 共享内存并行

如果有人需要澄清我列出的方法或一般问题,请随时提问。

最佳答案

Strassen算法和朴素 (O(n^3)) 算法在实践中使用最多。

没有使用具有更严格渐近界限的更复杂的算法,因为它们的好处仅适用于非常大的矩阵,因为它们的复杂性,例如Coppersmith算法。

正如其他人指出的那样,您可能希望使用像 ATLAS 这样的库这将根据您正在执行的平台的特性自动调整算法,例如L1/L2 缓存大小。

关于algorithm - 最快的矩阵乘法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33549323/

相关文章:

matlab - 改进 MATLAB 矩阵构造代码 : Or, 代码 Vectorization for beginners

algorithm - 使用网络摄像头跟踪手势

c++ - 3D vector 的高效量级计算

database - 无环有向图祖先的高效数据库查询

matrix - 我如何竞争将矩形转换为梯形所需的转换矩阵?

matrix - 投影矩阵在平面上投影一个点

r - 每列不同的硬阈值

algorithm - 使用 Golang 的遗传算法中的轮盘赌选择

c# - 确定字符串是否具有所有唯一字符

r - 如何将值矩阵转换为二进制矩阵