数学基础 --线性代数之理解矩阵乘法
理解矩阵乘法的解析
矩阵乘法(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)
引言 云计算与数据库服务 云计算作为一种革命性的技术,已经深刻改变了信息技术行业的面貌。它通过提供按需分配的计算资源,使得数据存储、处理和分析变得更加灵活和高效。在云计算的众多服务中,数据库服务扮演着核心角色。数据库服务不仅负…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道
文/法律实务观察组 在债务重组领域,专业机构的核心价值不仅在于减轻债务数字,更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明,合法债务优化需同步实现三重平衡: 法律刚性(债…...
恶补电源:1.电桥
一、元器件的选择 搜索并选择电桥,再multisim中选择FWB,就有各种型号的电桥: 电桥是用来干嘛的呢? 它是一个由四个二极管搭成的“桥梁”形状的电路,用来把交流电(AC)变成直流电(DC)。…...
6️⃣Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙
Go 语言中的哈希、加密与序列化:通往区块链世界的钥匙 一、前言:离区块链还有多远? 区块链听起来可能遥不可及,似乎是只有密码学专家和资深工程师才能涉足的领域。但事实上,构建一个区块链的核心并不复杂,尤其当你已经掌握了一门系统编程语言,比如 Go。 要真正理解区…...
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南 背景介绍完整操作步骤1. 创建Docker容器环境2. 验证GUI显示功能3. 安装ROS Noetic4. 配置环境变量5. 创建ROS节点(小球运动模拟)6. 配置RVIZ默认视图7. 创建启动脚本8. 运行可视化系统效果展示与交互技术解析ROS节点通…...
