python的numpy库的np.dot函数详解
dot函数为numpy库下的一个函数。主要用于矩阵的乘法运算,其中包括、向量内积、多维矩阵乘法、矩阵与向量的乘法,向量与矩阵的乘法。
1.向量内积
两个向量内积运算其实也是一维矩阵运算,需要保证两个向量的元素个数相同。结果是一个数值类型的数。
import numpy as np x=np.array([1,2,3]) y=np.array([4,5,6]) result=np.dot(x,y) print(result)#结果是数值32
注意:向量只有一层中括号,其shape为(m,),转置也是这个(m,)。
2.矩阵与矩阵相乘
需要满足矩阵的乘法原则,即A=mXn,B=nXp,C=AXB=mXp。A的列数等于B的行数。
x=np.array([[1,2,3],[4,5,6]])#2X3矩阵 y=np.array([[1,2,3,4],[4,3,2,1],[0,1,1,0]])#3X4矩阵 result=np.dot(x,y)#2X4矩阵 print(result)
注意:矩阵有两层中括号,结果是ndarray数据类型
3.矩阵与向量相乘
A=mXn,B=n,则C=AXB=m,关于相乘运算时向量是否需要转置,计算时已经自动转置了。
x=np.array([[1,2,3],[4,5,6]])#2X3矩阵 y=np.array([1,0,1])#(3,)向量 result=np.dot(x,y)#结果是[ 4 10] print(result)#结果是[ 4 10],shape为(2,)
注意:如果y= np.array([[1],[0],[1]]),则y.shape为(3,1),则变成了两个矩阵相乘,则结果为[[ 4] [10]],其shape为(2,2)
4.向量与矩阵相乘
A=n,B=nXm,C=AXB为m列的一维矩阵或者向量,数据类型为ndarray。与线性代数运算一致,x的一行乘以y矩阵的每列。
x=np.array([1,0])#(2,)向量 y=np.array([[1,2,3],[4,5,6]])#2X3(或者(2,3))矩阵 result=np.dot(x,y) print(result)#结果为[1 2 3],shape为(3,)向量
注意:一般X矩阵乘以Y矩阵不等于Y矩阵乘以X矩阵。
说明:可以使用print(help(np.dot))查看函数的具体用法。通过查看发现还可用于复数运算。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-07-27 最近邻插值法(nearest_neighbor)