numpy使用之numpy.dot, numpy.multiply

本文详细介绍了numpy.dot和numpy.multiply两个函数的用法。numpy.dot主要用于处理点乘操作,当涉及向量内积、矩阵乘法以及多维数组的特定轴上的乘积时。而numpy.multiply则是进行逐元素相乘。通过实例解析了它们的不同应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考自numpy帮助文档

1. numpy.dot

原型: numpy.dot(a, b, out=None)
两个numpy数组的点乘
(1). 如果两个参数 a , b a,b a,b都是 1 1 1维的,该运算向量内积(没有复数共轭时)
np.dot([1,2],[1,2])
5
(2). 如果两个参数 a , b a,b a,b都是 2 2 2维的,该运算做矩阵乘法,但是使用matmul或者a@b更好
np.dot([[1,2],[3,4]],[[1,0],[0,1]])

array([[1, 2],
       [3, 4]])

(3). 如果参数 a a a或者 b b b 0 0 0维(标量)的,该运算与multiply,但是使用np.multiply(a, b)或者a*b更好
np.dot([[1,2],[3,4]],1)

array([[1, 2],
       [3, 4]])

(4). 如果 a a a N N N维的, b b b 1 1 1维(标量)的,它做的是 a a a在最后一根轴方向上与 b b b做点积(相乘求和)。

a = np.arange(3*2).reshape((3,2))
print(a)
print(np.dot(a, [1,1]))
[[0 1]
 [2 3]
 [4 5]]

[1 5 9]

(5). 如果 a a a N N N维的, b b b M ( M > = 2 ) M(M>=2) M(M>=2)维的,它做的是 a a a在最后一根轴方向上与 b b b在倒数第二根轴上做点积(相乘求和)。
dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])

2. numpy.multiply

原型: numpy.multiply(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'multiply'>
参数逐元素相乘
Note: 从数组广播的角度,等价于x1*x2
Examples
1.
np.multiply([1,2,3],[2,3,4])
array([ 2, 6, 12])
2.
np.multiply([1,2,3],[2])
array([2, 4, 6])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值