线性代数大约是本科阶段学习到的最神秘、最云里雾里的数学学科。总体上,线性代数提供了一套 理解和操纵线性空间 的准则与方法,即使是最优秀的应试者,也不一定真正理解这些观念的本质。本文不会严谨地给出每一个涉及的概念的定义,而是权当抛砖引玉,对一些常见的观念给出了理解它们的思路。
1 向量空间
1.1 向量的张成
同维度的向量 $u \in \mathbb{R}^n$
和 $v \in \mathbb{R}^n$
的张成(span)是集合
$$ \{a u + b v \mid a, b \in \mathbb{R} \} $$
即,仅通过 向量加法 与 向量数乘,我们能得到的、所有的向量的集合。
由此可依次引入线性空间(向量空间)、度量空间、赋范空间以及内积空间的定义,读者可自行检索查阅。
1.2 线性无关
对于向量空间 $V$
中的一组向量 $\{v_1, v_2, ..., v_n \}$
,它们是线性相关的 当且仅当 存在非全为零的元素 $a_1,a_2,\cdots,a_n \in \mathbb{R}$
满足
$$ \sum_i a_i v_i = 0 $$
否则称这一组向量 线性无关。
1.3 基
向量空间的一组基是张成该空间的 一个线性无关的向量集(相互不可替代)。基的个数就是空间的维数。对于 $n$
维线性空间 $V$
,
$$ \Bigg\{v_i := \bigg[ \underbrace{0, ..., 1, ..., 0}_{\textrm{仅第 }i\textrm{ 个位置为 }1} \bigg]^\textrm{T} \Bigg\}_{i=1, ..., n} $$
是一组 单位正交基(关于正交的概念,后面会深入分析)。
2 线性变换
2.1 理解 “线性”
线性变换中的 “线性” 是指:
- 对于空间中的直线,变换后仍应当是直线;
- 直线的比例保持不变;
- 空间的原点必须保持固定。
满足第一、二点但是不满足第三点的,其实是仿射变换(affine transformation),即 “线性变换 + 平移”。可以在高维度通过线性变换实现低维度的仿射变换。 本质上,线性变换是保持网格线平行且等距分布的变换。
严格意义上,若一个变换 $L$
满足 可加性:
$$ L(u + v) = L(u) + L(v) $$
和 成比例(一阶齐次):
$$ L(cv) = c L(v) $$
则称 $L$
是线性的。线性变换不仅可以作用于向量(当然,这取决于我们如何定义 “向量”),也可以作用在函数上。
例如,求导运算也是一种线性变换,这就是求导公式中可加性和成比例的由来:
$$ \begin{aligned} \frac{\partial (f + g)}{\partial x} &= \frac{\partial f}{\partial x} + \frac{\partial g}{\partial x} \\ \frac{\partial \alpha f}{\partial x} &= \alpha \frac{\partial f}{\partial x} \end{aligned} $$
因此,我们最好把这种特征抽象出来,而不拘泥于具体的形式。
2.2 线性变换与矩阵
如何用数值去描述线性变换?我们只需关注新的线性空间的基的位置如何描述即可,而基前面数乘的系数在变换前后不会发生变换。
以二维线性空间为例,记旧的基为 $i=[1, 0]^\textrm{T}$
和 $j=[0, 1]^\textrm{T}$
,新的基为 $i'= [i'_1, i'_2]^\textrm{T}$
和 $j' = [j'_1, j'_2]^\textrm{T}$
,则对于变换前的向量 $[x,y]^\textrm{T}$
,有
$$ \begin{aligned} \left[ \begin{matrix} x \\ y \end{matrix} \right] = x i + y j \stackrel{\textrm{线性变换}L}{\longrightarrow} x i'+ y j' = \left[ \begin{matrix} x i'_1 + y j'_1 \\ x i'_2 + y j'_2 \end{matrix} \right] = \left[ \begin{matrix} i'_1 + j'_1 \\ i'_2 + j'_2 \end{matrix} \right] \left[ \begin{matrix} x \\ y \end{matrix} \right] = \left[ \begin{matrix} i', j' \end{matrix} \right] \left[ \begin{matrix} x \\ y \end{matrix} \right] \end{aligned} $$
也就是说,线性变换 $L = [i', j']$
。这意味着,我们可以用矩阵来实施线性变换。一个矩阵和一个线性变换总是一一对应,且 矩阵的每一列都是变换后的线性空间的一组 “基”(打引号是因为此处允许 $i',j'$
线性相关)。上面的这个式子也引申出了矩阵 - 向量乘法的定义。注意,这里的新基其实仍然是用旧的坐标体系(旧基)来描述的。
2.3 线性变换的复合
线性变换作为一个函数,通过矩阵来实现可以写作 $A(x)$
,线性变换的复合可以写作 $B(A(x))$
,去掉这些括号,就可以得到矩阵乘法的运算,即复合变换。
具体地,不妨设 $A = [a_1, a_2]$
,$B = [b_1, b_2]$
,注意这里的 $a_1, a_2, b_1, b_2$
均为列向量,则有
$$ \begin{aligned} BA &= \left[ \begin{matrix} b_{11} & b_{21} \\ b_{12} & b_{22} \end{matrix} \right] \left[ \begin{matrix} a_{11} & a_{21} \\ a_{12} & a_{22} \end{matrix} \right] = \left[ \begin{matrix} b_{11} a_{11} & b_{11} a_{21} \\ b_{12} a_{11} & b_{12} a_{21} \end{matrix} \right] + \left[ \begin{matrix} b_{21} a_{12} & b_{21} a_{22} \\ b_{22} a_{12} & b_{22} a_{22} \end{matrix} \right] \\ &= \left[ \begin{matrix} b_{11} \\ b_{12} \end{matrix} \right] \left[ \begin{matrix} a_{11} & a_{21} \end{matrix} \right] + \left[ \begin{matrix} b_{21} \\ b_{22} \end{matrix} \right] \left[ \begin{matrix} a_{12} & a_{22} \end{matrix} \right] = \left[ \begin{matrix} b_1 a_{11} + b_2 a_{12} & b_1 a_{21} + b_2 a_{22} \end{matrix} \right] \\ &= \left[ \begin{matrix} \left[ \begin{matrix} b_1 & b_2 \end{matrix} \right] \left[ \begin{matrix} a_{11} \\ a_{12} \end{matrix} \right] & \left[ \begin{matrix} b_1 & b_2 \end{matrix} \right] \left[ \begin{matrix} a_{11} \\ a_{12} \end{matrix} \right] \end{matrix} \right] = \left[ \begin{matrix} B a_1 & B a_2 \end{matrix} \right] \end{aligned} $$
这意味着,$B$
分别作用在 $A$
的两个基向量上。上面的变换过程还展示了矩阵运算和矩阵 - 乘法运算之间的关系。思考复合变换的形成,我们可以很容易证明矩阵乘法满足结合律:$(AB)C=A(BC)$
,但不满足交换律 $AB \neq BA$
。
2.4 行列式
线性变换前后空间内任意区域的缩放比例即行列式(determinant)。在二维线性空间上这对应着单位面积的缩放,在三维线性空间上这对应着单位体积的缩放。
-
如果一个矩阵的行列式为零,则说明该线性变换导致了空间的坍缩(新的线性空间的维度小于旧的线性空间的维度),这在矩阵的列向量(即新基)线性相关的时候发生。此时我们称该矩阵为 奇异 的;
-
如果一个矩阵的行列式为负,则说明该线性变换改变了空间的 定向(orientation)。
需要注意的是,行列式是定义在方阵上的,否则,新旧空间的维度是必然发生了变化的。
具体地,对于方阵 $A \in \mathbb{R}^{n \times n}$
,若其行列式 $\operatorname{det} (A) = |A|$
满足:
-
$|A| > 1$
:对图形有放大作用; -
$|A| = 1$
:图形大小不变; -
$|A| \in (0, 1)$
:对图形有缩小作用; -
$|A| = 0$
:空间坍缩,不可逆; -
$|A| < 0$
:改变左右手规则。
因为两次线性变换缩放的比例之积和一次复合变换的缩放比例相等,所以显然有
$$ \operatorname{det} (A) \operatorname{det} (B) = \operatorname{det} (AB) $$
类似地,还有如下性质:
$$ \operatorname{det} (A) = \operatorname{det} (A^\textrm{T}) \\ \operatorname{det} (cA) = c^n \operatorname{A} $$
如果一个方阵和对角阵相似(即可对角化、可执行特征值分解),那么 $A$
的行列式等于所有特征值的积,后面会谈到这一点。
2.5 从线性变换的角度理解线性方程组
对于线性方程组 $A x = b$
的求解,$x$
依赖于线性变换 $A$
对空间的操纵。
-
当
$|A| \neq 0$
时,空间没有发生坍缩,则这个线性变换是可逆的。我们总可以通过对$b$
实施 “$A$
的逆变换” 来得到$x$
。这里也引申出了线性变换的逆(逆矩阵)的定义:$A$
的逆是满足以下性质的唯一变换:$A^{-1} A=I$
。其中$I$
作为单位矩阵,是一个 “什么都不做” 的线性变换。 -
当
$|A|=0$
时,空间发生坍缩,此时,我们无法通过一个线性变换再变换回去。从有损压缩的角度来理解,在没有任何场外信息介入的情况下,无法将一个点或一条线 “解压缩” 为一个平面,因为部分信息已经被丢失了。
关于线性方程组,后面还会给出多更深入分析。
2.6 矩阵的秩
如何描述空间是否发生了坍缩?我们需要一种建立在线性变换之上的概念,他需要表达出经过线性变换后,新空间的维度。这就是 秩(rank)。
列空间:
对于任意的 $A \in \mathbb{R}^{m \times n}$
,将 $x$
看成旧空间的任意未知向量,则所有 $Ax$
的取值组成了一个新的线性空间,我们称之为 $A$
的列空间(column space)(也被称为 $A$
的像),记为 $\operatorname{range}(A)$
/ $\mathcal{R} (A)$
:
$$ \operatorname{range}(A) = \mathcal{R} (A) = \{ y \mid y = Ax, x \in V \} $$
这是因为 $A$
的每一列就是新空间的 “基”(打引号是因为此处允许新基线性相关)。因此,$A$
的秩等于 $A$
的列空间的维数:$\operatorname{rank} (A) = \operatorname{dim} (\operatorname{range}(A))$
。
当秩等于新基的个数时,我们称之为 满秩,即新基线性无关。这也意味着 $\operatorname{rank} (A) \leq n$
。
零空间:
注意,零向量一定在列空间内,这是因为线性空间必然包含原点,而线性变换不会改变原点。不过,除了零向量,可能还会存在一些向量在经过线性变换 $A$
之后也成为了零向量,我们将所有的这些向量放入集合 $A$
的零空间$\operatorname{null} (A)$
内:
$$ \operatorname{null} (A) = \{ x \in V \mid Ax = 0 \} $$
$\operatorname{null} (A)$
又称为 $A$
的核(kernel)。$\operatorname{null} (A)$
的秩可以大于 $0$
。
正交分解:
对于任意的 $A \in \mathbb{R}^{m \times n}$
,总有
$$ \operatorname{dim} (\mathcal{R} (A)) + \operatorname{dim} (\operatorname{null} (A)) = n $$
由此可以得到全空间的正交分解:
$$ \mathbb{R}^n = \operatorname{null} (A) \oplus \mathcal{R} (A^\mathrm{T}), \quad x \perp y, \quad \forall x \in \operatorname{null} (A), y \in \mathcal{R} (A^\textrm{T}) $$
2.7 矩阵的转置
如何理解矩阵的转置?已知 $A \in \mathbb{R}^{m \times n}$
的每一列 $A_{:,j}$
是 $A$
对应的线性变换的新基在旧的线性空间 $V$
的坐标,每一行 $A_{i,:}$
其实是在以新基为坐标体系、旧基在新的线性空间 $U$
的坐标,即旧基在新基上的投影。
因为
$$ n = \operatorname{rank} (\operatorname{range} (A)) + \operatorname{rank} (\operatorname{null} (A)) = \operatorname{rank} (\operatorname{range} (A^\textrm{T})) + \operatorname{rank} (\operatorname{null} (A)) $$
所以 $\operatorname{range} (A) = \operatorname{range} (A^\textrm{T})$
,即矩阵的列秩与行秩相等。又因为 $\operatorname{range} (A^\textrm{T}) \leq m$
,所以可得
$$ \operatorname{rank} (A) \leq \min \{ m, n \} $$
最后
著名的数学科普博主 3Blue1Brown 在他的油管和 B 站账号上均发布了名为 线性代数的本质 系列视频,其中提供了本文所述概念的动态演示,推荐读者观看。
转载申请
本作品采用 知识共享署名 4.0 国际许可协议 进行许可,转载时请注明原文链接。您必须给出适当的署名,并标明是否对本文作了修改。