矩阵
“矩阵乘积把「左边的行」和「右边的列」配对,再相加。”
公式
(AB)ᵢⱼ = Σₖ aᵢₖ bₖⱼ怎么读: 矩阵乘积的每个元素,都是左矩阵第 i 行与右矩阵第 j 列对应相乘后再求和
- A, B
- — 矩阵——把数字排成一个矩形阵列
- (AB)ᵢⱼ
- — 乘积 AB 中第 i 行第 j 列的元素
- aᵢₖ, bₖⱼ
- — A 的第 i 行与 B 的第 j 列中被配对的元素
引子
矩阵只是把数字排在一个方框里,但一条乘法规则就能让它同时处理旋转、变换和方程组。
通俗地说
矩阵把数字按行和列排列。要把两个矩阵相乘,就是把「左边的一行」和「右边的一列」配对,逐项相乘再相加。
直觉
加法和数乘很简单——只需处理对应位置。乘法才特别:左矩阵的一行「落在」右矩阵的一列上,逐项相乘再求和。正是这条规则,让你能一次性变换一大批方程。
如何构建
元素 aᵢⱼ 表示第 i 行第 j 列。AB 的第 (i,j) 个元素,是把 A 的第 i 行与 B 的第 j 列依次逐项相乘再相加。所以左矩阵的列数必须等于右矩阵的行数,乘积才有意义。
示例
[[1,2],[3,4]]×[[5,6],[7,8]],元素 (1,1) = (1·5)+(2·7) = 5+14 = 19。用同样的方法算出其余部分,得到 [[19,22],[43,50]]。
常见误区
AB 和 BA 通常不同——矩阵乘法不满足交换律。交换顺序,结果会改变,甚至乘积可能根本不存在。
用在哪里
计算机图形学中的旋转与缩放、求解线性方程组、统计学中的数据变换、神经网络内部的运算——几乎任何需要成批变换数字的地方都用得到。
从何而来
凯莱在 19 世纪把矩阵形式化;「矩阵」(matrix)一词源自拉丁语,意为「子宫」,即孕育其他事物之处。
前置概念
小测验
矩阵 A 乘以单位矩阵 I,得到的结果是什么?
- 零矩阵
- A 本身,不变✓
- A 的转置
- 永远是 I
练习
求 [[2,1],[0,3]] + [[1,4],[5,2]] 的 (1,2) 元素。
答案: 5
- 加法是逐个元素相加
- (1,2) 元素:1 + 4 = 5
要点: 矩阵加法就是把对应位置的元素相加。
求 3 × [[1,−2],[0,4]](数乘)的 (2,2) 元素。
答案: 12
- 数乘会把每个元素都乘以这个数
- (2,2) 元素:3·4 = 12
要点: 一个数会均匀地乘上每一格。
求 [[1,2],[3,4]] × [[0,1],[1,0]] 的 (2,2) 元素。
答案: 3
- 把第 2 行 (3,4) 与第 2 列 (1,0) 配对
- 3·1 + 4·0 = 3
要点: 乘积是逐行逐列、逐项相乘再求和。
对于 A=[[1,0],[0,0]] 和 B=[[0,1],[0,0]],计算 AB 和 BA,并说明它们并不相同。
答案: undefined
- AB = [[0,1],[0,0]]
- BA = [[0,0],[0,0]]
- AB ≠ BA——矩阵乘积的顺序会影响结果
要点: 交换矩阵乘积的顺序会改变结果。