一、概述
这一节的主要定理是将秩与维度联系在一起。矩阵的秩就是主元的个数,子空间的维度是基向量的个数,我们计算出这两个数就可以得到秩与维度。 A A A 的秩揭露了四个基本子空间的维度。
四个子空间中,两个子空间来自 A A A,另外两个来自 A T A^T AT:
四个基本子空间
- 行空间 C ( A T ) \pmb C(A^T) C(AT),是 R n \textrm {\pmb R}^n Rn 中的一个子空间。
- 列空间 C ( A ) \pmb C(A) C(A),是 R m \textrm{\pmb R}^m Rm 中的一个子空间。
- 零空间 N ( A ) \pmb N(A) N(A),是 R n \textrm{\pmb R}^n Rn 中的一个子空间。
- 左零空间 N ( A T ) \pmb{N}(A^T) N(AT),是 R m \pmb{\textrm R}^m Rm 中的一个子空间。
行空间是所有行的线性组合, A A A 的行空间就是 A T A^T AT 的列空间。
对于左零空间,我们需要求解 A T y = 0 A^T\boldsymbol y=\boldsymbol 0 ATy=0 —— 这是一个 n × m n\times m n×m 的系统,它其实就是 A T A^T AT 的零空间。两边同时转置,这个方程就会写成 y T A = 0 T \boldsymbol y^TA=\boldsymbol 0^T yTA=0T,此时向量 y \boldsymbol y y 出现在 A A A 的左侧,这就是左零空间名字的由来。一般来说矩阵 A A A 和 A T A^T AT 不一样,它们的列空间和零空间也不一样。但是这些空间可以通过一种很好的方式联系起来。
基础定理的第一部分就是找到四个子空间的维度,一个重要的事实:行空间与列空间有相同的维度 r r r。数字 r r r 就是矩阵的秩;另一个重要事实与两个零空间相关: N ( A ) 和 N ( A T ) 的维度分别是 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。基础定理的第二部分将会描述如何将这四个子空间合在一起(两个在 R n \textrm{\pmb R}^n Rn 中,两个在 R m \textrm {\pmb R}^m Rm 中)。通过这些从不同的角度完全理解 A x = b A\boldsymbol x=\boldsymbol b Ax=b,这些是真正的数学。
二、R 的四个子空间
假设 A A A 简化成了它的行阶梯形式 R R R,这种特殊的形式很容易确认它的四个子空间,我们会找到每个子空间的基和维度。然后回过头看 A A A 的子空间是如何变化到(有两个是不变的)。重点是 A A A 和 R R R 四个子空间的维度均相等。
以一个 3 × 5 3\times 5 3×5 的矩阵为例,看一下行阶梯形式 R R R 的四个子空间: m = 3 n = 5 r = 2 R = [ 1 3 5 0 7 0 0 0 1 2 0 0 0 0 0 ] 主元行是行 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 = 2 r=2 r=2(两个主元),下面依次看四个子空间。
1、 R R R 的行空间维度是 2 2 2,与秩相同。
理由: 前两行就是行空间一组基。行空间包含三行的所有线性组合,但是第三行(零行)没有任何贡献。因此行 1 1 1 和行 2 2 2 张成行空间 C ( R T ) \pmb C(R^T) C(RT)。
主元行 行 1 1 1 和行 2 2 2 是无关的,这个例子可以明显看出来,而且任意时候都是正确的。如果我们只看主元列的话,就可以看到一个 r × r r\times r r×r 的单位矩阵,除了所有系数为 0 0 0 的组合,没有办法将这些行组合成零行。因此 r r r 个主元行是行空间的一组基。 行空间的维度是 r , R 的非零行形成一组基。 行空间的维度是 \,r,R\,的非零行形成一组基。 行空间的维度是r,R的非零行形成一组基。
2、 R R R 列空间的维度也是 r = 2 r=2 r=2。
理由: 主元列列 1 1 1 和列 4 4 4 是列空间 C ( R ) \pmb C(R) C(R) 的一组基。这两列是无关的,因为它们的开头是一个 r × r r\times r r×r 的单位矩阵。除了所有系数为 0 0 0 的组合,它们的线性组合无法得到零列,这些列可以张成列空间。另外的自由列是这些主元列的线性组合。实际上这些组合需要下面三个特殊解! 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、 R R R 零空间的维度是 n − r = 5 − 2 n-r=5-2 n−r=5−2。因为有 n − r = 3 n-r=3 n−r=3 个自由变量,这里 x 2 , x 3 , x 5 x_2,x_3,x_5 x2,x3,x5 是自由变量,因为这些列没有主元。它们提供了三个使得 R x = 0 R\boldsymbol x=\boldsymbol 0 Rx=0 的解,令一个自由变量为 1 1 1,其它的均为 0 0 0,就可以求解出 x 1 x_1 x1 和 x 4 x_4 x4。
s 2 = [ − 3 1 0 0 0 ] , s 3 = [ − 5 0 1 0 0 ] , s 5 = [ − 7 0 0 − 2 1 ] R x = 0 的完全解: x = x 2 s 2 + x 3 s 3 + x 5 s 5 零空间的维度是 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−21 Rx=0的完全解:x=x2s2+x3s3+x5s5零空间的维度是3。理由: 这是对每个自由变量的一个特殊解。如果有 n n n 个变量 r r r 个主元,那么有 n − r n-r n−r 个自由变量和特殊解。这些特殊解是无关的,因为在行 2 , 3 , 5 2,3,5 2,3,5 包含一个单位矩阵。因此 N ( R ) \pmb N(R) N(R) 的维度是 n − r n-r n−r。 零空间的维度是 n − r ,特殊解是一组基。 零空间的维度是\,n-r,特殊解是一组基。 零空间的维度是n−r,特殊解是一组基。
4、 R T R^T RT 的零空间( R R R 的左零空间)的维度是 m − r = 3 − 2 m-r=3-2 m−r=3−2。
理由: 方程 R T y = 0 R^T\boldsymbol y=\boldsymbol 0 RTy=0 是为了找到 R T R^T RT 列的线性组合得到零向量。方程 R T y = 0 R^T\boldsymbol y=\boldsymbol 0 RTy=0 也可以写成 y T R = 0 T \boldsymbol y^TR=\boldsymbol 0^T yTR=0T 就是: 左零空间 R 行的组合 得到零行 y 1 [ 1 , 3 , 5 , 0 , 7 ] + y 2 [ 0 , 0 , 0 , 1 , 2 ] + y 3 [ 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)此时解 y 1 , y 2 , y 3 y_1,y_2,y_3 y1,y2,y3 就很清晰了,只需要 y 1 = 0 y_1=0 y1=0, y 2 = 0 y_2=0 y2=0,变量 y 3 y_3 y3 是自由的,可以为任何数。 R T R^T RT 的零空间包含有所有向量 y = ( 0 , 0 , y 3 ) \boldsymbol y=(0,0,y_3) y=(0,0,y3)。
在所有的情形下 R R R 的尾端都会有 m − r m-r m−r 个零行,这些零行的任意组合都会得到零行,只有这些零行 R R R 的线性组合才可能得到零,因为主元行是线性无关的。因此左零空间中的 y \boldsymbol y y 有 y 1 = 0 , y 2 = 0 , ⋯ , y r = 0 y_1=0,y_2=0,\cdots,y_r=0 y1=0,y2=0,⋯,yr=0。 如果 A 是 m × n 的矩阵,秩为 r , 它的左零空间的维度是 m − r 。 如果\,A\,是\,m\times n\,的矩阵,秩为\,r,它的左零空间的维度是\,m-r。 如果A是m×n的矩阵,秩为r,它的左零空间的维度是m−r。
在 R n \textrm{\pmb R}^n Rn 中,行空间和零空间的维度分别是 r r r 和 n − r n-r n−r(加起来是 n n n)。
在 R m \textrm{\pmb R}^m Rm 中,列空间和左零空间的维度分别是 r r r 和 m − r m-r m−r (总和是 m m m)。
三、A 的四个子空间
A A A 子空间的维度与 R R R 子空间的维度相同。下面解释为什么会这样。 A A A 是任意矩阵,可以简化为 R = r r e f ( A ) R=rref(A) R=rref(A)。 A 简化为 R A = [ 1 3 5 0 7 0 0 0 1 2 1 3 5 1 9 ] 注意 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、 A A A 和 R R R 有相同的行空间。它们的维度和基也相同。
理由: A A A 的每一行都是 R R R 行的组合, R R R 的每一行也都是 A A A 行的组合。消元会改变行,但是不改变行空间。
由于 A A A 和 R R R 有相同的行空间,我们可以选择 R R R 的前 r r r 个行作为一组基。或者选择原始的矩阵 A A A 合适的 r r r 行,它们可能不是 A A A 的前 r r r 行,因为这些行可能相关。 A A A 的无关行最后就是 R R R 的主元行。
2、 A A A 列空间的维度是 r r r。列秩等于行秩。
秩定理:无关列的个数 = 无关行的个数 \pmb{秩定理:无关列的个数 = 无关行的个数} 秩定理:无关列的个数=无关行的个数“ A A A 与 R R R 有相同的列空间” 这句话是错误的。错误理由: R R R 的列通常是以 0 0 0 结束的,但是 A A A 的列不常以 0 0 0 结束,因此 C ( A ) ≠ C ( R ) \pmb C(A)\neq \pmb C(R) C(A)=C(R)。
正确的理由: A A A 和 R R R 相同列的组合都是零(或非零)。 A A A 中相关 ⇔ \Leftrightarrow ⇔ R R R 中相关。换句话说:当 R x = 0 R\boldsymbol x=\boldsymbol 0 Rx=0 时,才有 A x = 0 A\boldsymbol x=\boldsymbol 0 Ax=0。列空间不同,但是它们的维度是相同的,都等于 r r r。 结论: A 的 r 个主元列是它列空间 C ( A ) 的一组基。 结论:A\,的\,r\,个主元列是它列空间\,\pmb C(A)\,的一组基。 结论:A的r个主元列是它列空间C(A)的一组基。3、 A A A 和 R R R 有相同的零空间。相同的维度 n − r n-r n−r 和相同的基。
理由: 消元步骤不改变解,特殊解是零空间的一组基。有 n − r n-r n−r 个自由变量,因此维度也是 n − r n-r n−r。这就是计数定理(Counting Theorem): r + ( n − r ) = n r+(n-r)=n r+(n−r)=n。
( 列空间的维度 ) + ( 零空间的维度 ) = R n 的维度 (列空间的维度)+(零空间的维度)=\textrm {\pmb R}^n 的维度 (列空间的维度)+(零空间的维度)=Rn的维度
4、 A A A 的左零空间( A T A^T AT 的零空间)的维度是 m − r m-r m−r。
理由: A T A^T AT 和 A A A 本质上是一样的,当我们知道 A A A 每一个子空间的维度,就知道了 A T A^T AT 每一个子空间的维度。它的列空间已经证明了维度是 r r r,因为 A T A^T AT 是 n × m n\times m n×m 的矩阵,所以现在它零空间所在的整个空间就是 R m \textrm {\pmb R}^m Rm 空间。 A A A 的计数规则是 r + ( n − r ) = n r+(n-r)=n r+(n−r)=n, A T A^T AT 的计数规则就是 r + ( m − r ) = m r+(m-r)=m r+(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 × 17 11\times17 11×17 的矩阵有 187 187 187 个非零单元的话,可能就不那么明显了,但是仍然有: 两个关键的事实 C ( A ) 的维度 = C ( A T ) 的维度 = A 的秩 C ( A T ) 的维度 + 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 = [ 1 2 3 ] A=\begin{bmatrix}1&2&3\end{bmatrix} A=[123] 有 m = 1 , n = 3 m=1,n=3 m=1,n=3,秩 r = 1 r=1 r=1。
行空间是 R 3 \pmb{\textrm R}^3 R3 中的一条线;零空间是平面 A x = x 1 + 2 x 2 + 3 x 3 = 0 A\boldsymbol x=x_1+2x_2+3x_3=0 Ax=x1+2x2+3x3=0,这个平面的维度是 2 2 2(即 3 − 1 3-1 3−1)。它们的维度相加 1 + 2 = 3 1+2=3 1+2=3。
这个 1 × 3 1\times3 1×3 矩阵的列在 R 1 \textrm {\pmb R}^1 R1 中,它的列空间就是整个 R 1 \pmb{\textrm R}^1 R1;左零空间只有零向量, A T y = 0 A^T\boldsymbol y=\boldsymbol 0 ATy=0 的唯一解就是 y = 0 \boldsymbol y = \boldsymbol 0 y=0, [ 1 2 3 ] \begin{bmatrix}1&2&3\end{bmatrix} [123] 没有其它的倍数可以得到零行。因此 N ( A T ) \pmb N(A^T) N(AT) 就是 Z \pmb {\textrm Z} Z,它的维度是 0 0 0(即 m − r m-r m−r)。在 R 1 \pmb {\textrm R}^1 R1 中, C ( A ) \pmb C(A) C(A) 和 N ( A T ) \pmb N(A^T) N(AT) 的维度相加 1 + 0 = 1 1+0=1 1+0=1。【例2】 A = [ 1 2 3 2 4 6 ] A=\begin{bmatrix}1&2&3\\2&4&6\end{bmatrix} A=[122436] 有 m = 2 , n = 3 m=2,n=3 m=2,n=3,秩 r = 1 r=1 r=1。
与例1相同,行空间也是一条穿过 ( 1 , 2 , 3 ) (1,2,3) (1,2,3) 的直线;零空间是同样的平面 x 1 + 2 x 2 + 3 x 3 = 0 x_1+2x_2+3x_3=0 x1+2x2+3x3=0。这条线和平面的维度相加仍然是 1 + 2 = 3 1+2=3 1+2=3。
所有的列都是第一列 ( 1 , 2 ) (1,2) (1,2) 的倍数。两倍的行 1 1 1 减去行 2 2 2 得到零行,因此 A T y = 0 A^T\boldsymbol y=\boldsymbol 0 ATy=0 有解 y = ( 2 , − 1 ) \boldsymbol y=(2,-1) y=(2,−1)。列空间和左零空间是 R 2 \pmb {\textrm R}^2 R2 中两条垂直的直线。维度相加 1 + 1 = 2 1+1=2 1+1=2。 列空间 = 穿过 [ 1 2 ] 的直线 左零空间 = 穿过 [ 2 − 1 ] 的直线 列空间=穿过\begin{bmatrix}1\\2\end{bmatrix}的直线\kern 10pt左零空间=穿过\begin{bmatrix}\kern 7pt2\\-1\end{bmatrix}的直线 列空间=穿过[12]的直线左零空间=穿过[2−1]的直线如果 A A A 有三个相等的行,则它的秩是 1 1 1。那么左零空间的两个 y \boldsymbol y y 是什么? 左零空间中的 y ′ s 是得到零行的组合。 左零空间中的\,\boldsymbol y's\,是得到零行的组合。 左零空间中的y′s是得到零行的组合。【例3】如 Figure3.6 所示,每一条边对应一个方程,每个节点对应一个未知数。 A x = b A\boldsymbol x=\boldsymbol b Ax=b 中的矩阵 A A A 是一个关联矩阵(incidence matrix), A A A 的每一行都有一个 1 1 1 和 − 1 -1 −1。
差分 A x = b 在节点 1 , 2 , 3 , 4 之间 有 5 条边 1 , 2 , 3 , 4 , 5 − x 1 + x 2 = b 1 − x 1 + x 3 = b 2 − x 2 + x 3 = b 3 − x 2 + x 4 = b 4 − x 3 + x 4 = b 5 ( 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)
如果理解了四个基本子空间( A A A 和 A T A^T AT 的列空间和零空间),那么就抓住了线性代数的中心概念。
零空间 N ( A ) \pmb N(A) N(A):为了求零空间,设 b = 0 \boldsymbol b=\boldsymbol 0 b=0。那么第一个方程就是 x 1 = x 2 x_1=x_2 x1=x2,第二个方程是 x 1 = x 3 x_1=x_3 x1=x3,第四个方程是 x 2 = x 4 x_2=x_4 x2=x4,四个未知数 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4 有相同的值 c c c。向量 x = ( c , c , c , c ) \boldsymbol x=(c,c,c,c) x=(c,c,c,c) 填满了 A A A 的零空间。
零空间是 R 4 \textrm {\pmb R}^4 R4 中的一条线,特殊解 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) 的维度是 1 1 1(因为基中只有一个向量)。 A A A 的秩是 3 3 3,因为 n − r = 4 − 3 = 1 n-r=4-3=1 n−r=4−3=1。那么现在我们就可以知道四个子空间的维度了。
列空间 C ( A ) \pmb C(A) C(A):因为 r = 3 r=3 r=3,所以一定有 r = 3 r=3 r=3 个无关列。快的方法是看前三列,系统性的方法是求出 R = r r e f ( A ) R=rref(A) R=rref(A)。 A 的 1 , 2 , 3 列 − 1 1 0 − 1 0 1 0 − 1 1 0 − 1 0 0 0 − 1 R = 简化行阶梯形式 = [ 1 0 0 − 1 0 1 0 − 1 0 0 1 − 1 0 0 0 0 0 0 0 0 ] \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 从 R R R 中也可以看到特殊解是 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))的一组基,需要回到矩阵 A A A 的列 1 , 2 , 3 1,2,3 1,2,3,列空间的维度是 r = 3 r=3 r=3。
行空间 C ( A T ) \pmb C(A^T) C(AT):行空间的维度也是 r = 3 r=3 r=3,但是 A A A 的前三行是相关的: row 3 = row 2 − row 1 \textrm{row}\,3=\textrm{row\,2}-\textrm{row}\,1 row3=row2−row1。因此消元后第三行会变成零,第三行会被交换到第四行。前三个无关行是行 1 , 2 , 4 1,2,4 1,2,4。这三行也是行空间的一组基。
注意到图中的边 1 , 2 , 3 1,2,3 1,2,3 形成了一个回路(loop):行 1 , 2 , 3 1,2,3 1,2,3 是相关行。图中的行 1 , 2 , 4 1,2,4 1,2,4 形成一个树(tree) ,树没有回路! 行 1 , 2 , 4 1,2,4 1,2,4 是无关行。
左零空间 N ( A T ) \pmb N(A^T) N(AT):我们现在求解 A T y = 0 A^T\boldsymbol y=\boldsymbol 0 ATy=0,即使得行为零的组合。我们已经注意到 row 3 = row 2 − row 1 \textrm {row}\,3=\textrm {row}\,2-\textrm{row}\,1 row3=row2−row1,因此一个解是 y = ( 1 , − 1 , 1 , 0 , 0 ) \boldsymbol y=(1,-1,1,0,0) y=(1,−1,1,0,0)。有一个结论: y \boldsymbol y y 来自于图上面一个回路。另一个 y \boldsymbol y y 来自于图的下面一个回路: 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}\,5 row3=row4−row5。这两个 y ′ s \boldsymbol y's y′s 是无关的,它们都是 A T y = 0 A^T\boldsymbol y=\boldsymbol 0 ATy=0 的解, N ( A T ) \pmb N(A^T) N(AT) 的维度是 m − r = 5 − 3 = 2 m-r=5-3=2 m−r=5−3=2。因此它们是左零空间的一组基。
那么 “回路” 和 “树” 是怎么进入到这个问题中的呢?实际上我们并不是非要这样做。我们可以使用消元法去求解 A T y = 0 A^T\boldsymbol y=\boldsymbol 0 ATy=0。 A T A^T AT 是一个 4 × 5 4\times5 4×5 的矩阵,它有三个主元列 1 , 2 , 4 1,2,4 1,2,4 和两个自由列 3 , 5 3,5 3,5;有两个特殊解所以 A T A^T AT 的零空间是 2 2 2: m − r = 5 − 3 = 2 m-r=5-3=2 m−r=5−3=2。但是回路和树可以用一种很美妙的方法来鉴别相关行和无关行。
方程 A x = b A\boldsymbol x=\boldsymbol b Ax=b 在 4 4 4 个节点上得到电压 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4,方程 A T y = 0 A^T\boldsymbol y=\boldsymbol 0 ATy=0 在 5 5 5 条边上得到电流 y 1 , y 2 , y 3 , y 4 , y 5 y_1,y_2,y_3,y_4,y_5 y1,y2,y3,y4,y5。这两个方程分别是基尔霍夫电压定律(Kirchhoff’s Voltage Law)和基尔霍夫电流定律(Kirchhoff’s Current Law),这是应用在电路上的术语。但是隐藏在术语后的思想可以应用在所有的工程、科学、经济和商务。
图是离散应用数学中最重要的模型,我们可以在任何地方看到它:路、管道、血液流动、大脑、网络、国家或世界的经济。我们可以了解它们的矩阵 A A A 和 A T A^T AT。
四、秩一矩阵
假设每行都是第一行的倍数,下面是一个典型的例子: [ 2 3 7 8 2 a 3 a 7 a 8 a 2 b 3 b 7 b 8 b ] = [ 1 a b ] [ 2 3 7 8 ] = u v T \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^T 22a2b33a3b77a7b88a8b = 1ab [2378]=uvT左边的矩阵有三行,但是它的行空间维度 r = 1 r=1 r=1。行向量 v T = [ 2 3 7 8 ] \boldsymbol v^T=\begin{bmatrix}2&3&7&8\end{bmatrix} vT=[2378] 告诉了我们行空间的一组基。行秩为 1 1 1。
现在看一下列,“列秩等于行秩等于 1 1 1”。所有的列都是第一列的倍数。列向量 u = [ 1 a b ] \boldsymbol u=\begin{bmatrix}1&a&b\end{bmatrix} u=[1ab] 乘上 2 , 3 , 7 , 8 2,3,7,8 2,3,7,8。非零向量 u \boldsymbol u u 是列空间的基。列秩也是 1 1 1。
每个秩一矩阵都是一列乘上一行 A = u v T \kern 10ptA=\boldsymbol u\boldsymbol v^T A=uvT
五、秩二矩阵 = 秩一加秩一
矩阵 A A A 的秩 r = 2 r=2 r=2,我们无法立即看出 A A A 的秩 r r r 是多少,因此我们通过行运算简化成矩阵 R = r r e f ( A ) R=rref(A) R=rref(A)。一些消元矩阵 E E E 可以简化 A A A 到 R R R,有 E A = R EA=R EA=R,则逆矩阵 C = E − 1 C=E^{-1} C=E−1 可以将 R R R 恢复到 A = C R A=CR A=CR。
这里的重点是: R R R 和 A A A 有相同的行空间。 秩二 A = [ 1 0 3 1 1 7 4 2 20 ] = [ 1 0 0 1 1 0 4 2 1 ] [ 1 0 3 0 1 4 0 0 0 ] = C R ( 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 = 114012001 100010340 =CR(3.5.4)可以很明显的看到 R R R 的两个基向量 v 1 T = [ 1 0 3 ] \boldsymbol v_1^T=\begin{bmatrix}1&0&3\end{bmatrix} v1T=[103] 和 v 2 T = [ 0 1 4 ] \boldsymbol v_2^T=\begin{bmatrix}0&1&4\end{bmatrix} v2T=[014]。因此 A A A 的行空间也有同样的基: 行秩 = 2 行秩 = 2 行秩=2。 C C C 乘 R R R 表明 A A A 的行 3 3 3 是 4 v 1 T + 2 v 2 T 4\boldsymbol v_1^T+2\boldsymbol v_2^T 4v1T+2v2T。
现在来看列。 R R R 的主元列是 ( 1 , 0 , 0 ) (1,0,0) (1,0,0) 和 ( 0 , 1 , 0 ) (0,1,0) (0,1,0),那么 A A A 的主元列也是列 1 1 1 和列 2 2 2: u 1 = ( 1 , 1 , 4 ) , u 2 = ( 0 , 1 , 2 ) \boldsymbol u_1=(1,1,4),\boldsymbol u_2=(0,1,2) u1=(1,1,4),u2=(0,1,2)。注意 C C C 的前两列和 A A A 的相同!这是可以被保证的,因为 C C C 乘上 R R R 前两列的单位矩阵并不会改变主元列 u 1 \boldsymbol u_1 u1 和 u 2 \boldsymbol u_2 u2。
如果将这些字母放在列和行中,则就可以看到 Rank 2 = rank 1+Rank 1 \pmb{\textrm{Rank\,2\,=\,rank\,1+Rank\,1}} Rank2=rank1+Rank1。 秩二矩阵 A A = [ u 1 u 2 u 3 ] [ v 1 T v 2 T 0 ] = u 1 v 1 T + u 2 v 2 T = (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)上述最后一个步骤,利用矩阵的列乘行,对这个问题是个完美的方法。每个秩 r r r 的矩阵都是 r r r 个秩一矩阵的和: A A A 的主元列乘上 R R R 的非零行,行 [ 0 0 0 ] \begin{bmatrix}0&0&0\end{bmatrix} [000] 也消失了。
主元列 u 1 \boldsymbol u_1 u1 和 u 2 \boldsymbol u_2 u2 是列空间的一组基。
六、主要内容总结
- R R R 的 r r r 个主元行是 R R R 和 A A A 行空间的一组基(它们行空间相同)。
- A A A 的 r r r 个主元列是列空间 C ( A ) \pmb C(A) C(A) 的一组基。
- n − r n-r n−r 个特殊解是 A A A 和 R R R 零空间(相同的零空间)的一组基。
- 如果 E A = R EA=R EA=R,则 E E E 的最后 m − r m-r m−r 行是 A A A 左零空间的一组基。
四个子空间的注释: 基础定理看起来很像纯代数,但是它有非常重要的应用。关于左零空间中的 y \boldsymbol y y 的方程是 A T y = 0 A^T\boldsymbol y=\boldsymbol 0 ATy=0: 流入一个节点等于流出,基尔霍夫电流定律是一个“平衡方程” 流入一个节点等于流出,基尔霍夫电流定律是一个“平衡方程” 流入一个节点等于流出,基尔霍夫电流定律是一个“平衡方程”平衡方程是应用数学中最重要的方程,所有的科学、工程和经济都与平衡有关 —— 力、热流、电荷、动量或金钱的平衡。平衡方程,加上胡克定律、欧姆定律、或是位能到流量的相关定律,给了应用数学一个清晰的框架。
七、例题
【例4】将 4 4 4 个 1 1 1 放入 5 × 6 5\times6 5×6 的零矩阵中,描述所有使得它的行空间的维度尽可能小的方法;描述出所有使它列空间的维度尽可能小的方法;描述所有使得它零空间的维度尽可能小的方法。如何让它四个子空间的和最小?
解: 如果 4 4 4 个 1 1 1 放在同一行或同一列,则它的秩为 1 1 1,也可以放在两行和两列(例如 a i i = a i j = a j i = a j j = 1 a_{ii}=a_{ij}=a_{ji}=a_{jj}=1 aii=aij=aji=ajj=1 这种情况),因为行空间和列空间总是有相同的维度,前两问题的维度是 1 1 1。
当矩阵的秩 r = 4 r=4 r=4 时,零空间的维度最小 6 − 4 = 2 6-4=2 6−4=2,此时需要 4 4 4 个 1 1 1 要在不同的行也要在不同的列。
四个子空间维度的和 r + ( n − r ) + r + ( m − r ) = n + m r+(n-r)+r+(m-r)=n+m r+(n−r)+r+(m−r)=n+m,无论我们将 1 1 1 怎么放,它们维度的和都是 6 + 5 = 11 6+5=11 6+5=11,就算这个矩阵里没有任何 1 1 1,和仍然是 11 11 11。
【例5】事实: A B AB AB 所有行都是 B B B 行的组合,因此 A B AB AB 的行空间包含在(可能相等) B B B 的行空间中。 Rank ( A B ) ≤ Rank ( B ) \pmb{\textrm{Rank}(AB)\leq \textrm{Rank}(B)} Rank(AB)≤Rank(B)。
A B AB AB 所有列都是 A A A 列的组合,因此 A B AB AB 的列空间包含在(可能相等) A A A 的列空间中。 Rank ( A B ) ≤ Rank ( A ) \pmb{\textrm{Rank}(AB)\leq\textrm{Rank}(A)} Rank(AB)≤Rank(A)。
如果左乘一个可逆矩阵,秩不会改变。