Python 以下两个乘数在numpy中的区别是什么?

Python 以下两个乘数在numpy中的区别是什么?,python,numpy,math,matrix,Python,Numpy,Math,Matrix,以下两个乘数之间的区别是什么? 我的代码和输出如下: >>> print np.dot(np.array([1,2]), np.array([[3,4,5],[6,7,8]])) [15 18 21] >>> print np.dot(np.array([[1,2]]), np.array([[3,4,5],[6,7,8]])) [[15 18 21]] 所以我想知道这两个公式的意思是否相同,如果不是,它们的意思是什么 np.dot(np.array([[1

以下两个乘数之间的区别是什么? 我的代码和输出如下:

>>> print np.dot(np.array([1,2]), np.array([[3,4,5],[6,7,8]]))
[15 18 21]
>>> print np.dot(np.array([[1,2]]), np.array([[3,4,5],[6,7,8]]))
[[15 18 21]]
所以我想知道这两个公式的意思是否相同,如果不是,它们的意思是什么

np.dot(np.array([[1,2]]) is matrix 2D

dot文件中的相关章节为:

如果a是N-D数组,b是M>=2的M-D数组,则它是a a的最后一个轴和b的第二个轴到最后一个轴的和积:

a的最后一个轴是2,b的第二个到最后一个轴也是2

a的最后一个轴和b的第二个到最后一个轴相同

带有2,3的4,2点将生成4,3阵列

或使用三维第一阵列:

In [284]: np.dot(np.ones((4,3,2)),np.ones((2,3))).shape
Out[284]: (4, 3, 3)

数组[[1,2]]是二维的。这里的实际问题是什么?比如,你不明白哪一部分?你不知道数组[[1,2]]和[[15 18 21]]是二维的吗?或者不明白为什么将1x2矩阵乘以2x3矩阵会得到与将2向量乘以2x3矩阵不同的结果?或者…?我知道数组[[1,2]]和[[15 18 21]]是二维数组,但我不知道为什么它们是二维矩阵?我的实际问题是,为什么用1x2矩阵乘以2x3矩阵得到的结果与用2x3矩阵乘以2向量得到的结果不同?你看到输入形状和输出形状之间的联系了吗?这是一个模式。这两个公式的含义是什么?因为[[1,2]]是矩阵2D,但元素=0,所以结果是相似的
np.dot(np.array([1,2]), np.array([[3,4,5],[6,7,8]]))
[15 18 21]

(2,) dot with (2,3) => (3,)
In [284]: np.dot(np.ones((4,3,2)),np.ones((2,3))).shape
Out[284]: (4, 3, 3)