【发布时间】:2017-08-01 16:07:32
【问题描述】:
当我们将两个大小为 m x k 的矩阵 A 和大小为 k x n 的 B 相乘时,我们使用以下代码:
#for resultant matrix rows
for i in range(m):
#for resultant matrix column
for j in range(n):
for l in range(k):
#A's row x B's columns
c[i][j]=c[i][j]+a[i][l]*b[l][j]
我的 cmets 在代码中对循环的解释是否正确?是否有更好的循环解释或编码矩阵乘法的更好思考过程?
EDIT1:我不是在寻找更好的代码。我的问题是关于当我们将矩阵乘法的数学转换为代码时的思考过程。
【问题讨论】:
-
如果您想对评论提出其他建议,那么“A 的第 i 行 x B 的第 j 列”?
-
另外你可能不应该使用
l作为迭代变量,乍一看它看起来像1或I -
您的代码是正确的。我正在为我的一个项目使用类似的循环(查看此页面上的 javascript:math.tools/calculator/matrix/multiplication)。我很想在页面上添加您要求的详细解释。下面的一些解释很不错,但我仍然觉得我们可以做得更好。
标签: python algorithm matrix matrix-multiplication