numpy笔记--np.dot()

导入方式

import numpy as np

np.dot()函数

①向量点积

        np.dot(a, b), 其中a为一维的向量,b为一维的向量,当然这里a和b都是 np.ndarray 类型的, 此时因为是一维的,所以是向量点积。

import numpy as np
 
a = np.array([1, 2, 3, 4, 5])    # 5行*1列, (5,)
b = np.array([6, 7, 8, 9, 10])   # 5行*1列, (5,)
print(np.dot(a, b))              # 输出 >> 130

②矩阵乘法

        np.dot(a, b), 其中a为二维矩阵,b为一维向量,这时b会被当做一维矩阵进行计算。

import numpy as np

a = np.array([1,2,3,4,5])                  # 5行*1列, (5,) 
b = np.random.randint(0,10, size = (5,5))  # 5行*5列,(5,5)

c1 = np.dot(a, b))                        # 输出 >> [31 41 41 83 87], 5行*1列, shape是(5,)
c2 = np.dot(a.T, b))                      # c1 == c2
c3 = np.dot(b, a)                         # c3 != c2 ,shape是 (5,)
c4 = np.dot(b, a.T)                       # c3 == c4 ,shape是 (5,)

注意:一维矩阵和一维向量的区别

  • 一维向量的shape是(5,),一维矩阵的shape是(5,1);
  • 若两个参数 a 和 b 都是一维向量,则 dot() 是点积;但当其中有一个是矩阵(含一维矩阵),则 dot() 是矩阵乘法。
  • 一维矩阵乘法,会自动进行转置(见示例)

③矩阵乘法

        np.dot(a ,b), 其中a和b都是二维矩阵,此时dot就是进行的矩阵乘法运算

import numpy as np

a = np.random.randint(0, 10, size = (5, 5)) # 5行*5列,(5,5)
b = np.random.randint(0, 10, size = (5, 3)) # 5行*3列,(5,3)
c = np.dot(a, b)                            # 5行*3列,(5,3)  

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值