这一节没什么难的,牢记秩的几何意义就可以啦!
Hermite标准形 a.k.a. 行最简形
Takeaway:
行最简形实际上是为了在空间中找一组最简单的基。
行最简形,保留了原来的零空间,但把描述这个空间的方程换成最简单的形式。
正因为行最简形的作用,也就利于我们求解方程组。
行最简形是什么?就是对一个矩阵$A$,如果它的秩是$r$,通常记作$A\in \mathbb{R}^{m\times n}_r(r>0)$那么对它进行初等行变换,使其变成矩阵$H$,使其满足:
- 前$r$行每一行至少一个非零元,且第一个非零元是1,下面全是0。
- 若$H$中第$i$行第一个非零元素1位于第$j_i$列,那么:$j_1<j_2<\cdots<j_r$
- $H$的$j_1,j_2,\cdots,j_r$列为$I_m$的前$r$列。
那么$H$就是$A$的行最简形。
举个例子吧,比如一个矩阵的行最简形是
$$ \begin{bmatrix} 1 & 0 & -1\\ 0 & 1 & 2\\ 0 & 0 & 0 \end{bmatrix} $$
它对应的方程是:
$$ x_1-x_3=0 $$
$$ x_2+2x_3=0 $$
所以我们立刻能看出:
$$ x_1=x_3,\quad x_2=-2x_3 $$
令 $x_3=t$,得到解空间:
$$ x=t \begin{bmatrix} 1\\ -2\\ 1 \end{bmatrix} $$
这说明行最简形,把复杂的约束变成了主变量+自由变量的形式。至于这俩东西是什么,我们暂且按下不表。
突发新闻:线性方程组
Takeaway:
求线性方程组的解就是求,经过线性变换后,落到目标向量的所有向量。
有读者又要说啦,「你都没讲线性方程组,怎么就扯到了主变量」!好好好,现在讲——「你这蠢货,怎么现在才讲线性方程组!」——没招,行最简形和线性方程组是息息相关的,但是在矩阵论教材里,它的确被安排到了这里。
Whatever,首先我们来想一想,线性方程组是什么?很简单,是这个样子:
$$ Ax=b $$
读过我前几篇blog/知乎文章的读者肯定会说——「嗨!我知道,这无非就是求经过线性变换后,落到目标向量的所有向量嘛!」没错!You are absolutely right!
那么我们知道,线性方程组会出现三种情况——无解、唯一解和无穷多解。实际上,这对应着线性变换的三种性质,且听我慢慢道来。
如果线性变换前后,没有压缩到零向量的向量,那么根据线性变换的性质,线性变换后的一个向量$b$,只对应着变换前的一个向量$x$。如果读者觉得难以理解,那就想,没有压缩到零向量的向量,那么说明空间只是扭曲了,原来的向量如果不同,那么变换之后的向量也不同——这个可以通过反证法证明。这就是说如果变换前后秩没变,就表明空间没有压缩到零向量的向量,方程组就一个解。
如果线性变换前后,有压缩到零向量的向量,那么我们知道,线性变换会把一条线上的向量全压缩到零向量——这就表明,在这些方向上,随意变换,不会影响变换后的位置——这个解就是非齐次的解。但是,在没有压缩到零向量的方向上,是不可以随意变换的——这个解就是一个特解。这就是说如果变换前后有压缩到零向量的向量,方程组在压缩至死的方向上可以随意移动,但是在其他方向上不可以,所以有无穷多解,且解的结构是齐次的解+一个特解。
那么无解又是什么情况?如果$b$不在$\text{Col}(A)$里,那显然是无解的,这就是为什么——当方程组的系数矩阵的秩小于方程组增广矩阵的秩的时候,方程组无解。因为$b$有了一个列空间没有的方向,压根走不到那里。
回归主线:主变量与自由变量
Takeaway:
自由变量的个数确定解空间的维数。
为了让自由变量生成的方向仍然留在解空间里,主变量必须配合出来的坐标。
值得一提的是,自由变量和主变量之间,不是完全无关的,而是先对自由变量进行一个确定,然后根据自由变量的取值,主变量被限制到一个值上。
举个例子。假设一个方程组化简之后变成了:
$$ x_1+x_2+x_3=0 $$
那我们就可以把它写成:
$$ x_1=-x_2-x_3 $$
现在问题来了,三个变量里面,谁可以自由选择?显然,$x_2$和$x_3$可以随便给。比如你让:
$$ x_2=1,\quad x_3=2 $$
那$x_1$就没得选了,它必须是:
$$ x_1=-3 $$
否则这个点就不在方程规定的空间里了。所以这里的$x_2,x_3$就是自由变量,$x_1$就是主变量。
自由变量体现了解空间的维数,对于我们的例子,系数矩阵秩为1,那么就有两个自由变量,这表示解空间的维数就是2,也就是一个平面。
读者在这里不要混淆解空间和列空间的概念,解空间实际上就是零空间,所以是自由变量确定了解空间的维数。
满秩分解
Takeaway:
满秩分解的几何含义就是,把一个低秩的线性变换,拆成输入维度->秩维度->输出维度的变换。
我们知道,矩阵$A\in\mathbb{R}^{m\times n}_r$表示一个线性变换,是一个从$n$维到$m$维的线性变换,但是当这个矩阵的秩是$r$的时候,是什么情况呢?假设这个$r$小于$n$和$m$,这个时候就表明$A$的输出实际上没办法填满整个输出空间,因为输出空间是$m$维的。变换只能填满这个空间的一个子空间,这个子空间的维度数是$r$。那么这个映射实际上可以拆分为两个,一个映射是从$n$维到$r$维,另外一个映射就是从$r$维到$m$维。用矩阵表示,也就是:
$$ A=F^{m\times r}G^{r\times n} $$
难以理解……我们举个例子!对于下面这个变换:
$$ A=\begin{bmatrix} 5 & 0 \\ 2 & 0 \end{bmatrix} $$
在空间上的含义就是把二维空间的向量,变到(0,0)-(5,2)这条直线上,它的满秩分解是:
$$ A=\begin{bmatrix} 5 & 0 \\ 2 & 0 \end{bmatrix}=\begin{bmatrix}5\\ 2\end{bmatrix}\times\begin{bmatrix}1 & 0\end{bmatrix}=FG $$
我们知道变换要从右向左看,那么矩阵$G$表示什么呢?很显然,这个变换就是把二维向量的x轴分量提取出来,这样就完成了核心的降维变换。那么$F$阵的作用就是把提取出来的x轴分量,放到(0,0)-(5,2)这条线上。这其实就是把所有向量的x轴分量提取出来,然后放到一条歪着的数轴上面。
当然,满秩分解也不唯一,比如上面的分解可以写成:
$$ A=\begin{bmatrix} 5 & 0 \\ 2 & 0 \end{bmatrix}=\begin{bmatrix}1\\ \frac{2}{5}\end{bmatrix}\times\begin{bmatrix}5 & 0\end{bmatrix}=F'G' $$
这个含义就是把二维向量的x轴提取出来,扩大5倍,然后放到(0,0)-(1,2/5)这条直线上。