推荐一本非常不错的图解线性代数开源书籍,适合初学者以及想要快速复习线性代数的同学。书中通过图解的方式介绍了线性代数的基本概念和算法,帮助读者更好地理解矩阵、向量以及相关的计算方法。
Abstract
我尝试为 Gilbert Strang 在书籍 “Linear Algebra for Everyone” 中介绍的矩阵的重要概念进行可视化图释,以促进从矩阵分解的角度对向量、矩阵计算和算法的理解。它们包括矩阵分解(Column-Row, )、高斯消去法(Gaussian Elimination, )、格拉姆-施密特正交化(Gram-Schmidt Orthogonalization, )、特征值和对角化(Eigenvalues and Diagonalization, )、和奇异值分解(Singular Value Decomposition, )。
序言
我很高兴能看到 Kenji Hiranabe 的线性代数中的矩阵运算的图片!这样的图片是展示代数的绝佳方式。我们当然可以通过 行 列 的点乘来想象矩阵乘法,但那绝非全部 —— 它是 “线性组合” 与 “秩1矩阵” 组成的代数与艺术。我很感激能看到日文翻译的书籍和 Kenji 的图片中的想法。
— Gilbert Strang 【麻省理工学院数学教授】
1. 理解矩阵——4个视角
一个矩阵 () 可以被视为 个矩阵,个数,个列和 个行。

在这里,列向量被标记为粗体 。行向量则有一个 号,标记为 。转置向量和矩阵则用 标记为 和 。
2. 向量乘以向量——2个视角
后文中,我将介绍一些概念,同时列出 “Linear Algebra for Everyone” 一书中的相应部分(部分编号插入如下)。详细的内容最好看书,这里我也添加了一个简短的解释,以便您可以通过这篇文章尽可能多地理解。此外,每个图都有一个简短的名称,例如 v1(数字 1 表示向量的乘积)、Mv1(数字 1 表示矩阵和向量的乘积),以及如下图 (v1) 所示的彩色圆圈。如你所见,随着讨论的进行,该名称将被交叉引用。
- 1.1节 (p.2) Linear combination and dot products
- 1.3节 (p.25) Matrix of Rank One
- 1.4节 (p.29) Row way and column way

(v1) 是两个向量之间的基础运算,而 (v2) 将列乘以行并产生一个秩1矩阵。理解 (v2) 的结果(秩1)是接下来章节的关键。
3. 矩阵乘以向量——2个视角
一个矩阵乘以一个向量将产生三个点积组成的向量 (Mv1) 和一种 的列向量的线性组合。
- 1.1节 (p.3) Linear combinations
- 1.3节 (p.21) Matrices and Column Spaces

往往你会先学习 (Mv1)。但当你习惯了从 (Mv2) 的视角看待它,会理解 是 的列的线性组合。矩阵 的列向量的所有线性组合生成的子空间记为 。的解空间则是零空间,记为 。
同理,由 (vM1) 和 (vM2) 可见,行向量乘以矩阵也是同一种理解方式。

上图 的行向量的所有线性组合生成的子空间记为 。的解空间是 的左零空间,记为 。
本书的一大亮点即为四个基本子空间:在 上的 + (相互正交)和在 上的 + (相互正交)。
- 3.5节 (p.124) Dimensions of the Four Subspaces

关于秩 ,请见 (6.1节)。
4. 矩阵乘以矩阵——4个视角
由 “矩阵乘以向量” 自然延伸到 “矩阵乘以矩阵”。
- 1.4节 (p.35) Four ways to multiply
- 也可以见书的封底

5. 实用模式
在这里,我展示了一些实用的模式,可以让你更直观地理解接下来的内容。

P1 是 (MM2) 和 (Mv2) 的结合。P2 是 (MM3) 和 (vM2) 的扩展。注意,P1 是列运算(右乘一个矩阵),而 P2 是行运算(左乘一个矩阵)。

(P1’) 将对角线上的数乘以矩阵的列,而 (P2’) 将对角线上的数乘以矩阵的行。两个分别为 (P1) 和 (P2) 的变体。

当解决微分方程和递归方程时的也会出现这一模式:
- 6节 (p.201) Eigenvalues and Eigenvectors
- 6.4节 (p.243) Systems of Differential Equations
在两种问题中,它的解都可以用 的特征值()、特征向量 和系数 表示。其中 是以 为基底的初始值 的坐标。
以上两个问题的通解为:
见 Figure 9:通过 P3 可以得到 。

P4 在特征值分解和特异值分解中都会用到。两种分解都可以表示为三个矩阵之积,其中中间的矩阵均为对角矩阵。且都可以表示为带特征值/特异值系数的秩1矩阵之积。
更多细节将在下一节中讨论。
6. 矩阵的五种分解
- 前言 p.vii, The Plan for the Book.
将一一说明。
分解 | 图示 | 说明 |
---|
|  | 为 的线性无关列 为 的行阶梯形矩阵 可推知 列秩 = 行秩 |
|  | 分解通过 高斯消去法 (下三角)(上三角) |
|  | 分解为 格拉姆-施密特正交化中的 正交矩阵 和三角矩阵 |
|  | 对称矩阵 可以进行 特征值分解 特征向量组成 ,特征值组成 |
|  | 所有矩阵 的 奇异值分解 奇异值组成 |
6.1
- 1.4节 Matrix Multiplication and (p.29)
所有一般的长矩阵 都有相同的行秩和列秩。这个分解是理解这一定理最直观的方法。由 的线性无关列组成,为 的行阶梯形矩阵(消除了零行)。将 化简为 的线性无关列 和线性无关行 的乘积。
推导过程:从左往右看 的列。保留其中线性无关的列,去掉可以由前者线性表出的列。则第1、2列被保留,而第三列因为可以由前两列之和表示而被去掉。而要通过线性无关的1、2两列重新构造出 ,需要右乘一个行阶梯矩阵 。

现在你会发现列的秩为2,因为 中只有2个线性无关列。而 中所有的列都可以由 中的2列线性表出。

同样,行秩也为2,因为 中只有2个线性无关行,且 中所有的行都可以由 中的2行线性表出。
6.2
用高斯消除法求解 也被称为 分解。通常,是 左乘一个初等行变换矩阵()来得到一个上三角矩阵 。
现在,求解 有2步:(1) 求解 ,(2) 代回 。
- 2.3节 (p.57) Matrix Computations and
在这里,我们直接通过 计算 和 。

要计算 和 ,首先分离出由 的第一行和第一列组成的外积。余下的部分为 。递归执行此操作,将 分解为秩1矩阵之和。

由 乘以 来重新构造 则相对简单。
6.3
是在保持 的条件下,将 转化为正交矩阵 。
- 4.4节 Orthogonal matrices and Gram-Schmidt (p.165)
在格拉姆-施密特正交化中,首先,单位化的 被用作 ,然后求出 与 正交所得到的 ,以此类推。
或者你也可以写作 :
原本的 就可以表示为 :正交矩阵乘以上三角矩阵。

的列向量就可以转化为一个正交集合:的列向量。的每一个列向量都可以用 和上三角矩阵 重新构造出。
图释可以回头看 P1。
6.4
所有对称矩阵 都必须有实特征值和正交特征向量。特征值是 的对角元素,特征向量在 中。
- 6.3节 (p.227) Symmetric Positive Definite Matrices

一个对称矩阵 通过一个正交矩阵 和它的转置矩阵,对角化为 。然后被分解为秩一投影矩阵 的组合。这就是谱定理。
注意,这里的分解用到了P4。
6.5
- 7.1节 (p.259) Singular Values and Singular Vectors
包括长方阵在内的所有矩阵都具有奇异值分解(SVD)。中,有 的奇异向量 和 。奇异值则排列在 的对角线上。下图就是”简化版”的SVD。

你可以发现,是 (的特征向量)的标准正交基,而 是 (的特征向量)的标准正交基。它们共同将 对角化为 。这也可以表示为秩1矩阵的线性组合。
注意:
图释见P4。
总结和致谢
我展示了矩阵/向量乘法的系统可视化与它们在五种矩阵分解中的应用。我希望你能够喜欢它们、通过它们加深对线性代数的理解。
Ashley Fernandes 在排版时帮我美化了这篇论文,使它更加一致和专业。
在结束这篇论文之前,我要感谢 Gilbert Strang 教授出版了《Linear Algebra for Everyone》一书。它引导我们通过新的视角去了解线性代数中这些美丽的风景。其中介绍了当代和传统的数据科学和机器学习,每个人都可以通过实用的方式对它的基本思想进行基本理解。矩阵世界的重要组成部分。
参考文献与相关工作
Gilbert Strang(2020), Linear Algebra for Everyone, Wellesley Cambridge Press.
http://math.mit.edu/everyone
Gilbert Strang(2016), Introduction to Linear Algebra, Wellesley Cambridge Press, 5th ed.
http://math.mit.edu/linearalgebra
Kenji Hiranabe(2021), Map of Eigenvalues, An Agile Way(blog)
https://anagileway.com/2021/10/01/map-of-eigenvalues/

Kenji Hiranabe(2020), Matrix World, An Agile Way(blog)
https://anagileway.com/2020/09/29/matrix-world-in-linear-algebra-for-everyone/
