NumPy 矩阵乘法详解:分清矩阵乘法和元素相乘(np.matrix/np.array)
NumPy矩阵乘法详解分清矩阵乘法和元素相乘np.matrix / np.array前言任何足够先进的技术都与魔法无异而线性代数就是理解这个魔法的咒语书。矩阵乘法是线性代数的核心运算也是机器学习、数据分析、计算机视觉里高频用到的基础操作。很多新手在用NumPy时最容易踩坑分不清「数学矩阵乘法」和「对应位置元素相乘」。 NumPy里面*、、np.matmul()、.dot()在np.matrix和普通np.array数组中的行为完全不一样一不小心就会算出错误结果。本文就结合代码实例一次性讲清楚。一、先理清核心概念一句话判断题矩阵乘法不是对应元素相乘而是行向量与列向量的点积内积这句话是正确的。矩阵乘法数学定义设矩阵 $(CAB)$$C$ 中第 $i$ 行第 $j$ 列的元素 $c_{ij}$ A的第$i$个行向量点乘B的第$j$个列向量 $$c_{ij}\sum_{k} a_{ik}b_{kj}$$要求A的列数 B的行数最终得到 m×p 的矩阵。元素对应相乘哈达玛积 Hadamard product两个矩阵形状必须完全相同相同位置元素两两相乘不是矩阵乘法。在普通np.array中用*实现。✨ 应用小科普矩阵乘法大量用于AI模型计算、短视频推荐算法、图像滤镜变换、网页排名PageRank等场景。二、np.matrix 类型*直接代表矩阵乘法⚠️ np.matrix是NumPy早期设计的类型现在官方已经不推荐使用仅用于学习理解历史设计。示例代码import numpy as np # 创建两个matrix矩阵对象 x np.matrix([[1,2,3], [4,5,6]]) y np.matrix([[1,2], [3,4], [5,6]]) # 三种写法完全等价都是矩阵乘法 print(x * y) print(x y) print(np.matmul(x, y))输出[[22 28] [49 64]] [[22 28] [49 64]] [[22 28] [49 64]]关键结论对于np.matrix对象x * y等价于x y等价于np.matmul(x,y)全部执行数学上的矩阵乘法。小贴士为什么np.matrix被淘汰np.matrix诞生于2006年设计初衷就是想让*运算符直接做矩阵乘法。 但是它和普通np.array数组混用的时候极易产生BUG。 Python3.5在2015年新增了专门用于矩阵乘法的运算符普通数组也可以优雅实现矩阵乘法np.matrix就逐步退出历史舞台。三、np.array 普通二维数组日常推荐写法我们日常开发优先使用np.array数组这里是坑最多的地方在np.array中*不再是矩阵乘法*是元素对应相乘。矩阵乘法要用/np.matmul()/.dot()示例代码import numpy as np # 创建普通ndarray二维数组 x np.array([[1,2,3], [4,5,6]]) y np.array([[1,2], [3,4], [5,6]]) # 下面三种写法等价执行矩阵乘法 print(x y) print(np.matmul(x, y)) print(x.dot(y))输出[[22 28] [49 64]]记忆口诀星号是对应位置相乘艾特才是真正矩阵乘法四、矩阵幂运算np.linalg.matrix_power矩阵幂运算是方阵连续多次矩阵相乘只有方阵才能做矩阵幂运算。 公式$A^3 A \times A \times A$import numpy as np x np.matrix([[1,-3,3], [3,-5,3], [6,-6,4]]) res np.linalg.matrix_power(x, 3) print(res)输出[[ 28 -36 36] [ 36 -44 36] [ 72 -72 64]]等价写法x ** 3或者x*x*x。应用场景马尔可夫链状态推演、PageRank网页排序、3D图形坐标变换。五、汇总对比表对象类型*运算符运算符np.matmul() / .dot()np.matrix✅矩阵乘法✅矩阵乘法✅矩阵乘法np.array❌元素相乘哈达玛积✅矩阵乘法✅矩阵乘法六、常见考点避坑总结矩阵乘法≠对应元素相乘矩阵乘法本质是行向量点乘列向量优先使用np.array尽量不要使用np.matrixnp.array数组千万不要用*做矩阵乘法要用矩阵幂运算np.linalg.matrix_power输入必须是方阵。结语矩阵乘法是数据分析和深度学习的地基分清两种乘法是NumPy入门必须跨过的一关。 很多机器学习底层运算本质就是大规模矩阵乘法。理解这些细节可以避免后续写模型代码出现隐蔽计算错误。要不要我帮你再加一个常见报错案例小节比如矩阵维度不匹配报错让博客内容更完整 另外CSDN可以加标签#numpy#Python数据分析#线性代数#矩阵。

相关新闻

探秘GitHub趋势榜第6的Cursor插件库:精选逻辑与避坑指南

探秘GitHub趋势榜第6的Cursor插件库:精选逻辑与避坑指南

这两天在 GitHub 上刷到一个有意思的现象:一个 Cursor 插件库,单日涨了 157 颗星,直接冲进趋势榜第 6。刚看到这个标题的时候,我没太当回事,毕竟“Awesome XXX”这类收藏夹式仓库在 GitHub 上一抓一大把。但能一路顶到…

2026/10/11 6:28:17 阅读更多 →
鼎捷 T100 FGL 开发要点

鼎捷 T100 FGL 开发要点

鼎捷 T100(Genero FGL)开发界面解读你截图是鼎捷 T100 ERP 开发设计器,程序代号cxmt300举例,使用 Genero FGL(4GL)语言,是 T100 标准的单档 / 查询类程序框架。左侧:程序函数树&…

2026/10/11 6:28:17 阅读更多 →
Shell 脚本从入门到实战:条件判断 + 循环全套通关指南

Shell 脚本从入门到实战:条件判断 + 循环全套通关指南

Shell 脚本从入门到实战:条件判断 循环全套通关指南📝 本文素材来源于运维课堂笔记,适合 Linux 初学者、运维新手,吃透 if / 函数 /case/while/until/for/select,写运维脚本不再头疼。引言 作为 Linux 运维&#xff0…

2026/10/11 6:28:17 阅读更多 →

最新新闻

2025年AI IDE实战测评榜:从个人开发到企业部署的完整选型攻略(TaoToken统一API接入篇)

2025年AI IDE实战测评榜:从个人开发到企业部署的完整选型攻略(TaoToken统一API接入篇)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:24:10 阅读更多 →
付了GPT-5的钱,用的是开源模型?用TaoToken统一Key看清每次调用

付了GPT-5的钱,用的是开源模型?用TaoToken统一Key看清每次调用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:24:10 阅读更多 →
装完这16个Skills,我的OpenClaw终于会自己查文档了:TaoToken统一Key接入实录

装完这16个Skills,我的OpenClaw终于会自己查文档了:TaoToken统一Key接入实录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:24:10 阅读更多 →
用 Java 5 分钟写一个 MCP Server:基于开源 MCP Java SDK 接入 TaoToken 统一 Key

用 Java 5 分钟写一个 MCP Server:基于开源 MCP Java SDK 接入 TaoToken 统一 Key

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:24:10 阅读更多 →
免越狱批量控制iPhone:基于Accessibility API的合规自动化方案

免越狱批量控制iPhone:基于Accessibility API的合规自动化方案

1. 为什么“免越狱批量控制iPhone”这件事,过去十年几乎没人真正做成?“不用越狱也能批量控制 iPhone”——这句话放在2024年之前,对绝大多数iOS开发者、自动化测试工程师甚至企业IT管理员来说,都像一句带点讽刺意味的行业黑话。不…

2026/10/11 10:24:10 阅读更多 →
从“impeccable”到工程实践:代码格式化、静态检查与CI流水线

从“impeccable”到工程实践:代码格式化、静态检查与CI流水线

“impeccable”这个词,按读音是 /ɪmˈpɛkəbəl/,意思是“无可挑剔、毫无瑕疵”。我见过不少人把它当成代码注释里的形容词,写“keep the code impeccable”。说实话,第一次看到某公司前端代码仓库的提交规范里,用这…

2026/10/11 10:23:09 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →