这在技术上可能是可能的

Is this multiplication technically possible?

本文关键字:在技术上      更新时间:2023-10-16

我有2个矩阵,具有200,000x3,000和3,000x200,000。它们是密集的,大多数值(80%(被填充。

为此需要多少次迭代?

幼稚算法将占O(200,000 * 3,000 * 200,000(,即O(120,000,000,000,000(,即120万亿个操作,因此可能需要一段时间。

>

操作数将分别大约为4.5 GB,而输出矩阵将需要大约298 GB,假设每双字节8个字节。

将Strassen与天真算法进行比较为:

并不是一件直接的

此外,矩阵不需要正方形。可以使用相同的方法将非方面的矩阵分为一半,从而产生较小的非平方矩阵。如果矩阵足够非方面,则使用基本上是O(n 2 (的简单方法将初始操作减少到更多方形产品。例如:

  • 大小[2n x n] * [n x 10n]的产物可以作为20个单独的[n x n] * [n x n]操作,以形成结果;
  • 大小[n x 10n] * [10n x n]的产物可以作为10个单独的[n x n] * [n x n]操作,总结以形成结果。

与仅填充两个正方形相比,这些技术将使实施更加复杂。但是,这是一个合理的假设,即任何实施Strassen而不是常规乘法的人都将比实施简单性更高的计算效率优先级。

另请参见自适应Strassen的矩阵乘法。