一、概述
这一节的主要定理是将秩与维度联系在一起。矩阵的秩就是主元的个数,子空间的维度是基向量的个数,我们计算出这两个数就可以得到秩与维度。AAA 的秩揭露了四个基本子空间的维度。
四个子空间中,两个子空间来自 AAA,另外两个来自 ATA^TAT:
四个基本子空间
- 行空间 C(AT)\pmb C(A^T)C(AT),是 Rn\textrm {\pmb R}^nRn 中的一个子空间。
- 列空间 C(A)\pmb C(A)C(A),是 Rm\textrm{\pmb R}^mRm 中的一个子空间。
- 零空间 N(A)\pmb N(A)N(A),是 Rn\textrm{\pmb R}^nRn 中的一个子空间。
- 左零空间 N(AT)\pmb{N}(A^T)N(AT),是 Rm\pmb{\textrm R}^mRm 中的一个子空间。
行空间是所有行的线性组合,AAA 的行空间就是 ATA^TAT 的列空间。
对于左零空间,我们需要求解 ATy=0A^T\boldsymbol y=\boldsymbol 0ATy=0 —— 这是一个 n×mn\times mn×m 的系统,它其实就是 ATA^TAT 的零空间。两边同时转置,这个方程就会写成 yTA=0T\boldsymbol y^TA=\boldsymbol 0^TyTA=0T,此时向量 y\boldsymbol yy 出现在 AAA 的左侧,这就是左零空间名字的由来。一般来说矩阵 AAA 和 ATA^TAT 不一样,它们的列空间和零空间也不一样。但是这些空间可以通过一种很好的方式联系起来。
基础定理的第一部分就是找到四个子空间的维度,一个重要的事实:行空间与列空间有相同的维度 rrr。数字 rrr 就是矩阵的秩;另一个重要事实与两个零空间相关:N(A)和N(AT)的维度分别是 n−r 和 m−r,它们分别与行空间和列空间的维度加起来是 n 和 m。\pmb N(A)和 \pmb N(A^T)的维度分别是\,n-r\,和\,m-r,它们分别与行空间和列空间的维度加起来是\,n\,和\,m。N(A)和N(AT)的维度分别是n−r和m−r,它们分别与行空间和列空间的维度加起来是n和m。基础定理的第二部分将会描述如何将这四个子空间合在一起(两个在 Rn\textrm{\pmb R}^nRn 中,两个在 Rm\textrm {\pmb R}^mRm 中)。通过这些从不同的角度完全理解 Ax=bA\boldsymbol x=\boldsymbol bAx=b,这些是真正的数学。
二、R 的四个子空间
假设 AAA 简化成了它的行阶梯形式 RRR,这种特殊的形式很容易确认它的四个子空间,我们会找到每个子空间的基和维度。然后回过头看 AAA 的子空间是如何变化到(有两个是不变的)。重点是 AAA 和 RRR 四个子空间的维度均相等。
以一个 3×53\times 53×5 的矩阵为例,看一下行阶梯形式 RRR 的四个子空间:m=3n=5r=2R=[135070001200000]主元行是行1和行2主元列是列1和列4\begin{array}{r}m=3\\n=5\\r=2\end{array}\kern 8ptR=\begin{bmatrix}\pmb1&3&5&0&7\\0&0&0&\pmb1&2\\0&0&0&0&0\end{bmatrix}\kern 8pt\begin{matrix}主元行是行1和行2\\\\主元列是列1和列4\end{matrix}m=3n=5r=2R=100300500010720主元行是行1和行2主元列是列1和列4这个矩阵的秩 r=2r=2r=2(两个主元),下面依次看四个子空间。
1、RRR 的行空间维度是 222,与秩相同。
理由: 前两行就是行空间一组基。行空间包含三行的所有线性组合,但是第三行(零行)没有任何贡献。因此行 111 和行 222 张成行空间 C(RT)\pmb C(R^T)C(RT)。
主元行 行111 和行 222 是无关的,这个例子可以明显看出来,而且任意时候都是正确的。如果我们只看主元列的话,就可以看到一个 r×rr\times rr×r 的单位矩阵,除了所有系数为 000 的组合,没有办法将这些行组合成零行。因此 rrr 个主元行是行空间的一组基。行空间的维度是 r,R 的非零行形成一组基。行空间的维度是 \,r,R\,的非零行形成一组基。行空间的维度是r,R的非零行形成一组基。
2、RRR 列空间的维度也是 r=2r=2r=2。
理由: 主元列列 111 和列 444 是列空间 C(R)\pmb C(R)C(R) 的一组基。这两列是无关的,因为它们的开头是一个 r×rr\times rr×r 的单位矩阵。除了所有系数为 000 的组合,它们的线性组合无法得到零列,这些列可以张成列空间。另外的自由列是这些主元列的线性组合。实际上这些组合需要下面三个特殊解!Column 2=3(Column 1)特殊解是(−3,1,0,0,0)Column 3=5(Column 1)特殊解是(−5,0,1,0,0)Column 5=7(Column 1)+2(Column 4)特殊解是(−7,0,0,−2,1)\begin{array}{ll}\textrm{Column}\,2=3(\textrm{Column}\,1)&特殊解是(-3,1,0,0,0)\\\textrm{Column}\,3=5(\textrm{Column\,1})&特殊解是(-5,0,1,0,0)\\\textrm{Column}\,5=7(\textrm{Column}\,1)+2(\textrm{Column\,4})&特殊解是(-7,0,0,-2,1)\end{array}Column2=3(Column1)Column3=5(Column1)Column5=7(Column1)+2(Column4)特殊解是(−3,1,0,0,0)特殊解是(−5,0,1,0,0)特殊解是(−7,0,0,−2,1)主元列是无关的,它们张成列空间,因此它们是 C(R)\pmb C(R)C(R) 的一组基。列空间的维度是秩 r,主元列是列空间的一组基。列空间的维度是秩\,r,主元列是列空间的一组基。列空间的维度是秩r,主元列是列空间的一组基。
3、RRR 零空间的维度是 n−r=5−2n-r=5-2n−r=5−2。因为有 n−r=3n-r=3n−r=3 个自由变量,这里 x2,x3,x5x_2,x_3,x_5x2,x3,x5 是自由变量,因为这些列没有主元。它们提供了三个使得 Rx=0R\boldsymbol x=\boldsymbol 0Rx=0 的解,令一个自由变量为 111,其它的均为 000,就可以求解出 x1x_1x1 和 x4x_4x4。
s2=[−31000],s3=[−50100],s5=[−700−21]Rx=0 的完全解:x=x2s2+x3s3+x5s5零空间的维度是 3。\boldsymbol s_2=\begin{bmatrix}\pmb{-3}\\\kern 7pt\pmb1\\\kern 7pt0\\\kern 7pt0\\\kern 7pt0\end{bmatrix},\kern 5pt\boldsymbol s_3=\begin{bmatrix}\pmb{-5}\\\kern 7pt0\\\kern 7pt\pmb1\\\kern 7pt0\\\kern 7pt0\end{bmatrix},\kern 5pt\boldsymbol s_5=\begin{bmatrix}\pmb{-7}\\\kern 7pt0\\\kern 7pt0\\\pmb{-2}\\\kern 7pt\pmb1\end{bmatrix}\kern 5pt\begin{array}{l}R\boldsymbol x=\boldsymbol 0\,的完全解:\\\boldsymbol x=x_2\boldsymbol s_2+x_3\boldsymbol s_3+x_5\boldsymbol s_5\\零空间的维度是\,3。\end{array}s2=−31000,s3=−50100,s5=−700−21Rx=0的完全解:x=x2s2+x3s3+x5s5零空间的维度是3。理由: 这是对每个自由变量的一个特殊解。如果有 nnn 个变量 rrr 个主元,那么有 n−rn-rn−r 个自由变量和特殊解。这些特殊解是无关的,因为在行 2,3,52,3,52,3,5 包含一个单位矩阵。因此 N(R)\pmb N(R)N(R) 的维度是 n−rn-rn−r。零空间的维度是 n−r,特殊解是一组基。零空间的维度是\,n-r,特殊解是一组基。零空间的维度是n−r,特殊解是一组基。
4、RTR^TRT 的零空间(RRR 的左零空间)的维度是 m−r=3−2m-r=3-2m−r=3−2。
理由: 方程 RTy=0R^T\boldsymbol y=\boldsymbol 0RTy=0 是为了找到 RTR^TRT 列的线性组合得到零向量。方程 RTy=0R^T\boldsymbol y=\boldsymbol 0RTy=0 也可以写成 yTR=0T\boldsymbol y^TR=\boldsymbol 0^TyTR=0T 就是:左零空间R 行的组合得到零行y1[1,3,5,0,7]+y2[0,0,0,1,2]+y3[0,0,0,0,0][0,0,0,0,0](3.5.1)\begin{array}{l}左零空间\\R\,行的组合\\得到零行\end{array}\kern 10pt\begin{array}{r}y_1\begin{bmatrix}1,&3,&5,&0,&7\end{bmatrix}\\+y_2\begin{bmatrix}0,&0,&0,&1,&2\end{bmatrix}\\+y_3\begin{bmatrix}0,&0,&0,&0,&0\end{bmatrix}\\\hline\begin{bmatrix}0,&0,&0,&0,&0\end{bmatrix}\end{array}\kern 15pt(3.5.1)左零空间R行的组合得到零行y1[1,3,5,0,7]+y2[0,0,0,1,2]+y3[0,0,0,0,0][0,0,0,0,0](3.5.1)此时解 y1,y2,y3y_1,y_2,y_3y1,y2,y3 就很清晰了,只需要 y1=0y_1=0y1=0,y2=0y_2=0y2=0,变量 y3y_3y3 是自由的,可以为任何数。RTR^TRT 的零空间包含有所有向量 y=(0,0,y3)\boldsymbol y=(0,0,y_3)y=(0,0,y3)。
在所有的情形下 RRR 的尾端都会有 m−rm-rm−r 个零行,这些零行的任意组合都会得到零行,只有这些零行 RRR 的线性组合才可能得到零,因为主元行是线性无关的。因此左零空间中的 y\boldsymbol yy 有 y1=0,y2=0,⋯ ,yr=0y_1=0,y_2=0,\cdots,y_r=0y1=0,y2=0,⋯,yr=0。如果 A 是 m×n 的矩阵,秩为 r,它的左零空间的维度是 m−r。如果\,A\,是\,m\times n\,的矩阵,秩为\,r,它的左零空间的维度是\,m-r。如果A是m×n的矩阵,秩为r,它的左零空间的维度是m−r。
在 Rn\textrm{\pmb R}^nRn 中,行空间和零空间的维度分别是 rrr 和 n−rn-rn−r(加起来是 nnn)。
在 Rm\textrm{\pmb R}^mRm 中,列空间和左零空间的维度分别是 rrr 和 m−rm-rm−r (总和是 mmm)。
三、A 的四个子空间
AAA 子空间的维度与 RRR 子空间的维度相同。下面解释为什么会这样。AAA 是任意矩阵,可以简化为 R=rref(A)R=rref(A)R=rref(A)。A 简化为 RA=[135070001213519]注意 C(A)≠C(R)!(3.5.2)A\,简化为\,R\kern 10ptA=\begin{bmatrix}1&3&5&0&7\\0&0&0&1&2\\1&3&5&1&9\end{bmatrix}\kern 5pt注意\,\pmb C(A)\neq \pmb C(R)!\kern 12pt(3.5.2)A简化为RA=101303505011729注意C(A)=C(R)!(3.5.2)
1、AAA 和 RRR 有相同的行空间。它们的维度和基也相同。
理由: AAA 的每一行都是 RRR 行的组合,RRR 的每一行也都是 AAA 行的组合。消元会改变行,但是不改变行空间。
由于 AAA 和 RRR 有相同的行空间,我们可以选择 RRR 的前 rrr 个行作为一组基。或者选择原始的矩阵 AAA 合适的 rrr 行,它们可能不是 AAA 的前 rrr 行,因为这些行可能相关。AAA 的无关行最后就是 RRR 的主元行。
2、 AAA 列空间的维度是 rrr。列秩等于行秩。
秩定理:无关列的个数=无关行的个数\pmb{秩定理:无关列的个数 = 无关行的个数}秩定理:无关列的个数=无关行的个数“AAA 与 RRR 有相同的列空间” 这句话是错误的。错误理由: RRR 的列通常是以 000 结束的,但是 AAA 的列不常以 000 结束,因此 C(A)≠C(R)\pmb C(A)\neq \pmb C(R)C(A)=C(R)。
正确的理由:AAA 和 RRR 相同列的组合都是零(或非零)。AAA 中相关 ⇔\Leftrightarrow⇔ RRR 中相关。换句话说:当 Rx=0R\boldsymbol x=\boldsymbol 0Rx=0 时,才有 Ax=0A\boldsymbol x=\boldsymbol 0Ax=0。列空间不同,但是它们的维度是相同的,都等于 rrr。结论:A 的 r 个主元列是它列空间 C(A) 的一组基。结论:A\,的\,r\,个主元列是它列空间\,\pmb C(A)\,的一组基。结论:A的r个主元列是它列空间C(A)的一组基。3、AAA 和 RRR 有相同的零空间。相同的维度 n−rn-rn−r 和相同的基。
理由: 消元步骤不改变解,特殊解是零空间的一组基。有 n−rn-rn−r 个自由变量,因此维度也是 n−rn-rn−r。这就是计数定理(Counting Theorem):r+(n−r)=nr+(n-r)=nr+(n−r)=n。
(列空间的维度)+(零空间的维度)=Rn的维度(列空间的维度)+(零空间的维度)=\textrm {\pmb R}^n 的维度(列空间的维度)+(零空间的维度)=Rn的维度
4、AAA 的左零空间(ATA^TAT 的零空间)的维度是 m−rm-rm−r。
理由: ATA^TAT 和 AAA 本质上是一样的,当我们知道 AAA 每一个子空间的维度,就知道了 ATA^TAT 每一个子空间的维度。它的列空间已经证明了维度是 rrr,因为 ATA^TAT 是 n×mn\times mn×m 的矩阵,所以现在它零空间所在的整个空间就是 Rm\textrm {\pmb R}^mRm 空间。AAA 的计数规则是 r+(n−r)=nr+(n-r)=nr+(n−r)=n,ATA^TAT 的计数规则就是 r+(m−r)=mr+(m-r)=mr+(m−r)=m。大定理的所有细节也就得到了:
线性代数的基本定理,第一部分列空间和行空间的维度都是 r零空间和左零空间的维度分别是 n−r 和 m−r\begin{array}{l}\pmb{线性代数的基本定理,第一部分}\\ {}\\列空间和行空间的维度都是\,r\\零空间和左零空间的维度分别是\,n-r\,和\,m-r\end{array}线性代数的基本定理,第一部分列空间和行空间的维度都是r零空间和左零空间的维度分别是n−r和m−r
我们聚焦于向量空间,而不是个别的数字或向量,得到了这些清晰的规则。有时候会很明显,但是对于一个 11×1711\times1711×17 的矩阵有 187187187 个非零单元的话,可能就不那么明显了,但是仍然有:两个关键的事实C(A)的维度=C(AT)的维度=A 的秩C(AT)的维度+N(A)的维度=17\pmb{两个关键的事实}\kern 10pt\begin{array}{l}\pmb C(A)的维度=\pmb C(A^T)的维度=A\,的秩\\\pmb C(A^T)的维度+\pmb N(A)的维度=17\end{array}两个关键的事实C(A)的维度=C(AT)的维度=A的秩C(AT)的维度+N(A)的维度=17【例1】A=[123]A=\begin{bmatrix}1&2&3\end{bmatrix}A=[123] 有 m=1,n=3m=1,n=3m=1,n=3,秩 r=1r=1r=1。
行空间是 R3\pmb{\textrm R}^3R3 中的一条线;零空间是平面 Ax=x1+2x2+3x3=0A\boldsymbol x=x_1+2x_2+3x_3=0Ax=x1+2x2+3x3=0,这个平面的维度是 222(即 3−13-13−1)。它们的维度相加 1+2=31+2=31+2=3。
这个 1×31\times31×3 矩阵的列在 R1\textrm {\pmb R}^1R1 中,它的列空间就是整个 R1\pmb{\textrm R}^1R1;左零空间只有零向量,ATy=0A^T\boldsymbol y=\boldsymbol 0ATy=0 的唯一解就是 y=0\boldsymbol y = \boldsymbol 0y=0,[123]\begin{bmatrix}1&2&3\end{bmatrix}[123] 没有其它的倍数可以得到零行。因此 N(AT)\pmb N(A^T)N(AT) 就是 Z\pmb {\textrm Z}Z,它的维度是 000(即 m−rm-rm−r)。在 R1\pmb {\textrm R}^1R1 中,C(A)\pmb C(A)C(A) 和 N(AT)\pmb N(A^T)N(AT) 的维度相加 1+0=11+0=11+0=1。【例2】A=[123246]A=\begin{bmatrix}1&2&3\\2&4&6\end{bmatrix}A=[122436] 有 m=2,n=3m=2,n=3m=2,n=3,秩 r=1r=1r=1。
与例1相同,行空间也是一条穿过 (1,2,3)(1,2,3)(1,2,3) 的直线;零空间是同样的平面 x1+2x2+3x3=0x_1+2x_2+3x_3=0x1+2x2+3x3=0。这条线和平面的维度相加仍然是 1+2=31+2=31+2=3。
所有的列都是第一列 (1,2)(1,2)(1,2) 的倍数。两倍的行 111 减去行 222 得到零行,因此 ATy=0A^T\boldsymbol y=\boldsymbol 0ATy=0 有解 y=(2,−1)\boldsymbol y=(2,-1)y=(2,−1)。列空间和左零空间是 R2\pmb {\textrm R}^2R2 中两条垂直的直线。维度相加 1+1=21+1=21+1=2。列空间=穿过[12]的直线左零空间=穿过[2−1]的直线列空间=穿过\begin{bmatrix}1\\2\end{bmatrix}的直线\kern 10pt左零空间=穿过\begin{bmatrix}\kern 7pt2\\-1\end{bmatrix}的直线列空间=穿过[12]的直线左零空间=穿过[2−1]的直线如果 AAA 有三个相等的行,则它的秩是 111。那么左零空间的两个 y\boldsymbol yy 是什么?左零空间中的 y′s 是得到零行的组合。左零空间中的\,\boldsymbol y's\,是得到零行的组合。左零空间中的y′s是得到零行的组合。【例3】如 Figure3.6 所示,每一条边对应一个方程,每个节点对应一个未知数。Ax=bA\boldsymbol x=\boldsymbol bAx=b 中的矩阵 AAA 是一个关联矩阵(incidence matrix),AAA 的每一行都有一个 111 和 −1-1−1。
差分Ax=b在节点 1,2,3,4 之间有 5 条边 1,2,3,4,5−x1+x2=b1−x1+x3=b2−x2+x3=b3−x2+x4=b4−x3+x4=b5(3.5.3)\begin{array}{l}差分A\boldsymbol x=\boldsymbol b\\在节点\,1,2,3,4\,之间\\有\,5\,条边\,1,2,3,4,5\end{array}\begin{array}{l}-x_1+x_2\kern 44pt=b_1\\-x_1\kern 22pt+x_3\kern 22pt=b_2\\\kern 22pt-x_2+x_3\kern 22pt=b_3\\\kern 22pt-x_2\kern 22pt+x_4=b_4\\\kern 44pt-x_3+x_4=b_5\end{array}\kern 15pt(3.5.3)差分Ax=b在节点1,2,3,4之间有5条边1,2,3,4,5−x1+x2=b1−x1+x3=b2−x2+x3=b3−x2+x4=b4−x3+x4=b5(3.5.3)
如果理解了四个基本子空间(AAA 和 ATA^TAT 的列空间和零空间),那么就抓住了线性代数的中心概念。
零空间 N(A)\pmb N(A)N(A):为了求零空间,设 b=0\boldsymbol b=\boldsymbol 0b=0。那么第一个方程就是 x1=x2x_1=x_2x1=x2,第二个方程是 x1=x3x_1=x_3x1=x3,第四个方程是 x2=x4x_2=x_4x2=x4,四个未知数 x1,x2,x3,x4x_1,x_2,x_3,x_4x1,x2,x3,x4 有相同的值 ccc。向量 x=(c,c,c,c)\boldsymbol x=(c,c,c,c)x=(c,c,c,c) 填满了 AAA 的零空间。
零空间是 R4\textrm {\pmb R}^4R4 中的一条线,特殊解 x=(1,1,1,1)\boldsymbol x=(1,1,1,1)x=(1,1,1,1) 是 N(A)\pmb N(A)N(A) 的一组基,N(A)\pmb N(A)N(A) 的维度是 111(因为基中只有一个向量)。AAA 的秩是 333,因为 n−r=4−3=1n-r=4-3=1n−r=4−3=1。那么现在我们就可以知道四个子空间的维度了。
列空间 C(A)\pmb C(A)C(A):因为 r=3r=3r=3,所以一定有 r=3r=3r=3 个无关列。快的方法是看前三列,系统性的方法是求出 R=rref(A)R=rref(A)R=rref(A)。A 的 1,2,3 列−110−1010−110−1000−1R=简化行阶梯形式=[100−1010−1001−100000000]\begin{array}{l}A\,的\,1,2,3\,列\end{array}\begin{array}{rrr}-1&1&0\\-1&0&1\\0&-1&1\\0&-1&0\\0&0&-1\end{array}\kern 15ptR=简化行阶梯形式=\begin{bmatrix}1&0&0&-1\\0&1&0&-1\\0&0&1&-1\\0&0&0&\kern 7pt0\\0&0&0&\kern 7pt0\end{bmatrix}A的1,2,3列−1−100010−1−100110−1R=简化行阶梯形式=100000100000100−1−1−100从 RRR 中也可以看到特殊解是 x=(1,1,1,1)\boldsymbol x=(1,1,1,1)x=(1,1,1,1)。前三列是无关的,第四列是自由列。为了得到 C(A)\pmb C(A)C(A)(不是 C(R)\pmb C(R)C(R))的一组基,需要回到矩阵 AAA 的列 1,2,31,2,31,2,3,列空间的维度是 r=3r=3r=3。
行空间 C(AT)\pmb C(A^T)C(AT):行空间的维度也是 r=3r=3r=3,但是 AAA 的前三行是相关的:row 3=row 2−row 1\textrm{row}\,3=\textrm{row\,2}-\textrm{row}\,1row3=row2−row1。因此消元后第三行会变成零,第三行会被交换到第四行。前三个无关行是行 1,2,41,2,41,2,4。这三行也是行空间的一组基。
注意到图中的边 1,2,31,2,31,2,3 形成了一个回路(loop):行 1,2,31,2,31,2,3 是相关行。图中的行 1,2,41,2,41,2,4 形成一个树(tree) ,树没有回路! 行 1,2,41,2,41,2,4 是无关行。
左零空间 N(AT)\pmb N(A^T)N(AT):我们现在求解 ATy=0A^T\boldsymbol y=\boldsymbol 0ATy=0,即使得行为零的组合。我们已经注意到 row 3=row 2−row 1\textrm {row}\,3=\textrm {row}\,2-\textrm{row}\,1row3=row2−row1,因此一个解是 y=(1,−1,1,0,0)\boldsymbol y=(1,-1,1,0,0)y=(1,−1,1,0,0)。有一个结论:y\boldsymbol yy 来自于图上面一个回路。另一个 y\boldsymbol yy 来自于图的下面一个回路:y=(0,0,−1,1,−1)\boldsymbol y=(0,0,-1,1,-1)y=(0,0,−1,1,−1),row 3=row 4−row 5\textrm{row}\,3=\textrm{row}\,4-\textrm{row}\,5row3=row4−row5。这两个 y′s\boldsymbol y'sy′s 是无关的,它们都是 ATy=0A^T\boldsymbol y=\boldsymbol 0ATy=0 的解,N(AT)\pmb N(A^T)N(AT) 的维度是 m−r=5−3=2m-r=5-3=2m−r=5−3=2。因此它们是左零空间的一组基。
那么 “回路” 和 “树” 是怎么进入到这个问题中的呢?实际上我们并不是非要这样做。我们可以使用消元法去求解 ATy=0A^T\boldsymbol y=\boldsymbol 0ATy=0。ATA^TAT 是一个 4×54\times54×5 的矩阵,它有三个主元列 1,2,41,2,41,2,4 和两个自由列 3,53,53,5;有两个特殊解所以 ATA^TAT 的零空间是 222:m−r=5−3=2m-r=5-3=2m−r=5−3=2。但是回路和树可以用一种很美妙的方法来鉴别相关行和无关行。
方程 Ax=bA\boldsymbol x=\boldsymbol bAx=b 在 444 个节点上得到电压 x1,x2,x3,x4x_1,x_2,x_3,x_4x1,x2,x3,x4,方程 ATy=0A^T\boldsymbol y=\boldsymbol 0ATy=0 在 555 条边上得到电流 y1,y2,y3,y4,y5y_1,y_2,y_3,y_4,y_5y1,y2,y3,y4,y5。这两个方程分别是基尔霍夫电压定律(Kirchhoff’s Voltage Law)和基尔霍夫电流定律(Kirchhoff’s Current Law),这是应用在电路上的术语。但是隐藏在术语后的思想可以应用在所有的工程、科学、经济和商务。
图是离散应用数学中最重要的模型,我们可以在任何地方看到它:路、管道、血液流动、大脑、网络、国家或世界的经济。我们可以了解它们的矩阵 AAA 和 ATA^TAT。
四、秩一矩阵
假设每行都是第一行的倍数,下面是一个典型的例子:[23782a3a7a8a2b3b7b8b]=[1ab][2378]=uvT\begin{bmatrix}2&3&7&8\\2a&3a&7a&8a\\2b&3b&7b&8b\end{bmatrix}=\begin{bmatrix}1\\a\\b\end{bmatrix}\begin{bmatrix}2&3&7&8\end{bmatrix}=\boldsymbol u\boldsymbol v^T22a2b33a3b77a7b88a8b=1ab[2378]=uvT左边的矩阵有三行,但是它的行空间维度 r=1r=1r=1。行向量 vT=[2378]\boldsymbol v^T=\begin{bmatrix}2&3&7&8\end{bmatrix}vT=[2378] 告诉了我们行空间的一组基。行秩为 111。
现在看一下列,“列秩等于行秩等于 111”。所有的列都是第一列的倍数。列向量 u=[1ab]\boldsymbol u=\begin{bmatrix}1&a&b\end{bmatrix}u=[1ab] 乘上 2,3,7,82,3,7,82,3,7,8。非零向量 u\boldsymbol uu 是列空间的基。列秩也是 111。
每个秩一矩阵都是一列乘上一行A=uvT\kern 10ptA=\boldsymbol u\boldsymbol v^TA=uvT
五、秩二矩阵 = 秩一加秩一
矩阵 AAA 的秩 r=2r=2r=2,我们无法立即看出 AAA 的秩 rrr 是多少,因此我们通过行运算简化成矩阵 R=rref(A)R=rref(A)R=rref(A)。一些消元矩阵 EEE 可以简化 AAA 到 RRR,有 EA=REA=REA=R,则逆矩阵 C=E−1C=E^{-1}C=E−1 可以将 RRR 恢复到 A=CRA=CRA=CR。
这里的重点是:RRR 和 AAA 有相同的行空间。秩二A=[1031174220]=[100110421][103014000]=CR(3.5.4)\pmb{秩二}\kern 10ptA=\begin{bmatrix}1&0&3\\1&1&7\\4&2&20\end{bmatrix}=\begin{bmatrix}\pmb1&\pmb0&0\\\pmb1&\pmb1&0\\\pmb4&\pmb2&1\end{bmatrix}\begin{bmatrix}\pmb1&\pmb0&\pmb3\\\pmb0&\pmb1&\pmb4\\0&0&0\end{bmatrix}=CR\kern 15pt(3.5.4)秩二A=1140123720=114012001100010340=CR(3.5.4)可以很明显的看到 RRR 的两个基向量 v1T=[103]\boldsymbol v_1^T=\begin{bmatrix}1&0&3\end{bmatrix}v1T=[103] 和 v2T=[014]\boldsymbol v_2^T=\begin{bmatrix}0&1&4\end{bmatrix}v2T=[014]。因此 AAA 的行空间也有同样的基:行秩=2行秩 = 2行秩=2。CCC 乘 RRR 表明 AAA 的行 333 是 4v1T+2v2T4\boldsymbol v_1^T+2\boldsymbol v_2^T4v1T+2v2T。
现在来看列。RRR 的主元列是 (1,0,0)(1,0,0)(1,0,0) 和 (0,1,0)(0,1,0)(0,1,0),那么 AAA 的主元列也是列 111 和列 222:u1=(1,1,4),u2=(0,1,2)\boldsymbol u_1=(1,1,4),\boldsymbol u_2=(0,1,2)u1=(1,1,4),u2=(0,1,2)。注意 CCC 的前两列和 AAA 的相同!这是可以被保证的,因为 CCC 乘上 RRR 前两列的单位矩阵并不会改变主元列 u1\boldsymbol u_1u1 和 u2\boldsymbol u_2u2。
如果将这些字母放在列和行中,则就可以看到 Rank 2 = rank 1+Rank 1\pmb{\textrm{Rank\,2\,=\,rank\,1+Rank\,1}}Rank2=rank1+Rank1。秩二矩阵 AA=[u1u2u3][v1Tv2T0]=u1v1T+u2v2T=(rank 1)+(rank 1)秩二矩阵\,A\kern 15ptA=\begin{bmatrix}\boldsymbol{u_1}&\boldsymbol u_2&\boldsymbol u_3\end{bmatrix}\begin{bmatrix}\boldsymbol v_1^T\\\boldsymbol v_2^T\\\boldsymbol 0\end{bmatrix}=\boldsymbol u_1\boldsymbol v_1^T+\boldsymbol u_2\boldsymbol v_2^T=\textrm{(rank\,1)+(rank\,1)}秩二矩阵AA=[u1u2u3]v1Tv2T0=u1v1T+u2v2T=(rank1)+(rank1)上述最后一个步骤,利用矩阵的列乘行,对这个问题是个完美的方法。每个秩 rrr 的矩阵都是 rrr 个秩一矩阵的和:AAA 的主元列乘上 RRR 的非零行,行 [000]\begin{bmatrix}0&0&0\end{bmatrix}[000] 也消失了。
主元列 u1\boldsymbol u_1u1 和 u2\boldsymbol u_2u2 是列空间的一组基。
六、主要内容总结
- RRR 的 rrr 个主元行是 RRR 和 AAA 行空间的一组基(它们行空间相同)。
- AAA 的 rrr 个主元列是列空间 C(A)\pmb C(A)C(A) 的一组基。
- n−rn-rn−r 个特殊解是 AAA 和 RRR 零空间(相同的零空间)的一组基。
- 如果 EA=REA=REA=R,则 EEE 的最后 m−rm-rm−r 行是 AAA 左零空间的一组基。
四个子空间的注释: 基础定理看起来很像纯代数,但是它有非常重要的应用。关于左零空间中的 y\boldsymbol yy 的方程是 ATy=0A^T\boldsymbol y=\boldsymbol 0ATy=0:流入一个节点等于流出,基尔霍夫电流定律是一个“平衡方程”流入一个节点等于流出,基尔霍夫电流定律是一个“平衡方程”流入一个节点等于流出,基尔霍夫电流定律是一个“平衡方程”平衡方程是应用数学中最重要的方程,所有的科学、工程和经济都与平衡有关 —— 力、热流、电荷、动量或金钱的平衡。平衡方程,加上胡克定律、欧姆定律、或是位能到流量的相关定律,给了应用数学一个清晰的框架。
七、例题
【例4】将 444 个 111 放入 5×65\times65×6 的零矩阵中,描述所有使得它的行空间的维度尽可能小的方法;描述出所有使它列空间的维度尽可能小的方法;描述所有使得它零空间的维度尽可能小的方法。如何让它四个子空间的和最小?
解: 如果 444 个 111 放在同一行或同一列,则它的秩为 111,也可以放在两行和两列(例如 aii=aij=aji=ajj=1a_{ii}=a_{ij}=a_{ji}=a_{jj}=1aii=aij=aji=ajj=1 这种情况),因为行空间和列空间总是有相同的维度,前两问题的维度是 111。
当矩阵的秩 r=4r=4r=4 时,零空间的维度最小 6−4=26-4=26−4=2,此时需要 444 个 111 要在不同的行也要在不同的列。
四个子空间维度的和 r+(n−r)+r+(m−r)=n+mr+(n-r)+r+(m-r)=n+mr+(n−r)+r+(m−r)=n+m,无论我们将 111 怎么放,它们维度的和都是 6+5=116+5=116+5=11,就算这个矩阵里没有任何 111,和仍然是 111111。
【例5】事实:ABABAB 所有行都是 BBB 行的组合,因此 ABABAB 的行空间包含在(可能相等) BBB 的行空间中。Rank(AB)≤Rank(B)\pmb{\textrm{Rank}(AB)\leq \textrm{Rank}(B)}Rank(AB)≤Rank(B)。
ABABAB 所有列都是 AAA 列的组合,因此 ABABAB 的列空间包含在(可能相等)AAA 的列空间中。Rank(AB)≤Rank(A)\pmb{\textrm{Rank}(AB)\leq\textrm{Rank}(A)}Rank(AB)≤Rank(A)。
如果左乘一个可逆矩阵,秩不会改变。