当前位置:  开发笔记 > 编程语言 > 正文

为什么Python/Numpy需要矩形/矢量点积的行向量?

如何解决《为什么Python/Numpy需要矩形/矢量点积的行向量?》经验,为你挑选了0个好方法。

假设我们想要计算矩阵和列向量的点积:

矩阵点矢量

所以在Numpy/Python中我们走了:

a=numpy.asarray([[1,2,3], [4,5,6], [7,8,9]])
b=numpy.asarray([[2],[1],[3]])
a.dot(b)

结果是:

数组([[13],[31],[49]])

到目前为止,这么好,但为什么这也有效?

b=numpy.asarray([2,1,3])
a.dot(b)

结果是:

数组([13,31,49])

我希望[2,1,3]是行向量(需要转置才能应用点积),但Numpy似乎默认将数组视为列向量(在矩阵乘法的情况下)?

这是如何运作的?

编辑:

为什么:

b=numpy.asarray([2,1,3])
b.transpose()==b

因此矩阵点矢量数组确实有效(因此它将其视为列向量),但是其他操作(转置)不起作用.这不是真的一致设计不是吗?

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有