当前位置:

首页 > 编程开发 > Python numpy.matmul矩阵相乘教程

Python numpy.matmul矩阵相乘教程

numpy.matmul用于执行矩阵乘法,要求左矩阵列数等于右矩阵行数,支持多维数组按最后两维进行矩阵乘法并广播其余维度,与*(逐元素相乘)和np.dot(高维行为不同)有区别,推荐用于明确的矩阵运算,等价于@操作符。

numpy.matmul用于执行矩阵乘法,要求左矩阵列数等于右矩阵行数,支持多维数组按最后两维进行矩阵乘法并广播其余维度,与*(逐元素相乘)和np.dot(高维行为不同)有区别,推荐用于明确的矩阵运算,等价于@操作符。

python numpy.matmul实现矩阵相乘

在 Python 中,numpy.matmul 是 NumPy 提供的用于执行矩阵乘法的函数。它专为线性代数中的矩阵相乘设计,比普通的数组乘法(如 *)更符合数学意义上的矩阵乘法。

matmul 基本用法

numpy.matmul(A, B) 计算两个数组 A 和 B 的矩阵乘积。要求 A 的列数等于 B 的行数。

示例:

import numpy as np

A = np.array([[1, 2],
        [3, 4]])
B = np.array([[5, 6],
        [7, 8]])

C = np.matmul(A, B)
print(C)
# 输出:
# [[19 22]
# [43 50]]

支持多维数组

当输入是三维或更高维数组时,matmul 沿最后两个轴进行矩阵乘法,广播其余维度。

例如,两个形状为 (2, 3, 4) 和 (2, 4, 5) 的数组可以相乘,结果为 (2, 3, 5)。

A = np.random.rand(2, 3, 4)
B = np.random.rand(2, 4, 5)
C = np.matmul(A, B)
print(C.shape) # (2, 3, 5)

与 '*' 和 dot 的区别

注意以下几点避免混淆:

  • * 表示逐元素乘法(对应位置相乘),不是矩阵乘法
  • np.dot 在二维情况下类似 matmul,但在高维行为略有不同,且对向量处理更灵活
  • matmul 更严格遵循线性代数规则,不支持标量,推荐用于明确的矩阵乘法

常见使用建议

实际使用中注意:

  • 确保参与乘法的最后两个维度满足矩阵乘法条件:(m, k) × (k, n)
  • 如果需要将一维数组视为行/列向量,注意其形状影响结果
  • 对于二维数组,np.matmul(A, B) 等价于 A @ B,@ 是 Python 的矩阵乘法操作符

基本上就这些。掌握 matmul 能帮助你在科学计算和机器学习中正确实现线性变换、神经网络层计算等任务。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发
相关文章 更多
讯飞绘文网页版官方入口在哪里?直达链接与登录指引
讯飞绘文网页版官方入口在哪里?直达链接与登录指引

找不到讯飞绘文网页版入口?直接访问官方域名 turbodesk.xfyun.cn 即可。本文详解如何辨别真伪页面、完成账号登录以及解决访问加载异常等问题,助你快速开启在线创作。

Lovart中文版网页加载慢或生成失败怎么解决?
Lovart中文版网页加载慢或生成失败怎么解决?

遇到Lovart中文版网页一直转圈或图片生成失败?本文教你通过检查网络连接、清理浏览器缓存、确认账号额度及简化输入参数,逐步排查并解决加载与生成异常问题。

Windows11更新后系统变卡怎么回退优化
Windows11更新后系统变卡怎么回退优化

Windows 11更新后电脑变卡?本文详解如何查看更新历史、卸载质量更新、回退驱动程序以及使用系统恢复功能。提供从排查后台进程到优化启动项的完整步骤,帮助你在保留数据的前提下解决卡顿问题。

WPS 表格怎么计算两个日期相差天数
WPS 表格怎么计算两个日期相差天数

想知道两个日期之间隔了多少天?在WPS表格中直接用减法即可。本文讲解如何设置单元格格式、处理包含时间的数据以及解决文本日期无法计算的问题,帮你快速得到准确天数。

立刻MV网页端和iPhoneApp有哪些区别
立刻MV网页端和iPhoneApp有哪些区别

想了解立刻MV网页端和iPhone App的区别?本文详解两端在歌曲处理、字幕校对、故事板调整及导出环节的不同定位。掌握账号同步技巧,利用手机端快速记录灵感,电脑端完成精细制作,提升MV创作效率。

WPS 表格数字变成科学计数法怎么办
WPS 表格数字变成科学计数法怎么办

在 WPS 表格中输入长数字或金额时出现科学计数法?本文详解如何通过调整列宽、修改单元格格式为数字或文本,来解决显示异常及前导零丢失问题,并提醒注意超长数值的精度边界。

blender导出模型贴图怎么设置才能避免贴图丢失
blender导出模型贴图怎么设置才能避免贴图丢失

解决Blender导出模型后贴图变灰或丢失的问题。涵盖检查图像纹理节点、设置相对路径、打包外部资源、确认UV映射及导出后测试的完整流程,确保模型在其他软件中正确显示。

Windows10双系统安装Windows10共存教程
Windows10双系统安装Windows10共存教程

详细图解 Windows 10 双系统安装步骤。通过磁盘管理压缩卷创建独立空间,利用 U 盘引导进行自定义安装,避免覆盖原系统。包含启动项配置、驱动更新及数据隔离建议,适合需要隔离工作与测试环境的用户。

blender导入动画不动怎么办及解决方法教程
blender导入动画不动怎么办及解决方法教程

Blender导入动画后模型不随时间轴变化?本教程详解如何检查播放范围、动作编辑器数据、骨骼修改器关联及导入设置,快速解决FBX/glTF等格式动画导入后静止的问题。

WPS 表格大文件运行慢有哪些解决办法
WPS 表格大文件运行慢有哪些解决办法

WPS表格打开或编辑大文件变慢?本文详解如何查找并清理整列公式、多余条件格式、隐藏对象及外部链接,并通过拆分数据与计算表提升运行效率,所有操作均基于WPS Office界面功能。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
AirBuddy 3 macOS版
AirBuddy 3 macOS版
macOS

AirBuddy 3 是面向 macOS 的蓝牙外设增强工具,可集中查看 AirPods、Beats 与苹果设备电量,提供快速连接、播放控制、电量提醒、桌面小组件和多台 Mac 外设接力等功能。

AirServer macOS版
AirServer macOS版
macOS

AirServer macOS版可把 Mac 转换为无线投屏接收端,通过 AirPlay 或 Google Cast 接收手机、平板和电脑画面,并支持多设备同时连接、高清镜像及会话录制,适合家庭娱乐、课堂教学、会议演示和应用展示。

AnyDesk macOS版
AnyDesk macOS版
macOS

AnyDesk macOS版是一款适用于远程办公、设备维护和客户支持的远程桌面工具,可连接并操作异地计算机,支持文件传输、无人值守访问、会话权限控制及跨平台协作。

WINDOWS 更多
StarUML 7 Windows版
StarUML 7 Windows版
Windows

StarUML 7 Windows版是一款面向软件工程、系统分析与架构设计的专业建模工具,支持UML 2、ERD、流程图、数据流图和C4模型等,可用于需求梳理、系统设计、模型验证、文档发布及代码生成。

Fender Studio Pro(原Studio One)Windows版
Fender Studio Pro(原Studio One)Windows版
Windows

Fender Studio Pro(原Studio One)Windows版是一套专业数字音频工作站,可完成录音、编曲、混音、母带处理与现场演出。 新版本延续Studio One的核心工作流,并加入Fender音箱与效果建模、智能创作和更现代的制作界面。

think cell Windows版
think cell Windows版
Windows

think-cell Windows版是一款集成于Microsoft PowerPoint和Excel的商业演示增强插件,提供瀑布图、甘特图、Mekko图、数据联动、自动标注及智能排版功能,适合咨询、金融、项目管理和企业汇报场景。