将不同维度的大矩阵与numpy相乘

问题描述 投票:-1回答:1

我编写了一个python程序,该程序从文本文件中获取数字并生成两个矩阵。这些矩阵的大小非常大。

例如,矩阵1是5 * X,矩阵2是X * 5,其中X是0到160之间的随机数

我已经尝试了以下将矩阵相乘并使用较小的数字来验证相乘的方法:

result = np.dot(matrix1,matrix2)
result = matrix1.dot(matrix2)
result = np.multiply(matrix1, matrix2[:, None])

当两个矩阵的尺寸彼此相等时,这三种方法都起作用。因此,将5 * 5矩阵乘以5 * 5矩阵即可。我的代码尝试乘以维度不相等的矩阵时,将引发错误。例如,将5 * 4矩阵乘以3 * 5矩阵将抛出一个错误,该错误始终指向我上面显示的三种方法之一

我如何能够将两个不同维度的矩阵相乘?

python numpy matrix matrix-multiplication
1个回答
0
投票

对于矩阵A定义为MxN,对于矩阵B定义为NxP,因此得出矩阵AB的尺寸为MxP。

第一个矩阵中的“列”数必须与第二个矩阵中的“行”数相同。其他两个维度不需要匹配。

© www.soinside.com 2019 - 2024. All rights reserved.