python二维字符串数组 numpy_numpy.dot如何使用二维数组计算一维数组

numpy.dot文档字符串显示:

对于二维数组,它等价于矩阵乘法,而对于一维数组则是向量的内积(没有复共轭)。对于n维,它是A的最后一个轴和B的第二个到最后的一个和积。

但它并没有说明numpy.dot如何用二维数组计算一维数组,那么numpy如何用二维数组(矩阵)处理一维数组(向量)?

我做了一些测试:In [27]: a

Out[27]:

array([[0, 1, 2],

[3, 4, 5],

[6, 7, 8]])

In [28]: b

Out[28]: array([0, 1, 2])

In [29]: np.dot(a,b)

Out[29]: array([ 5, 14, 23])

In [30]: np.dot(a, b.reshape(-1,1))

Out[30]:

array([[ 5],

[14],

[23]])

In [31]: np.dot(a, b.reshape(-1,1)).ravel() # same as np.dot(a,b)

Out[31]: array([ 5, 14, 23])

In [32]: np.dot(b,a)

Out[32]: array([15, 18, 21])

In [33]: np.dot(b.reshape(1,-1), a)

Out[33]: array([[15, 18, 21]])

In [34]: np.dot(b.reshape(1,-1), a).ravel() # same as np.dot(b,a)

Out[34]: array([15, 18, 21])

以上测试表明numpy.dot可以处理一维数组和二维数组。对吗?

最佳答案:

一维数组和二维数组作为矩阵向量(或向量矩阵)乘积处理。实际上,实现使用blas*gemv函数来处理浮点输入的这种情况。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值