x = np.random.normal(0,4,size=(n,1))
print dot(x,x)
为什么结果会返回有关矩阵尺寸的错误
但如果我使用内部它返回的不是内部产品而是外部
print inner(x,x)
为什么,地球上的内部和一维数组的点?
答案 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}}