【发布时间】:2014-05-13 11:27:19
【问题描述】:
Strassen 的矩阵乘法算法与传统的O(N^3) 算法相比仅略有改进。它具有更高的常数因子并且更难实现。鉴于这些缺点,strassens 算法真的有用吗?它是否在任何矩阵乘法库中实现?另外,矩阵乘法在库中是如何实现的?
【问题讨论】:
-
这个问题在这里并不合适,它更多的是关于算法和编程哲学,而不是关于实际代码。您是在问 Matlab 使用什么矩阵乘法算法?
-
不,我只是想知道标准库中的矩阵乘法是如何实现的,以及是否使用了 strassen 算法。
-
那么你不应该在 Matlab 中标记它。
-
从我的自制实验中,Strassen 的算法在数百个数量级的大小上开始优于按定义方法。不知道图书馆。
-
从我个人的经验以及对文献的粗浅研究来看,Strassen 的算法在不到 100 的数量级上优于 naive 方法;然而,这在很大程度上取决于内存布局和并行化程度。 Strassen 的算法实际上适合实践的事实似乎是一个不断重新发现的结果。可以在这里找到不同的讨论:tawqer.com/tag/strassen%20algorithm#.UzvndFdTtas
标签: algorithm matrix matrix-multiplication