Numpy中矩阵向量乘法np.dot()及np.multiply()以及*区别

Numpy中的矩阵向量乘法分别是np.dot(a,b)、np.multiply(a,b) 以及*,刚开始接触的时候比较模糊,于是自己整理了一下。先来介绍理论,然后再结合例子深入了解一下。

数组矩阵
元素乘法np.multiply(a,b) 或 a*bnp.multiply(a,b)
矩阵乘法np.dot(a,b)np.dot(a,b) 或 a* b

我们可以看到:
当对象是数组时候,对应元素乘法使用 np.multiply(a,b) 或a * b,矩阵乘法用np.dot(a,b)
当对象是矩阵时候,对应元素乘法使用np.multiply(a,b) , 矩阵乘法用np.dot(a,b)或 a*b

注:数组和矩阵对应元素相乘,输出与相乘数组/矩阵的大小一致

对于 np.array 对象

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

当对象是数组时候,元素乘法使用 np.multiply(a,b) 或 a*b

>>> np.multiply(a,a)
array([[ 1,  4],
       [ 9, 16]])
       
>>> a*a
array([[ 1,  4],
       [ 9, 16]])

当对象是数组时候,矩阵乘法用np.dot(a,b)、np.matmul(a,b) 或者a.dot(b)

>>> np.dot(a,a)
array([[ 7, 10],
      [15, 22]])
      
>>> np.matmul(a,a)
array([[ 7, 10],
      [15, 22]])
      
>>> a.dot(a)
array([[ 7, 10],
      [15, 22]])

对于 np.matrix 对象

>>> A
matrix([[1, 2],
        [3, 4]])

当对象是矩阵时候,元素乘法使用np.multiply(a,b)

>>> np.multiply(A,A)
matrix([[ 1,  4],
        [ 9, 16]])

当对象是矩阵时候,矩阵乘法用np.dot(a,b)、np.matmul(A,A)、a.dot(b)或 a*b

>>> np.dot(A,A)
matrix([[ 7, 10],
        [15, 22]])
        
>>> np.matmul(A,A)
matrix([[ 7, 10],
        [15, 22]])
        
>>> A.dot(A)
matrix([[ 7, 10],
        [15, 22]])
        
>>> A*A
matrix([[ 7, 10],
        [15, 22]])
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值