数学基础 --线性代数之理解矩阵乘法
理解矩阵乘法的解析
矩阵乘法(Matrix Multiplication)是线性代数中的核心操作之一。在数学、几何和工程实际中,它不仅是一种代数运算规则,还承载着丰富的几何和映射意义。本文将从多个角度深入解析矩阵乘法,帮助读者理解其本质及应用。
矩阵乘法的基础运算规则
1.1 行×列的点积
设矩阵 A A A 为 m × n m \times n m×n 维度,矩阵 B B B 为 n × p n \times p n×p 维度,则它们的乘积 C = A × B C = A \times B C=A×B 是一个 m × p m \times p m×p 的矩阵。
- C C C 中的第 i i i 行第 j j j 列元素 c i j c_{ij} cij 的计算公式为:
c i j = ∑ k = 1 n a i k b k j c_{ij} = \sum_{k=1}^n a_{ik}\, b_{kj} cij=k=1∑naikbkj
即 A A A 的第 i i i 行向量与 B B B 的第 j j j 列向量做点积。
1.2 示例计算
设
A = ( 1 2 3 4 5 6 ) , B = ( − 1 2 0 1 2 1 ) . A = \begin{pmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{pmatrix}, \quad B = \begin{pmatrix} -1 & 2 \\ 0 & 1 \\ 2 & 1 \end{pmatrix}. A=(142536),B=⎝⎛−102211⎠⎞.
- A A A 的大小是 2 × 3 2 \times 3 2×3。
- B B B 的大小是 3 × 2 3 \times 2 3×2。
乘积 C = A × B C = A \times B C=A×B 将是一个 2 × 2 2 \times 2 2×2 的矩阵。
计算 C C C 的第 ( 1 , 1 ) (1,1) (1,1) 元素 c 11 c_{11} c11:
c 11 = ( 1 , 2 , 3 ) ⋅ ( − 1 , 0 , 2 ) = 1 × ( − 1 ) + 2 × 0 + 3 × 2 = − 1 + 0 + 6 = 5. c_{11} = (1,2,3) \cdot (-1,0,2) = 1 \times (-1) + 2 \times 0 + 3 \times 2 = -1 + 0 + 6 = 5. c11=(1,2,3)⋅(−1,0,2)=1×(−1)+2×0+3×2=−1+0+6=5.
类似地可以算出其余元素,最终得到:
C = ( 5 9 8 18 ) . C = \begin{pmatrix} 5 & 9 \\ 8 & 18 \end{pmatrix}. C=(58918).
几何视角:线性变换的复合
矩阵乘法可以理解为线性变换的组合。
2.1 线性变换的定义
- 矩阵 A A A 对一个列向量 x x x 的乘积 A x A x Ax,可以视为对向量 x x x 的某种线性变换,比如拉伸、旋转、剪切等。
- 如果有另一个矩阵 B B B 对向量做线性变换,则先用 A A A,再用 B B B 的过程可以表示为 B ( A x ) B(Ax) B(Ax)。
- 这个组合变换可以用一个矩阵 C = B A C = B A C=BA 表示。
2.2 矩阵乘法与变换级联
因此,两个矩阵相乘实际上是两个线性变换的复合:
B × A ↔ T B ∘ T A , B \times A \quad \leftrightarrow \quad T_B \circ T_A, B×A↔TB∘TA,
其中「 ∘ \circ ∘」表示函数的组合:先执行 T A T_A TA,再执行 T B T_B TB。
矩阵乘积的顺序反映了变换的执行顺序,这也是矩阵乘法不满足交换律的原因之一(即通常 A B ≠ B A AB \neq BA AB=BA)。
从行和列的视角理解
3.1 行向量视角
矩阵乘法的结果的某一行,可以看作前一个矩阵的那一行选取并线性组合另一个矩阵的对应列。
例如:
C = A × B , C = A \times B, C=A×B,
则 C C C 的第 i i i 行等于:
(第 i 行的 A ) × B . \text{(第 }i\text{ 行的 }A) \times B. (第 i 行的 A)×B.
假设「第 i i i 行的 A A A」是向量 ( a i 1 , a i 2 , … , a i n ) (a_{i1}, a_{i2}, \dots, a_{in}) (ai1,ai2,…,ain),它会将 B B B 的第 1 行加权 a i 1 a_{i1} ai1、第 2 行加权 a i 2 a_{i2} ai2、…、第 n n n 行加权 a i n a_{in} ain 后相加。
3.2 列向量视角
矩阵 B B B 可以被看作由其列向量 b 1 , b 2 , … , b p b_1, b_2, \dots, b_p b1,b2,…,bp 构成。
- 矩阵乘法 A B AB AB 的结果,可以理解为 A A A 对 B B B 的每一个列向量进行线性变换后,将这些新向量拼成结果矩阵。
- 即:
A B = [ A b 1 A b 2 … A b p ] . AB = \bigl[A b_1 \quad A b_2 \quad \dots \quad A b_p\bigr]. AB=[Ab1Ab2…Abp].
矩阵乘法的多重意义
4.1 几何意义:线性映射
矩阵乘法对应两个线性映射的复合操作,体现了几何变换的顺序性。
4.2 应用意义
矩阵乘法广泛应用于:
- 神经网络:
- 在深度学习的全连接层中,矩阵乘法用于线性组合输入特征,生成下一层的输出。
- 图像变换:
- 矩阵用于表示旋转、缩放、平移等操作,多个变换叠加可通过矩阵乘法实现。
- 马尔可夫链:
- 状态转移矩阵的多步转移可以通过矩阵幂次乘法实现。
矩阵乘法的定义为何是「行×列」?
矩阵乘法定义为「行向量与列向量的点积」,是为了满足以下性质:
- 复合线性变换的一一对应:矩阵乘法能表示线性映射的复合。
- 分配率与结合律:保证代数操作的完整性。
- 与向量运算兼容:保证行×列运算能与向量操作自然衔接。
总结
- 运算层面:矩阵乘法是通过「行向量」与「列向量」的点积计算得到的。
- 几何层面:它对应了线性变换的复合。
- 行和列的视角:从行角度看是线性组合,从列角度看是逐列映射。
- 应用层面:广泛应用于神经网络、图像处理、状态转移等领域。
一句话概括:
矩阵乘法既是一种代数运算规则,也是线性变换复合的几何抽象,连接了数值计算与线性代数的核心思想。
相关文章:
数学基础 --线性代数之理解矩阵乘法
理解矩阵乘法的解析 矩阵乘法(Matrix Multiplication)是线性代数中的核心操作之一。在数学、几何和工程实际中,它不仅是一种代数运算规则,还承载着丰富的几何和映射意义。本文将从多个角度深入解析矩阵乘法,帮助读者理…...
TCP Window Full是怎么来的
wireshark查看包时,会看到TCP Window Full,总结下它的特点: 1. Sender会显示 TCP Window Full 2. “Sender已发出,但,Receiver尚未ack的字节”,即Sender的 bytes in flights 3. Sender的 bytes in fligh…...
【22】Word:小李-高新技术企业政策❗
目录 题目 NO1.2 NO3 NO4 NO5.6 NO7.8 NO9.10 若文章中存在删除空白行等要求,可以到最后来完成。注意最后一定要检查此部分!注意:大多是和事例一样即可,不用一摸一样,但也不要差太多。 题目 NO1.2 F12Fn&a…...
大数据,Hadoop,HDFS的简单介绍
大数据 海量数据,具有高增长率、数据类型多样化、一定时间内无法使用常规软件工具进行捕捉、管理和处理的数据集 合 大数据的特征: 4V Volume : 巨大的数据量 Variety : 数据类型多样化 结构化的数据 : 即具有固定格式和有限长度的数据 半结构化的数据 : 是…...
Python预训练视觉和大语言模型——精彩试读
基础模型永久改变了机器学习。从BERT到ChatGPT,从CLIP到Stable Diffusion,当数十亿个参数、大数据集与成百上千个GPU相结合时,结果刷新了纪录。《Python预训练视觉和大语言模型》呈现的真知灼见和示例代码将帮你在AWS和Amazon SageMaker上从头…...
html全局遮罩,通过websocket来实现实时发布公告
1.index.html代码示例 <div id"websocket" style"display:none;position: absolute;color:red;background-color: black;width: 100%;height: 100%;z-index: 100; opacity: 0.9; padding-top: 30%;padding-left: 30%; padding-border:1px; "onclick&q…...
Vue3初学之Element-plus Form表单
1.使用 el-form 组件 el-form 是一个表单容器,可以包含多个 el-form-item,每个 el-form-item 包裹具体的表单控件,如输入框、选择器、日期选择器等。 <template><el-form :model"form" label-width"120px">…...
第14章:Python TDD应对货币类开发变化(一)
写在前面 这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许…...
ElasticSearch索引别名的应用
个人博客:无奈何杨(wnhyang) 个人语雀:wnhyang 共享语雀:在线知识共享 Github:wnhyang - Overview Elasticsearch 索引别名是一种极为灵活且强大的功能,它允许用户为一个或多个索引创建逻辑上…...
C++和OpenGL实现3D游戏编程【连载21】——父物体和子物体模式实现
欢迎来到zhooyu的专栏。 🔥C和OpenGL实现3D游戏编程【专题总览】 1、本节要实现的内容 上节课我们已经创建了一个基础Object类,以后所有的游戏元素都可以从这个基类中派生出来。同时为了操作方便,我们可以为任意两个Object类(及其…...
Mac苹果电脑 怎么用word文档和Excel表格?
以下是详细步骤,帮助你在 MacBook 上安装和使用 Word 和 Excel: 安装 Microsoft Office 你可以通过以下几种方式在 MacBook 上安装 Word 和 Excel: 方法一:应用安装 pan.baidu.com/s/1EO2uefLPoeqboi69gIeZZg?pwdi2xk 方法二…...
使用AI生成金融时间序列数据:解决股市场的数据稀缺问题并提升信噪比
“GENERATIVE MODELS FOR FINANCIAL TIME SERIES DATA: ENHANCING SIGNAL-TO-NOISE RATIO AND ADDRESSING DATA SCARCITY IN A-SHARE MARKET” 论文地址:https://arxiv.org/pdf/2501.00063 摘要 金融领域面临的数据稀缺与低信噪比问题,限制了深度学习在…...
QT信号槽 笔记
信号与槽就是QT中处理计算机外设响应的一种机制 比如敲击键盘、点击鼠标 // 举例: 代码: connect(ls,SIGNAL(sig_chifanla()),ww,SLOT(slot_quchifan())); connect(ls,SIGNAL(sig_chifanla()),zl,SLOT(slot_quchifan()));connect函数:这是…...
【计算机网络】传输层协议TCP与UDP
传输层 传输层位于OSI七层网络模型的第四层,主要负责端到端通信,可靠性保障(TCP),流量控制(TCP),拥塞控制(TCP),数据分段与分组,多路复用与解复用等,通过TCP与UDP协议实现…...
UE控件学习
ListView: item设置:使能在list设置为Entry类 关闭listview自带的滑动条 【UEUI篇】ListView使用经验总结 UE4 ListView用法总结(二)Item的选中与数据获取 Grid Panel: 常用作背包,每个格子大小可不相…...
ThinkPHP 8的多对多关联
【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…...
Linux内核编程(二十一)USB驱动开发
一、驱动类型 USB 驱动开发主要分为两种:主机侧的驱动程序和设备侧的驱动程序。一般我们编写的都是主机侧的USB驱动程序。 主机侧驱动程序用于控制插入到主机中的 USB 设备,而设备侧驱动程序则负责控制 USB 设备如何与主机通信。由于设备侧驱动程序通常与…...
【Block总结】WTConv,小波变换(Wavelet Transform)来扩展卷积神经网络(CNN)的感受野
论文解读:Wavelet Convolutions for Large Receptive Fields 论文信息 标题: Wavelet Convolutions for Large Receptive Fields作者: Shahaf E. Finder, Roy Amoyal, Eran Treister, Oren Freifeld提交日期: 2024年7月8日arXiv链接: Wavelet Convolutions for La…...
深入探究分布式日志系统 Graylog:架构、部署与优化
文章目录 一、Graylog简介二、Graylog原理架构三、日志系统对比四、Graylog部署传统部署MongoDB部署OS或者ES部署Garylog部署容器化部署 五、配置详情六、优化网络和 REST APIMongoDB 七、升级八、监控九、常见问题及处理 一、Graylog简介 Graylog是一个简单易用、功能较全面的…...
构建高可用和高防御力的云服务架构第五部分:PolarDB(55)
引言 云计算与数据库服务 云计算作为一种革命性的技术,已经深刻改变了信息技术行业的面貌。它通过提供按需分配的计算资源,使得数据存储、处理和分析变得更加灵活和高效。在云计算的众多服务中,数据库服务扮演着核心角色。数据库服务不仅负…...
保姆级教程:用Python搞定Livox激光雷达数据采集(附完整SDK代码)
Python实战:Livox激光雷达数据采集全流程解析与SDK开发指南 激光雷达技术正在重塑自动驾驶、机器人导航和三维重建领域的游戏规则。作为国产激光雷达的佼佼者,Livox凭借其独特的非重复扫描模式和高性价比,在科研和工业应用中崭露头角。然而&a…...
保姆级教学:雯雯的后宫-造相Z-Image瑜伽女孩模型环境搭建与调用
保姆级教学:雯雯的后宫-造相Z-Image瑜伽女孩模型环境搭建与调用 1. 引言 想自己动手搭建一个能生成专属瑜伽女孩图片的AI服务吗?今天,我就带你从零开始,一步步完成“雯雯的后宫-造相Z-Image-瑜伽女孩”模型的完整环境搭建和调用…...
蒲公英R300A 4G路由器实战:工业PLC远程监控全流程解析
1. 工业场景下的远程监控挑战 在工业自动化领域,PLC(可编程逻辑控制器)就像工厂的"大脑",24小时不间断地控制着生产线运转。但传统PLC监控有个痛点:工程师必须亲临现场才能调试设备,遇到半夜设备…...
终极指南:Kanboard监控告警配置 - 打造异常情况及时响应机制
终极指南:Kanboard监控告警配置 - 打造异常情况及时响应机制 【免费下载链接】kanboard Kanban project management software 项目地址: https://gitcode.com/gh_mirrors/ka/kanboard Kanboard作为一款高效的看板项目管理软件,不仅能帮助团队可视…...
Architect.dev核心组件架构揭秘:深入理解@http、@tables、@events
Architect.dev核心组件架构揭秘:深入理解http、tables、events 【免费下载链接】architect The simplest, most powerful way to build a functional web app (fwa) 项目地址: https://gitcode.com/gh_mirrors/ar/architect Architect.dev 是一个革命性的无服…...
手把手教你用Python和MATLAB生成标准SVS文件(从numpy数组到多级金字塔)
从Numpy数组到多级金字塔:Python与MATLAB生成SVS文件的实战指南 在数字病理领域,全切片图像(WSI)的生成与共享已成为研究协作的关键环节。许多研究者面临一个共同挑战:如何将处理后的numpy数组(如分割结果或合成图像)转…...
CSS如何优化大型网站样式_利用BEM架构保持代码条理性
BEM通过命名约束避免样式冲突和维护灾难:Block(如card)为独立单元,Element(如card__title)须依附Block,Modifier(如card--featured)表状态且不单独使用。为什么BEM能避免…...
OpenClaw故障自愈:Qwen3.5-9B诊断脚本错误与自动重试机制
OpenClaw故障自愈:Qwen3.5-9B诊断脚本错误与自动重试机制 1. 为什么需要故障自愈能力 上周我在用OpenClaw自动化处理一批Python数据分析脚本时,遇到了一个典型问题:凌晨3点脚本运行失败,直到早上8点查看日志才发现问题。这种&qu…...
MusePublic圣光艺苑保姆级指南:日志分析与生成失败归因定位方法
MusePublic圣光艺苑保姆级指南:日志分析与生成失败归因定位方法 1. 引言:当艺术创作遇到技术挑战 在MusePublic圣光艺苑这个充满诗意的AI艺术创作空间中,即使是最优雅的"挥毫泼墨"过程也可能遇到技术问题。当你的"绘意"…...
OpenClaw私人教练:Phi-3-mini定制健身计划系统
OpenClaw私人教练:Phi-3-mini定制健身计划系统 1. 为什么需要AI私人教练 去年夏天,我发现自己陷入了典型的"健身困境":办了昂贵的健身房会员卡,却因为缺乏科学指导而收效甚微。传统健身APP的模板化方案无法适应我不断…...
