2个矩阵中行的点积

时间:2014-03-20 16:16:15

标签: python numpy

所以我基本上有矩阵

a = [x1,y1,z1
     x2,y2 z2
     .....
     xN,yN,zN]

b = [i1,j1,k1 i2,j2,k2 ....]

并且想要取b的行1的行1的点积,b的行2的行2,依此类推。它们都是形状(3,71216)但是

np.dot(a,b) 

给出ValueError:对象未对齐。 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

这是因为np.dot期望第一个参数的行数等于第二个参数的行数,如错误消息所示。

您需要对齐数组:

np.dot(a, b.T)

你的问题很混乱,因为你说数组有形状(3,71216),但你的例子显示了转置(71216,3)。

无论如何,听起来你只是想要这个,而不是点积:

(a * b).sum(axis=0)