Python的内部产品

时间:2014-10-05 04:04:34

标签: python numpy

x = np.random.normal(0,4,size=(n,1))
print dot(x,x)

为什么结果会返回有关矩阵尺寸的错误

但如果我使用内部它返回的不是内部产品而是外部

print inner(x,x)

为什么,地球上的内部和一维数组的点?

1 个答案:

答案 0 :(得分:1)

您的x不是一维数组。它是2D Nx1阵列。如果您需要一维数组,则需要size=n致电normal

鉴于the documentation np.dot中所述:

  

对于二维数组,它相当于矩阵乘法

你不能将Nx1与另一个Nx1矩阵乘法。

同样在np.inner np.inner(a, b) = np.tensordot(a, b, axes=(-1,-1))

  

更一般地说,如果ndim(a)= r> 0和ndim(b)= s> 0:

     

np.inner(a, b)[i0,...,ir-1,j0,...,js-1]

     

或明确地:

     

= sum(a[i0,...,ir-1,:]*b[j0,...,js-1,:])

     

{{1}}