向量在numpy中的表示:np.array()的返回是行向量吗?

向量在numpy中的表示:np.array()的返回是行向量吗?,numpy,Numpy,我是numpy新手,我猜np.array()的返回是一个行向量,因为两个向量之间的点积是可交换的,我猜对了吗?任何回应都是感激的 vx = np.array([1, 2]) vw = np.array([3, 5]) np.dot(vx, vw) np.dot(vw, vx) 数组是1d(“向量”,而不是行/列向量) dotdocumentation的第一段: 对于二维数组,它等价于矩阵乘法;对于一维数组,它等价于矩阵乘法 数组到向量的内积(无复共轭)。对于 N维它是a和 b中倒数第二个 所以

我是numpy新手,我猜np.array()的返回是一个行向量,因为两个向量之间的点积是可交换的,我猜对了吗?任何回应都是感激的

vx = np.array([1, 2])
vw = np.array([3, 5])
np.dot(vx, vw)
np.dot(vw, vx)
数组是1d(“向量”,而不是行/列向量)

dot
documentation的第一段:

对于二维数组,它等价于矩阵乘法;对于一维数组,它等价于矩阵乘法 数组到向量的内积(无复共轭)。对于 N维它是
a
b中倒数第二个

所以你得到了内积,它是可交换的

In [118]: vx = np.array([1, 2])
In [119]: vx.shape
Out[119]: (2,)
dot
返回标量:

In [120]: np.dot(vx,vx)
Out[120]: 5
对于二维“行向量”,形状很重要
dot
是矩阵乘法,最后一个dim与第二个到最后一个匹配,例如2与2匹配

In [121]: vx2 = np.array([[1,2]])
In [122]: vx2.shape
Out[122]: (1, 2)
In [123]: np.dot(vx2, vx2)
...
ValueError: shapes (1,2) and (1,2) not aligned: 2 (dim 1) != 1 (dim 0)
In [124]: np.dot(vx2, vx2.T)
Out[124]: array([[5]])
在这种情况下,结果是2d(1,1)