本文从MIT的线代教程的角度重新学习线性代数。
这是第二部分,从 L14 开始。
L14 正交向量和子空间
这张图其实在四个子空间那一节课已经展示了,但当时我没有搞明白,为什么这四个空间的位置这么诡异。因为这4个空间两两正交。
正交(orthogonal)向量 $x$、$y$ 满足 $x^T y = 0$。可以用它证明勾股定理即 $ |x|^2 + |y|^2 = |x+y|^2 $。注意这里向量点乘,所以 $x^T y = y^T x$。
根据定义,零向量和所有向量正交。
两个子空间正交是什么意思呢?即 A 中的所有向量,和 B 中的所有向量正交。考虑教室作为一个三维空间,墙上的向量和地板上的向量未必正交。或者其实考虑 $ [1,1,0]$ 和 $[1,0,1]$ 即可。或者考虑踢脚线的那个向量,它同时处于两个空间中,肯定不会自己和自己正交。
所以如果两个空间正交,它们的交集一定不会是某个非零向量。当然这不是充分的。
证明行空间和零空间正交。
不如把 A 写完整。可以看到每一行 $r_i$ 乘上 $x$ 都为 0。
$$
Ax = 0 \\
\Leftrightarrow \\
\begin{equation}
\begin{bmatrix}
r_1 \\
r_2 \\
… \\
r_m \\
\end{bmatrix}
\begin{bmatrix}
x_1 \\
x_2 \\
… \\
x_m \\
\end{bmatrix}
= 0
\end{equation}
$$
然后我们证明这些行的线性组合,和 $x$ 正交。这是肯定的。
那么它们可能是什么呢?考虑 $R^3$,行空间和零空间不可能是两条直线,因为维度加起来不对。其实我们可以考虑是一条线和一个面的正交。
可以看出,行空间和零空间“划分”整个 $R^m$。这称为 $m$ 维空间里的正交补。也就是说行空间包含了所有和零空间垂直的向量。
如何求一个无解方程组的解?这里指的是 $m$ 很大的时候。比如进行很多次测量,里面存在各种噪声,方程组大概率无解。所以我们要采取比如最小二乘法的技巧来“拟合”。
如果 $A$ 是 $m$ 行 $n$ 列 的矩阵,则 $A^T A$ 有一些很好的特性:
- 它是方阵
- 它是对称矩阵
这是因为 $ (A^T A)^T = A^T A $
所以当我们发现 $ A x = b$ 无解时,两边乘以 $A^T$ 就会得到一个“好”的方程 $ A^T A \hat {x} = A^T x$。
现在考虑 $A^T A$什么时候是可逆的呢?
首先这个矩阵未必可逆,比如零矩阵,比如下面这个 $A$
$$
\begin{bmatrix}
1&3 \\
1&3 \\
1&3 \\
\end{bmatrix}
$$
事实上 $N(A^T A)=N(A)$,且 $r(A^T A) = r(A)$。为什么呢?关于这个性质,在 L16 最后会进行证明,这里不妨假设它是对的。
所以 $N(A^T A)$ 可逆,当且仅当 $A$ 的各列线性无关,这样零空间就是0维的了。
L15 子空间投影
向量 $b$ 和它在向量 $a$ 上的投影 $p$ 正交。如果我们将 $p$ 视为 $b$ 的近似,那么 $e = b - p$ 就是这近似的误差。这里 $p$ 是 $a$ 的某个倍数,即 $p = x a$。
$e$ 等于 $b - x a$。整理一下上面的关系,有
$$
a^T (b - x a) = 0
$$
化简一下,可以求得 $x$
$$
x a^T a = a^T b \\
x = \frac{a^T b}{a^T a}
$$
投影 p 就是
$$
p = a \frac{a^T b}{a^T a}
$$
投影矩阵 P,上面一行是一个矩阵(列乘以行),下面一行是一个数。投影矩阵 P 作用于 b,得到 b 向量在 a 上的投影。
$$
P = \frac{a a^T}{a^T a} \\
p = P b
$$
看看这个矩阵的列空间,先想想几何意义。因为 $P$ 是投影矩阵,它就是要投到 $a$ 这根向量上。所以 $P$ 的列空间就是通过 $a$ 的一条直线。所以 $P$ 的秩是1。
其实根据上节课末尾介绍的 $r(A^T A) = r(A)$,可以知道分式上面的 $ a a^T $ 的秩就是 $a$ 的秩是1,下面是一个常数。
这个矩阵是对称的么?是的,因为 $ a a^T $ 是对称的。
还能发现,投影两次是自己,即 $ P^2 = P$。
下面来看在更高维,比如 $R^3$ 上投影。现在 $b$ 不是在 $a$ 上投影,而是在 $A$ 上投影了。
为什么要投影呢?因为 $Ax = b$ 无解,也就是说 $b$ 不一定在 $A$ 的列空间中。所以我们就退而求其次,求 $A \hat{x} = p$。也就是求 $b$ 在 $A$ 列空间上的投影。
这里的 $e$ 向量是垂直于平面的了。
此时我们的投影是
$$
p = \hat{x}_1 a_1 + \hat{x}_2 a_2 = A \hat{x}
$$
因为 e 垂直于由 $a_1$ 和 $a_2$ 构成的平面,可以表示为 $b - A \hat{x}$,所以可以得到两个方程
$$
a_1^T (b - A \hat{x}) = 0 \\
a_2^T (b - A \hat{x}) = 0 \\
\Leftrightarrow \\
A^T (b - A \hat{x}) = 0
\Leftrightarrow \\
A^T A \hat{x} = A^T b
$$
这个方程看上去和二维的有点出入,但其实你把二维里面的 $a$ 看做是 $A$ 就对的上了。这个式子铭记在心,它很重要。
$e$ 在 $A^T$ 的零空间中,也就是说 $e$ 垂直于 $A$ 的列空间。其实我觉得从图上就能看出来吧……
现在不妨讨论下方程的解
$$
\hat{x} = (A^T A)^{-1} A^T b
$$
投影 $p$ 就是
$$
p = A \hat{x} = A (A^T A)^{-1} A^T b
$$
形式上很像
$$
\frac{a a^T}{a^T a}
$$
我们能简化为 $ P = A A^{-1} (A^T)^{-1} A^T $,结果居然是 $I$。这肯定有问题,可是哪里有问题呢?教授说因为 $A$ 不是方阵。所以我们不能直接写成分式,即下面未必成立
$$
p = \frac{A A^T}{A^T A} b
$$
而如果 $A$ 是一个可逆的方阵,那么列空间是整个 $R^m$,而投影矩阵确实就是单位阵。
同理,$ P $ 也是对称阵。
$ P^2 = P$,写出来可以发现中间可以消掉。
最小二乘求得是 $ A^T A \hat{x} = A^T b$。这个方程之前介绍过,说的是 $e$ 和 $A$ 的列空间正交。
L16 投影矩阵和最小二乘
如果 $b$ 垂直于列空间,则 $P b = 0$。因为 $A^T b = 0$。
如果 $b$ 属于列空间,则 $P b = b$。将 $Ax$ 带入,发现等于 $b$。
所以这里有点向量分解的意思。已经知道投到列空间的向量是 $P b$,那么投到左零空间的向量是 $(I - P) b$。
回到最小二乘,我们要最小化的是 $ | Ax - b |^2 $,因为 $Ax - b = e$,所以也就是最小化 $e^2$。对这个有疑问的,可以多去看一下二维的情况。
最小二乘很容易受到离群点的影响,因为这个离群点会导致误差的平方非常大。
如下图所示,如果我们不是把 b1、b2、b3 放入方程,而是将 p1、p2、p3 放入方程,则好处是方程是有解的。并且我们也能发现它们确实是“最近”的。而我们要最小化的是 $e1^2 + e2^2 + e3^2$。
现在我们求
$$
\begin{equation}
\hat{x} =
\begin{bmatrix}
\hat{C} \\
\hat{D} \\
\end{bmatrix}
\end{equation}
$$
以及 $p$。
$\hat{x}$ 是什么呢?之前说过是
$$
A^T A \hat{x} = A^T b
$$
下面这种图中对这个方程进行了化简,最后得到右边的矩阵
那么解就是下面的方程组
$$
3C + 6D = 5 \\
6C + 14D = 11 \\
$$
可以用分析的办法来解决,即考虑最小化 $e1^2 + e2^2 + e3^2$。分别对 $C$ 和 $D$ 求偏导数,可以同样得到上面两个方程。
最后我们求出 $b = p + e$,可以发现 $e$ 和 $p$ 互相垂直。
填坑,证明如果 $A$ 各列线性无关,则 $A^T A$ 可逆。
只需要证明如果 $A^T A x = 0$,则 $x = 0$。因为在 L09 讲过,如果矩阵可逆,那么它的零空间只有0。
第一种办法,是两边都左乘 $x^T$,得到 $ x^T A^T A x = 0$。其实就是 $(Ax)^T (Ax) = 0$,很有趣。而如果 $y^T y = 0$,说明 $y$ 是零向量,因为这个表示向量长度的平方。
【Q】如果这里 $A$ 是矩阵,$A^T A = 0$,是什么性质呢?A 也是0,可以看下这个证明。这个证明引入的符号也很实用。
上面得到 $Ax = $,因为 $A$ 各列线性无关,所以 $x$ 一定是零向量。
下节课的预告:相互垂直的向量一定线性无关。
L17 正交矩阵和施密特正交化
首先定义正交向量 $q_i$ 和 $q_j$,如果 $ i \ne j$ 则 $q^T_i q_j = 0$,如果 $ i = j$ 则 $ q^T_i q_j = 1 $。我觉得这个 0 表明了正交,1 表明了标准。
下面教授证明性质如果 Q 的列向量为标准正交向量,则 $ Q^T Q = I$ 为单位阵。
$$
\begin{equation}
Q =
\begin{bmatrix}
q_1&q_2&x&q_n \\
\end{bmatrix}
\end{equation}
$$
$$
Q^T Q =
\begin{equation}
\begin{bmatrix}
q_1 \\
q_2 \\
x \\
q_n \\
\end{bmatrix}
\begin{bmatrix}
q_1&q_2&x&q_n \\
\end{bmatrix}
= I
\end{equation}
$$
教授说,尽管这个性质对非方阵也有效,但仅方阵并且标准正交的情况下,我们才会将它称为正交矩阵。
下面举例说明正交矩阵的定义。
例如下面的置换矩阵是正交矩阵。其实我想,根据上面的性质,可以知道如果 Q 还是方阵,则 $ Q^T = Q^{-1}$。而正交矩阵 P 也满足这个关系,所以很容易想到它是正交矩阵。
$$
\begin{equation}
P =
\begin{bmatrix}
0&0&1 \\
1&0&0 \\
0&1&0 \\
\end{bmatrix}
\end{equation}
$$
同理,下面这个矩阵也是正交矩阵,因为它的的两个列向量都是单位向量。
$$
\begin{equation}
Q =
\begin{bmatrix}
cos\theta&-sin\theta \\
sin\theta&cos\theta \\
\end{bmatrix}
\end{equation}
$$
下面这个矩阵的列向量正交,但因为列向量不是单位向量,所以不是正交矩阵
$$
\begin{equation}
\begin{bmatrix}
1&1 \\
1&-1 \\
\end{bmatrix}
\end{equation}
$$
后面还介绍了 Hadamard 矩阵,略了。
下面的矩阵的列向量是标准正交的,但它不是方阵,所以不是正交矩阵,但我们可以拓展它成为正交矩阵。
$$
\begin{equation}
\frac{1}{3}
\begin{bmatrix}
1&-2 \\
2&-1 \\
2&2 \\
\end{bmatrix}
\end{equation}
$$
我们之前已经介绍过了,如果 Q 的列向量是标准正交向量,但 Q 未必是方阵,则投影到 Q 的列空间的投影矩阵为
$$
P = Q (Q^T Q)^{-1} Q^T
$$
因为标准正交,所以有 $Q^T Q = I$。即 $ P = Q Q^T$。
其实当时学到这我就有疑问,为啥 $ Q Q^T$ 不能也是 I,后来才发现不一定是方阵……不过如果 $Q$ 确实是方阵,那么 $ Q^ Q = I$,即 $P$ 就是单位阵了。因为 $Q$ 的列向量张成了整个空间,所以投影过程不会对向量有任何改变。
正规方阵 $Q$ 可以之前讲过的所谓“线性代数基本方程”即 $A^T A \hat{x} = A^T b$ 进行简化。也就是说,如果 $A$ 是 $Q$,那么 $ \hat{x} = Q^T b$。即 $\hat{x_i}=q_i^T b$。
下面介绍施密特正交化,教授吐槽了下这个东西居然还能两个人冠名。
首先施密特说,一个正交基除以自己的长度得到标准正交基,即
$$
q_1 = \frac{A}{|A|}
$$
然后就是如何求得正交,其实从下面的图中就可以看出,前面讲的 b 和 A 的误差 e 就是正交基。
即 $ B = b - \frac{A^T b}{A^T A} A$。其实这里我很困惑,不应该是 $ B = b - A(A^T A)^{-1} A^T b$ 么?搞了半天,原来这里的 A 和 B 啥的都是向量而不是矩阵……所以这里能直接用分式除也是这个原因。哈哈,想到 Artin 书里面直接写不要写成分式,就挺好笑,MIT 老师的风格都好不一样。
我们可以验证正交性。
$$
A^T B = A^T (b - \frac{A^T b}{A^T A} A)
$$
教授的意思是可以像这样提出来 $A^T b$。不知道这里为啥可以分配,可能是我瞎猜的
$$
A^T b = A^T (I - \frac{A^T A}{A^T A}) = 0
$$
最后,教授又将 Q 和 LU 分解联系起来。他说 $A = Q R$,R 就是行最简阶梯矩阵,randomwalk 的笔记说可以放宽到上三角矩阵。
他说下面的式子中,$a_1^T q_2$是0。因为 $q_2$ 和 $a_1$ 垂直。
$$
\begin{equation}
\begin{bmatrix}
a_1&a_2 \\
\end{bmatrix}
=
\begin{bmatrix}
q_1&q_2 \\
\end{bmatrix}
\begin{bmatrix}
a_1^T q_1&a_2^T q_1 \\
a_1^T q_2&a_2^T q_2 \\
\end{bmatrix}
\end{equation}
$$
L18 行列式和它的性质
开始着重介绍方阵。首先介绍行列式,它的作用是引出后面的特征值。
行列式中包含了很多有关这个矩阵的信息,例如可逆矩阵的行列式不是0,奇异矩阵的行列式是0。
首先介绍三个行列式的性质,通过下面这三个性质,我们可以定义出所有矩阵的行列式
第一个性质说,$det(I) = 1$。
第二个性质说,行交换导致行列式符号相反。通过行交换,我们可以得到所有的置换矩阵。容易知道 $det(P)= \pm 1$。
第3a个性质说,行列式的一行中的每个元素都乘上一个 t,则行列式的值就会乘上一个 t。
第3b个性质说,行列式可以对某一行进行线性组合,听起来很怪,不如直接看下面的性质。同时注意,教授不是在说 $det(A+B)=det(A)+det(B)$。
$$
\begin{equation}
\left | \begin{matrix}
a + a’&b + b’ \\
c&d \\
\end{matrix} \right |
=
\left | \begin{matrix}
a&b \\
c&d \\
\end{matrix} \right |
+
\left | \begin{matrix}
a’&b’ \\
c&d \\
\end{matrix} \right |
\end{equation}
$$
听到这里,我不禁点了暂停进行了验证,确实通过三个性质推出所有矩阵的行列式了。关于为什么最右边的行列式为0可以看看后面的推导。
$$
\begin{equation}
\left | \begin{matrix}
1&2 \\
0&4 \\
\end{matrix} \right |
=
\left | \begin{matrix}
1&0 \\
0&4 \\
\end{matrix} \right |
+
\left | \begin{matrix}
0&2 \\
0&4 \\
\end{matrix} \right |
= 4
\left | \begin{matrix}
1&0 \\
0&1 \\
\end{matrix} \right |
+
2 \times 4
\left | \begin{matrix}
0&1 \\
0&1 \\
\end{matrix} \right |
\end{equation}
$$
不得不说,上面三个性质非常容易理解,比用代数余子式的定义好多了,比什么鬼逆序数更是高到不知高哪里去。
下面介绍行列式的其他性质,它们都可以从上面三个性质得到。
第四个性质说,如果行列式的两个行相等,那么行列式的值为0。这里推理的方法很巧妙,根据性质2,如果我们交换两行,行列式会反号。但我们交换的行又是相等的,照理说行列式符号不变。又要反号,又要不变,那行列式的值只能为0了。
第五个性质说,行 k 减去行 i 的若干倍,行列式的值不变。其实应该能猜到不变,消元如果能让行列式的值变化,那岂不是消元就有可能让不可逆矩阵可逆了?
所以
$$
\left | \begin{matrix}
0&1 \\
0&1 \\
\end{matrix} \right |
=
\left | \begin{matrix}
0&1 \\
0&0 \\
\end{matrix} \right |
$$
第六个性质说,如果矩阵的某一行都是0,则行列式是0。
第七个性质,上三角矩阵的行列式 U 等于对角线元素的乘积。这个很容易理解,因为可以通过之前的性质消掉上三角,得到一个对角矩阵,其行列式不变。然后可以用性质 3a “提取公因式”。
第八个性质,$det(A) = 0$ 当且仅当 A 是奇异矩阵。因为矩阵如果可逆,那么每一行都有主元,那么始终可以 A -> U -> D -> d1 d2 ... dn
这样计算。
比如
$$
\begin{equation}
\left | \begin{matrix}
a&b \\
c&d \\
\end{matrix} \right |
=
\left | \begin{matrix}
a&b \\
0&d-\frac{c}{a}b \\
\end{matrix} \right |
= ad - bc
\end{equation}
$$
第九个性质,$det(AB) = det(A) det(B)$。所以虽然行列式不具备所谓的 adding property,但对乘法是有性质的。关于这个的证明教授没给出,randomwalk 说书上有,但其实书上也没找到。
从第九个性质可以推出 $det(A^{-1}) det(A) = det(I) = 1$,所以 $det(A^{-1}) = \frac{1}{det(A)}$。
另一个更有趣的性质是 $det(2A) = 2^n det(A)$,相当于每行都需要乘以一个 2。这就将行列式和体积联系起来了,如果正方体的边长扩大到原来的两倍,那么体积扩大到原来的 $2^3$ 倍。关于体积,后面还会详细介绍。
第十个性质,$det(A^T) = det(A)$,这就将行的性质可以推广到列上。
更有意思的是教授给了一个直觉的证明。我们可以将方阵进行 LU 分解,所以实际是要证明
$$
|U^T L^T| = |L U|
$$
根据性质九,实际是要证明
$$
|U^T| |L^T| = |L| |U|
$$
而这个是显然的,因为上下三角阵都等于主对角线的乘积,而转置不会改变主对角线。
后面是一个非常有趣的观察,也就是置换具有奇偶性。这个往深了讲还能扯到交错群上。
教授说,进行一次行交换,行列式符号取反,所以得到的矩阵“是不一样”的。这听起来有点循环论证,因为交换行符号取反是教授的行列式定义啊。
L19 行列式和代数余子式
首先介绍从行列式的性质推导出行列式的计算公式。
对于二阶行列式,教授上节课已经从消元的角度推导过一次了,这次他用类似我上节课尝试的做法做的。其中第一和第四个行列式等于0。
$$
\begin{equation}
\left | \begin{matrix}
a&b \\
c&d \\
\end{matrix} \right |
=
\left | \begin{matrix}
a&0 \\
c&0 \\
\end{matrix} \right |
+
\left | \begin{matrix}
a&0 \\
0&d \\
\end{matrix} \right |
+
\left | \begin{matrix}
0&b \\
c&0 \\
\end{matrix} \right |
+
\left | \begin{matrix}
0&b \\
0&d \\
\end{matrix} \right |
\end{equation}
$$
容易想到,对于3阶方阵,我们这样能拆出来 27 个行列式,这也太多了。但其中有很多行列式必然是0,因为它们的某一行或者列是0。有哪些行列式有可能不是0呢?
考虑三阶方阵,这里我省略下标,即 $a_{ij}$ 写成 $ij$ 了。如果我们选定第一行是 11,那么如果第二行选 22,那么最终可以被 11 消掉,所以只能选 22 或者 23。在第二行选完之后,第三行能选的也就唯一确定了。
$$
\begin{equation}
\left | \begin{matrix}
11&0&0 \\
0&22&23 \\
0&32&33 \\
\end{matrix} \right |
\end{equation}
$$
所以可以得到
$$
\begin{equation}
\left | \begin{matrix}
11&0&0 \\
0&22&23 \\
0&32&33 \\
\end{matrix} \right |
=
\left | \begin{matrix}
11&0&0 \\
0&0&23 \\
0&32&0 \\
\end{matrix} \right |
+
\left | \begin{matrix}
11&0&0 \\
0&22&0 \\
0&0&33 \\
\end{matrix} \right |
\end{equation}
$$
这里行列式是加,但如果再往下算,会发现符号会取反
$$
… = 11 * 22 * 33 - 11 * 23 * 32
$$
所以这里正负号有什么规律么?3阶方阵是有个规律,但没必要去记,因为4阶方阵不一样了。比如4阶方阵的副对角线上那四个数乘起来的 $14 * 23 * 32 * 41$ 其实符号应该为正。这是因为 $(4 , 3 , 2 , 1)$ 这样的排列,只需要进行两次即偶数次交换,即 1 和 4,2 和 3 交换即可。行列式的符号不变。
下面推导一个行列式的通用公式,称为 The Big Formula。
$$
det(A) = \sum_{n! items} \pm a_{1\alpha} a_{2\beta} … a_{n\omega}
$$
其中,$\alpha, \beta, …, \omega$ 是从 1 到 n 的一个排列。
这个公式的 intuition 很简单,因为第一行可以在 n 列中选一个元素,第二行只能在剩下没选的 n-1 列中选一个元素,否则必然是0,由此往下推,总共就是 n! 中方案。
下面介绍代数余子式。
以三阶矩阵为例
$$
det(A) = a_{11} + (a_{22} a_{33} - a_{23} a_{32}) \\
+ a12 (…) \\
+ … \\
$$
如果我们同时对 $a_{11}$ 展开行列式,可以看出,右下角的那个2阶方阵就是上面括号中的数字。即代数余子式 $C_{ij}$。
$$
\left | \begin{matrix}
a_{11}&0&0 \\
0&a_{22}&a_{23} \\
0&a_{32}&a_{33} \\
\end{matrix} \right |
$$
不难猜出规律,正负号和 $i+j$ 有关。偶数正,奇数负。
可以得到行列式的代数余子式的计算方法
$$
det(A) = a_{11} C_{11} .. a_{1n} C_{1n}
$$
下面,同样是用代数余子式来算二阶矩阵的行列式
$$
\begin{equation}
\left | \begin{matrix}
a&b \\
c&d \\
\end{matrix} \right |
= a d + b (-c)
\end{equation}
$$
可以看到,代数余子式求行列式也不简单。其实根据之前的性质7,也就是所谓的 pivot formula,可以发现,消元之后将主元都乘起来是最简单的。
下面,介绍了一个叫三对角线阵的方阵。
$$
\begin{equation}
A_4 =
\left | \begin{matrix}
1&1&0&0 \\
1&1&1&0 \\
0&1&1&1 \\
0&0&1&1 \\
\end{matrix} \right |
\end{equation}
$$
这里算 A3,我的方法更取巧,因为只需要消元成下面的形式,就可以发现交换 1 和 2 行得到 I。这样就可以知道行列式的值为 -1。
$$
\left | \begin{matrix}
0&1&0 \\
1&0&0 \\
0&0&1 \\
\end{matrix} \right |
$$
这里算 A4 很有意思,选取 $a_{11}$,其代数余子式为 $A_3$。选取 $a_{12}$,代数余子式如下,我们不认识。但如果将它先转置,那么算起来会方便很多。这是一个很有趣的技巧。
$$
\left | \begin{matrix}
1&1&0 \\
0&1&1 \\
0&1&1 \\
\end{matrix} \right |
$$
后面教授推到
$$
A_n = |A_{n-1}| - |A_{n-2}|
$$
得到 $A_n$ 的行列式的值随着 n 增大有个长度为 6 的循环节。这个略过了。
L20 克莱默法则和体积
基于行列式求逆矩阵如下,其中 $C^T$ 为各个 $a_{ij}$ 对应的 $C_{ij}$ 构成的矩阵的转置,称为伴随矩阵。
$$
A^{-1} = \frac{1}{det(A)} C^T
$$
教授说,det(A) 是 n 个 entry 的 product,而 $C^T$ 是 n-1 个 entry 的 product,不知道这有什么深层含义。
下面教授证明上面的式子是对的,也就是要证明 $A C^T = (det(A)) T$。
首先确认主对角线上的每一个元素都是 det(A)。
不妨直接写出来。可以看出第一行乘以第一列就是 $a_{11} C_{11} + … + a_{1n} C_{1n}$,也就是行列式的值。
$$
\begin{equation}
\begin{bmatrix}
a_{11}&…&a_{1n} \\
\ &\ddots& \ \\
a_{n1}&…&a_{nn} \\
\end{bmatrix}
\begin{bmatrix}
c_{11}&…&c_{1n} \\
\ &\ddots& \ \\
c_{n1}&…&c_{nn} \\
\end{bmatrix}
\end{equation}
$$
然后确认非主对角线上的元素都是0。我们不妨考虑二阶矩阵这个简单的情况。
下面这个矩阵,它的行列式的值是0,两行相同。
$$
\begin{equation}
\begin{bmatrix}
a&b \\
a&b \\
\end{bmatrix}
\end{equation}
$$
如果求 A 的第一行,和 C^T 的最后一列的内积,即 C 的最后一行的内积,也就相当于是求一个第一行和最后一行相等的矩阵的行列式。而如果两行相等,则行列式的值为0。
考虑 $Ax = b$,有 $x = \frac{1}{det(A)} C^T b$,这就是克莱默法则。
这个神奇的 $C^T b$ 是怎么来的呢?教授说,一个余子式乘以一个数字,总让人想起行列式的值。不妨考虑 b 是个 n 维向量,那么其中一个分量的解就可以写成如下的形式,其中 $det(B_1)$ 就是那个不知道是什么的行列式的值。
$$
x_1 = \frac{det(B_1)}{det(A)}
$$
克莱默发现,这个行列式对应的矩阵 $B_1$ 实际上就是用 b 替换掉 A 的第一列,从而得到的矩阵。
$$
\begin{equation}
\left [ \begin{matrix}
b_1&a_{12}&…&a_{1n} \\
b_2&\ n & - &1 \\
…&\ cols& \ & of \\
b_n&\ &\ A \\
\end{matrix} \right ]
\end{equation}
$$
容易看出,上面矩阵的右下角的部分就是 $C_11$。那么 $B_1$ 的行列式可以写成
$$
C_{11} b_1 + C_{21} b_2 + … + C_{n1} b_n
$$
而如下所示,上面这个式子等于 $C^T b$
$$
\begin{equation}
\begin{bmatrix}
c_{11} & c_{21} & \ldots & c_{n1} \\
\end{bmatrix}
\begin{bmatrix}
b_{1} \\
b_{2} \\
\vdots \\
b_{n} \\
\end{bmatrix}
\end{equation}
$$
行列式的值和体积有对应的关系。例如三阶行列式的值,就是对应三个向量组成的平行六面体的体积。
如何证明呢?这里有个神来一笔,我们只需要证明体积满足行列式的那三个定义就行了。
对于第一个定义,可以发现单位立方体的体积是1,这对应了 I 的行列式。
特别地,如果 A 是正交矩阵 Q,它对应的也是单位立方体,只是可能会发生旋转。它的体积也是 1,这是因为 $Q^T Q = I$。所以行列式相等,即 $ |Q^T Q| = |I|$,然后观察到 $ |Q^T Q| = |I|
\Rightarrow |Q| |Q| = |I| = 1 $,所以 $|Q| = \pm 1$。
对于第二个定义,显然交换行相当于坐标轴对调,不会改变体积。
对于第 3a 个定义,是显然的。
对于第 3b 个定义,下面的图一目了然。
特别地,教授还讲了三顶点都不过原点的三角形的面积,是
$$
\begin{equation}
\left | \begin{matrix}
x_1&y_1&1 \\
x_2&y_2&1 \\
x_3&y_3&1 \\
\end{matrix} \right |
\end{equation}
$$
L21 特征向量和特征值
对于特定的向量 x,我们要 $ Ax = \lambda x$,也就是说 $ Ax$ 和 $x$ 平行。
不妨考虑一下一些特殊矩阵的特征值和特征向量。
如果 $A$ 是个奇异矩阵,它可以将某个非零向量变为0,所以它的一个特征值是0。这是肯定的,因为如果 $A$ 是奇异矩阵,则 $A$ 不可逆,且 $Ax = 0$ 存在非零解,即 $Ax$ 的零空间中不只有 0 向量。
考虑投影矩阵 $P$,它所投影到的平面上的所有向量是特征向量。这是因为对于任意平面内的向量 x 有 $P x = x$,此时 $\lambda=1$。
还有没有其他的特征向量么?所有垂直于平面的向量也是特征向量,这是因为总有 $P x = 0$,此时 $\lambda=0$。
考虑置换矩阵 A = [0 1; 1 0]。容易发现向量 $[1 , 1]^T$ 是它的一个特征向量,对应特征值为 1。教授说,肯定还有个特征值是 -1,对应特征向量是 $[-1 , 1]$。
这么厉害的么?原来根据代数基本定理,在 n 阶方阵中肯定有 n 个特征值,并且它们的和等于矩阵的迹,也就是主对角线的和。
因为 A 是对称矩阵,所以这两个向量互相垂直。
下面来解 $ Ax = \lambda x$ 这个方程了,简单移项可以得到 $(A - \lambda I) x = 0$。
教授说,$A - \lambda I$ 一定是奇异的,否则 x 只能为零向量了。
所以 $det(A - \lambda I)=0$。对于这个行列式,可以用消元法求出主列。
例如考虑矩阵 [3 1; 1 3],$det(A - \lambda I) = \lambda^2 - 6 \lambda + 8$。有趣的是这里的 6 刚好是 trace(A),8 则是 det(A)。这有点像韦达定理,不知道对于更高阶的矩阵,是不是也是对应的韦达定理呢。
现在求出特征值了,下面需要求特征向量。可以用消元法解 $ A - \lambda I $,这一矩阵零空间中的向量为矩阵
A 的特征向量。不妨先考虑 $\lambda_1 = 4$,对应的 $A - \lambda I$ 是
$$
\begin{bmatrix}
-1&1 \\
1&-1 \\
\end{bmatrix}
$$
显然这个矩阵一定是奇异矩阵。我们要找的就是它的零空间。同样可以消元得到
$$
\begin{bmatrix}
1&-1 \\
0&0 \\
\end{bmatrix}
$$
然后可以得到
$$
\begin{equation}
\begin{bmatrix}
-F \\
I \\
\end{bmatrix}
=
\begin{bmatrix}
1 \\
1 \\
\end{bmatrix}
\end{equation}
$$
进一步考虑上面的问题 [3 1; 1 3] 相比 [0 1; 1 0],它的特征向量没变,但是特征值都增加了3。所以如果 $Ax = \lambda x$,则 $(A + 3 I)x = \lambda x + 3 x = (\lambda + 3)x$。
但是两个矩阵的和的特征值不等于两个矩阵特征值的和。教授说因为特征向量可能不一样。反正这一块他讲得很奇怪,我就不记录了。
下面讨论一些特殊的矩阵。
首先是旋转矩阵,它是正交的,所以教授用 Q 表示
$$
\begin{equation}
Q =
\begin{bmatrix}
0&-1 \\
-1&0 \\
\end{bmatrix}
=
\begin{bmatrix}
cos90^{\circ}&-sin90^{\circ} \\
sin90^{\circ}&cos90^{\circ} \\
\end{bmatrix}
\end{equation}
$$
这里教授补充了下,特征值的积等于行列式的值。【Q】看起来特征值还和体积有关系?
教授发出灵魂拷问,什么样的向量在旋转之后还是它自己呢?除了0向量之外,我似乎想不到别的,那 $A x = \lambda x$ 如何成立呢?然后教授就推到 $\lambda^2 + 1 = 0$。原来如此,特征值可能是虚数!
教授说,对称矩阵都是实特征值,而我们的这个矩阵是反对称矩阵,也就是说 $Q^T Q = -1$。所以它的特征值是纯虚数。所以看起来,实数特征值是让特征向量伸缩的部分,而虚数是让特征向量的旋转部分?
另外从这也可以看出,如果 $a+bi$ 是特征值,那么共轭复数 $a-bi$ 也是特征值。
然后是上三角矩阵,它的特征值全部在对角线上。我们发现,它的两个特征值相等,都为3。
$$
\begin{bmatrix}
3&1 \\
0&3 \\
\end{bmatrix}
$$
可以找到一个特征向量 $[1, 0]$。这是显然的,因为我们有一个主元,一个自由列。但因为另一个特征值是重复的,所以找不到第二个线性无关的特征向量了。这说明矩阵是个退化矩阵。
下一节会继续讨论这个问题。
L22 对角化和矩阵的幂
这里,定义 S 是特征向量组成的矩阵。我们同时要求 S 是可逆的,这说明 A 要有 n 个线性无关的特征向量。
S 有很神奇的性质,不妨算算
$$
AS = A [x1 , x2 , … , xn] \\
= [\lambda_1 x1 , \lambda_2 x2, …, \lambda_n xn] \\
=
\begin{equation}
\begin{bmatrix}
x1&x2&…&xn \\
\end{bmatrix}
\begin{bmatrix}
\lambda_1 & … & 0 \\
0 & … & 0 \\
0 & … & \lambda_n \\
\end{bmatrix}
\end{equation}
$$
这里最后一步,可以正好用来复习列操作。也就是矩阵乘法的第四种看待方式。所以接下来可以得到
$$
\begin{equation}
AS = S
\begin{bmatrix}
\lambda_1&…&0 \\
\vdots & \ddots & \vdots \\
0&…&\lambda_n \\
\end{bmatrix}
= S \Lambda
\end{equation}
$$
从上面可以总结得到
$$
S^{-1} A S = \Lambda \\
A = S \Lambda S^{-1}
$$
所以我们有了在 LU、QR 分解之外的另一种分解矩阵的思路。
这种新的矩阵分解方式常常被用来计算矩阵的幂。即
$$
A^k x = S \Lambda^k S^{-1}
$$
当所有的特征值的绝对值都小于 1 时,$|A^k|$ 趋向于零矩阵。
A 必存在 n 个线性无关的特征向量才能对角化。
可是如何判断是否有 n 个线性无关的特征向量呢?
- 当所有的特征值不同,那么一定有 n 个线性无关的特征向量。
- 当有重复的特征值,则需要进一步检查
例如对 I 来说,有 n 个线性无关的特征向量。
对之前说的矩阵来说则没有。
代数重度 几何重度 都是啥?
下面介绍差分方程,以及斐波拉契数列作为一个例子。
差分方程类似 $u_{k+1} = A u_k$。它的解是 $u_k = A^k u_0$。这个形式虽然很对,但是对我们计算没有意义。
如何解呢,我们可以将 $u_k$ 表示成 A 的特征向量的线性组合。如下式所示,其中 S 和之前一样是特征向量组成的矩阵。
$$
u_1 = c_1 u_0 + … + c_n x_n = S c
$$
这里是因为 A 可以对角化,所以一定能得到 n 个线性无关的向量,它们是张成 n 维空间的一组基。【Q】如果不可以对角化呢?
然后,乘上 A,得到
$$
A u_0 = c_1 \lambda_1 x_1 + … + c_n \lambda_n x_n
$$
那么根据特征值和特征向量的性质 $ Ax = \lambda x$,有
$$
u_k = A^k u_0 = c_1 \lambda_1^k x_1 + … + c_n \lambda_n^k x_n =
$$
结果等于 $\Lambda^k S c$。
下面举了斐波拉契数列的例子。
【Q】这里教授插了句嘴,说对称矩阵特征值都是实数,不知道是怎么得到的。
在斐波拉契数列的计算中,求出两个特征值后,可以根据大的那个进行估计。这是因为较小的那个绝对值小于1,所以影响会越来越收敛。
L23 微分方程
考虑微分方程
$$
\frac{du_1}{dt} = -u_1 + 2u_2 \\
\frac{du_2}{dt} = u_1 - 2u_2 \\
$$
可以写出 A 为 [-1 2; 1 -2]。显然这是一个奇异矩阵,奇异矩阵的行列式为0。而特征值的积等于行列式,所以一定有一个特征值为0。而根据迹可以求出另一个特征值为-3。
如果特征值是0,则会得到一个稳态,因为解是 $e^{0t} = 1$。
下面求特征向量。不要觉得 A 是奇异矩阵,那么0特征值对应的特征向量就可以随意取了。我们还是要按部就班来算,最后得到是 [2; 1]。同理,-3对应的特征向量是 [1; -1]。
通解是 $u(t) = c_1 e^{\lambda_1 t} x_1 + c_2 e^{\lambda_2 t} x_2$。
为什么可以这样将通解和矩阵的特征值联系起来呢?可以参考 randomwalk 的注解。这里 $x_1$ 和 $x_2$ 是对初值 $u_0$ 的分解。$\lambda$ 部分可以凑 e。
接着带入 $u_0$ 求出 $c_1$ 和 $c_2$,即 $S c = u_0$,这个上一讲我们也见过了。得到通解为
$$
\begin{equation}
\frac{1}{3}
\begin{bmatrix}
2 \\
1 \\
\end{bmatrix}
+
\frac{1}{3} e^{-3t}
\begin{bmatrix}
1 \\
-1 \\
\end{bmatrix}
\end{equation}
$$
其中,前者为稳态状态,后者随时间衰减。最终,趋于
$$
\begin{equation}
\frac{1}{3}
\begin{bmatrix}
2 \\
1 \\
\end{bmatrix}
\end{equation}
$$
什么时候微分方程得到稳态呢?
- 负的特征值一定会得到稳态
- 如果是复数,那么还是看实部的正负号。虚部只是让它在单位圆上转圈。
容易看出,如果 A 是收敛的,那么 -A 是发散的。因为 -A 的特征值都变号了。
而需要注意,如果特征值都为负数,那么迹是负数;反之则不成立。
这里,教授讲到原微分方程组中有两个相互耦合的未知数 $u_1$、$u_2$。我们通过对角化来解耦。即 $u = S v$。即
$$
\frac{du}{dt} = A u \\
S \frac{dv}{dt} = A S v
$$
所以
$$
\frac{du}{dt} = S^{-1} A S v = \Lambda v
$$
则解为
$$
v(t) = e^{\Lambda t} v(0) \\
u(t) = S e^{\Lambda t} S^{-1} u(0)
$$
然后有一个奇怪的式子。可以发现 $e^{At}$ 就是原方程的解。
$$
S e^{\Lambda t} S^{-1} = e^{At}
$$
这里用矩阵作为 e 的指数很奇怪,需要往下介绍矩阵指数函数。
定义指数函数的办法是将它分解为幂级数的形式,这样就可以当矩阵称为底数了。这边需要一些泰勒分解的基础,就不详细讲了。
同理 $(I - At)^{-1}$ 可以写成几何级数的形式,但是需要 $At$ 特征值的绝对值小于1,否则不收敛。这里 randomwalk 写错了吧。
然后教授通过幂级数定义了以矩阵为指数的指数函数。
需要注意的是,有一些矩阵,它的特征向量并不全部线性无关,所以它们无法对角化。但它们仍然可以三角化。
下图是一个复平面。
图中阴影部分表示矩阵的的指数函数收敛于0的特征值范围。
图中圆圈中的部分表示矩阵的幂函数收敛于0的特征值范围。
二阶微分方程。
L24 马尔科夫矩阵和傅里叶级数
马尔科夫矩阵的两个性质:
- 每个元素都大于等于0
- 所有列的加和都为1
马尔科夫矩阵的幂还是马尔科夫矩阵。【Q】这个很奇怪,性质2是怎么保持的?
教授说,每列加和为1这个性质保证了马尔科夫矩阵有一个特征值为1。并且其他的所有特征值小于等于1。
下面证明这个性质。需要证明 $A-I$ 是奇异的。结合之前的课程知道,如果 $A-I$ 不是奇异的,那么 $(A-I)x=0$ 只有0这一个解,这样的话就不存在特征值1对应的特征向量了。证明奇异很简单,只需要观察到每一列的和都是0,这说明行向量线性相关。实际上我们把每一行相加,就会得到零。从线性组合来理解,即 [1, 1, 1] 位于 $A-I$ 的左零空间中。而特征向量 $x_1$ 位于 $A-I$ 的零空间中。
$A$ 和 $A^T$ 的特征值相同。这是因为 $det(A^T -\lambda I) = det(A - \lambda I)$。
用加州和麻省的人口迁徙作为例子。求出马尔科夫矩阵的特征值1对应的特征向量为 [2, 1],这说明在稳态时,加州人口占 2/3,麻省占 1/3。
上面是将向量分解为各个特征向量的线性组合。现在将向量 v 分解为若干个标准正交向量的线性组合。
如下所示,如果我们有一组正交基,那么每个基向量的系数 $x_i$ 很容易求得,只需要乘上 $q_i$ 即可。即 $x_i = q_i^T v$。
$$
v = x_1 q_1 + … + x_n q_n
$$
写成矩阵形式,即
$$
\begin{equation}
v =
\begin{bmatrix}
q_1&…&q_n
\end{bmatrix}
\begin{bmatrix}
x_1 \\
\vdots \\
x_n \\
\end{bmatrix}
\end{equation}
$$
也就是说 $v = Qx$。所以 $x = Q^{-1}v = Q^T v$。
下面模仿正交向量,定义了两个正交的函数。
$$
f^T g = \int f(x) g(x) dx
$$
容易看出 $sin x$ 和 $cos x$ 是正交的。
$$
\int_0^{2 \pi} sinx cosx dx = 0
$$
L25 复习
Q1
从公式可以推出。或者可以看出 A 是向量,用二维的简化形式算,这样可以直接做除法。
至于 P 的秩可以从向量是一维来看,所以秩是一维。
P 的列空间是一条直线。
P 的特征值很好算。因为 P 的行列式是0,所以有特征值是0。【Q】这里有一点不明白的是为什么0一定是重特征值呢?
不过后面既然知道0是重特征值就可以从迹算出最后一个特征值是1。
求P对应特征值为1的特征向量。这里考虑到 P 为投影矩阵的性质,在投影空间中的向量比如 a 就是对应特征值 1 的特征向
量。
如果有 $u_{k+1} = P u_k$,且有初值 $u_0$,求 $u_k$。这个就是考虑投影第二次之后,结果就不会变化了。
Q2
小问2是如何从投影的角度理解最小二乘?这个其实教授也讲过了,因为 b 不在 Ax 的列空间中,所以原方程是无解的。但是如果将 b 投影到 A 的列空间,就能得到 Ax=b 的近似解。
Q3
使用施密特正交化来求正交基。
Q4
小问1:一个四阶方阵 A 的特征值要满足什么条件,A 才是可逆的?我觉得这四个特征值都不为零,哪怕有重特征值都行。因为特征值的乘积是行列式,行列式不为零矩阵可逆。而重特征值只和特征向量的线性相关性有关系。
小问2:求 $A^{-1}$ 的特征值。【Q】我似乎没印象教授讲过逆矩阵的特征值是倒数。
小问3:求 A + I 的迹。
Q5
已知三对角矩阵 $A_4$,令 $D_n = det(A_n)$。
Q6
小问1:求投影到 $A_3$ 列空间的投影矩阵 P。什么叫投影到列空间?我想如果一个矩阵的列空间是一个平面,那么投影到它的列空间就是投影到一个平面上。
那么 $A_3$ 的列空间是什么呢?可以发现它的秩是2,所以列空间是一个平面,零空间是一条线,不要搞混。
小问2:求 $A_3$ 的特征值和特征向量
小问3:找到投影到 $A_4$ 列空间的投影矩阵 P
这里解法很巧妙,因为 $A_4$ 可逆,所以列空间是整个 $R^4$,所以 P 是 I。