我编写了一个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矩阵将抛出一个错误,该错误始终指向我上面显示的三种方法之一
如何将两个不同维度的矩阵相乘?
答案 0 :(得分:1)
第一个矩阵中的“列”数必须与第二个矩阵中的“行”数相同。其他两个维度不需要匹配。
您可以通过切换矩阵的顺序或换位来实现这一点,但是Mx N 和 N xP两个“ N”维必须匹配。