n*n 矩阵乘法需要多少步?

Posted

技术标签:

【中文标题】n*n 矩阵乘法需要多少步?【英文标题】:How many many steps needed for n*n matrix multiplication? 【发布时间】:2018-11-11 08:17:07 【问题描述】:

我在去年的问题中有一个奇怪的问题,那就是,如果一个算法需要 21 步来进行 7*7 矩阵乘法,那么它需要多少步才能进行 n*n 矩阵乘法?

我尝试做 7*7 矩阵乘法并计算了多少次乘法。然后我尝试将乘法的 n 与 steps 联系起来。但它不起作用。

从很多人那里,我听说答案是 3n,但他们无法解释为什么是 3n 作为答案。

您能简单地告诉我如何解决这个问题吗?

【问题讨论】:

看起来更像 (n-1) n/2 解释你的解决方案的逻辑 那么你枚举了一个三角形的元素,所以需要 (n-1) n/2 步。 你能发布一个解释细节的答案吗? 【参考方案1】:

考虑到对于每个 row.dot(column) 你必须做同样的事情,你必须为每个 row.column 对做这个 - 所以看起来每个维度都会给你21/7=3 步骤,因为你有 7 个 row.column 对,总共需要 21 个步骤。

【讨论】:

以上是关于n*n 矩阵乘法需要多少步?的主要内容,如果未能解决你的问题,请参考以下文章

HihoCoder 1504 : 骑士游历 (矩阵乘法)

B20J_1297_[SCOI2009]迷路_矩阵乘法

Cupy矩阵乘法n次

BZOJ_4818_[Sdoi2017]序列计数_矩阵乘法

poj 3735 Training little cats 矩阵快速幂+稀疏矩阵乘法优化

矩阵的乘法运算法则