这一节课非常非常重要!因为后面的知识你会反复回来看这个知识点。一个矩阵 A A A 按照一定的规则,可以分为四个子空间。这四个子空间在几何上具有特殊的关系——正交。如果按照行方式切割成多个行向量,切割下来的行向量线性组合就是行空间,如果我们令行向量的线性组合为行零向量,对应的解向量线性组合形成的就是行零空间,因为它出现在矩阵 A A A 的左侧,所以也叫做左零空间,特别的地方在于,这两个“奇怪”的空间是相互正交的;同理,如果按照列切分矩阵形成列向量,其线性组合是列空间,如果让列向量线性组合为列零空间,那么对应的解向量形成的空间称为零空间,因为它是出现在矩阵的右侧,所以列零空间又称为右零空间,不过我们通常不这么称呼。
- 列空间 C ( A ) C(A) C(A) 和行空间 C ( A T ) C(A^T) C(AT) 都有相同的维数 r r r(也就是矩阵 A A A的秩);
- 零空间 N ( A ) N(A) N(A) 维数为 n − r n-r n−r,左零空间 N ( A T ) N(A^T) N(AT) 维数为 m − r m-r m−r;
- 消元后矩阵 R R R 会产生和矩阵 A A A 相同的基;
- 消元改变的是列空间和左零空间(但是不改变维数)
- 秩1矩阵可以写成 A = u v T A=uv^T A=uvT
前面我们了解了列空间和零空间,这都是针对于“列向量”而言的概念,今天将对这个概念进行扩展。
- 列空间 C ( A ) C(A) C(A) ,列向量线性组合构成的空间;
- 零空间 N ( A ) N(A) N(A),列解空间,或者说是列向量线性组合为零(列)向量;
- 行空间 C ( A T ) C(A^T) C(AT),行向量线性组合构成的空间;
- 左零空间 N ( A T ) N(A^T) N(AT),行解空间,或者说是行向量线性组合为零(行)向量;
假设 A x = 0 Ax=0 Ax=0中, A A A是一个 m × n 的矩阵 m\times n的矩阵 m×n的矩阵
空间类型向量所在空间维数基列空间 C ( A ) C(A) C(A) R m R^m Rm A A A的秩 r r r主元列零空间 N ( A ) N(A) N(A) R n R^n Rn n − r n-r n−r特解们行空间 C ( A T ) C(A^T) C(AT) R n R^n Rn A T A^T AT的秩 r r r主元行左零空间 N ( A T ) N(A^T) N(AT) R m R^m Rm m − r m-r m−r前面两个空间的维数和基的情况在上节课已经讲了,这节课我们重点放在最后两个行空间和左零空间。
2.1 列向量类比行向量行空间就是行向量组成的空间,线性无关、基和维数的定义同样适用,为了让我们前面知识复用,可以将这个行空间转置一下,然后用列的思维去研究它。如: A = [ 1 2 3 1 1 1 2 1 1 2 3 1 ] (1) A=\begin{bmatrix} 1&2 &3&1\\ 1&1&2&1\\ 1&2&3&1 \end{bmatrix}\tag{1} A= 111212323111 (1) 想要知道这个矩阵 A A A行向量组成的空间,也就是找到一组系数使得结果为行零向量。 k 1 [ 1 2 3 1 ] + k 2 [ 1 1 2 1 ] + k 3 [ 1 2 3 1 ] = [ 0 0 0 0 ] (2) k_1\begin{bmatrix}1&2&3&1\end{bmatrix}+k_2\begin{bmatrix}1&1&2&1\end{bmatrix}+k_3\begin{bmatrix}1&2&3&1\end{bmatrix}=\begin{bmatrix}0&0&0&0\end{bmatrix}\tag{2} k1[1231]+k2[1121]+k3[1231]=[0000](2) 对于向量而言他是躺着的还是站着的不是我们关心的,找到这些向量对应的解才是我们关心的,直接当成列向量组成的新的矩阵 A T A^T AT来处理不是更加简化(毕竟我们不需要去定义行向量专用的 R R E F RREF RREF了): A T = [ 1 1 1 2 1 2 3 2 3 1 1 1 ] (3) A^T=\begin{bmatrix} 1&1 &1\\ 2&1&2\\ 3&2&3\\ 1&1&1 \end{bmatrix}\tag{3} AT= 123111211231 (3) 回到了我们熟悉的列向量! k 1 [ 1 2 3 1 ] + k 2 [ 1 1 2 1 ] + k 3 [ 1 2 3 1 ] = [ 0 0 0 0 ] (4) k_1\begin{bmatrix}1\\2\\3\\1\end{bmatrix}+k_2\begin{bmatrix}1\\1\\2\\1\end{bmatrix}+k_3\begin{bmatrix}1\\2\\3\\1\end{bmatrix}=\begin{bmatrix}0\\0\\0\\0\end{bmatrix}\tag{4} k1 1231 +k2 1121 +k3 1231 = 0000 (4) 这样解出来的系数,数值上完全等于行向量的。也就是说, A T A^T AT的零空间等于使得 A A A行向量的系数组合为0的空间,也就是行零空间, A T A^T AT的列空间等于行空间。
求 A A A的行零空间和行空间等价于求取 A T A^T AT的零空间和列空间。
A T A^T AT经过 R R E F RREF RREF后的主元列个数为 r r r,那么行空间的维数为 r r r; A T A^T AT的列数为 m m m,所以自由向量的个数为 m − r m-r m−r,自由向量的组合系数组成 A T A^T AT的零空间,也就是行的零空间。
2.2 直接找出行空间的维数和基直接用2.1视作列向量来求解也可以,不过这里直接对系数矩阵进行 R R E F RREF RREF来找到它们。
A = [ 1 2 3 1 1 1 2 1 1 2 3 1 ] → [ 1 0 1 1 0 1 1 0 0 0 0 0 ] (5) A=\begin{bmatrix} 1&2&3&1\\1&1&2&1\\1&2&3&1 \end{bmatrix}\rightarrow \begin{bmatrix} 1&0&1&1\\0&1&1&0\\0&0&0&0 \end{bmatrix}\tag{5} A= 111212323111 → 100010110100 (5) 上面对 A A A矩阵进行了 R R E F RREF RREF,显然列空间的维度发生了改变,因为化简前 [ 1 1 1 ] \begin{bmatrix}1\\1\\1\end{bmatrix} 111 属于列空间,但是化简后列空间就再也不能表示它了;但是行空间并没有发生改变,那是因为,对行进行变化采用的是某一行加上某一行乘以某个系数,子空间的性质决定这样的向量仍然属于这个空间,而不是其他。从上面可以很清楚看出,前两行是一组线性无关的向量组成的基,这一点不会由于行变化的而改变。
所以,行空间的基可以通过 R R E F RREF RREF求出,其基就是前面几行,维数就是行数。
行变换改变了列空间,但是行空间保持不变。行变化过程中,行向量的线性无关性始终保持,不会因为变换而改变。
2.3 左零空间概念对于一个系数矩阵 A A A我们矩阵式: A x = 0 Ax=0 Ax=0,现将系数矩阵转置记为 A T A^T AT,有: A T y = 0 (6) A^Ty=0\tag{6} ATy=0(6) 对两边进行转置操作: y T A = 0 T (7) y^TA=0^T\tag{7} yTA=0T(7) 一般而言,零空间是使得结果向量为0的 A [ x 1 x 2 ⋮ x n ] = [ 0 0 ⋮ 0 ] (8) A\begin{bmatrix}x_1\\x_2\\ \vdots\\x_n\end{bmatrix}=\begin{bmatrix}0\\0\\ \vdots\\0\end{bmatrix}\tag{8} A x1x2⋮xn = 00⋮0 (8) 这种形式对应的系数空间叫做右零空间。
如果结果向量在等式中以行向量表示: [ x 1 x 2 ⋯ x n ] A = [ 0 0 ⋯ 0 ] (9) \begin{bmatrix}x_1&x_2& \cdots&x_n\end{bmatrix}A=\begin{bmatrix}0&0& \cdots&0\end{bmatrix}\tag{9} [x1x2⋯xn]A=[00⋯0](9) 这个以行形式表示系数所构成的空间称为左零空间。简单来说,就是一个系数矩阵既有左零空间又右零空间,相当于一个矩阵的“特征”。
2.4 R R E F RREF RREF求取行空间和行零空间求取 A x = 0 Ax=0 Ax=0 的零空间的方法是 R R E F RREF RREF,找出主元列,交替赋值自由向量,然后得到一个空间。
例子: A = [ 1 2 3 1 1 1 2 1 1 2 3 1 ] → R = [ 1 0 1 1 0 1 1 0 0 0 0 0 ] (10) A=\begin{bmatrix} 1&2&3&1\\1&1&2&1\\1&2&3&1 \end{bmatrix}\rightarrow R=\begin{bmatrix} 1&0&1&1\\0&1&1&0\\0&0&0&0 \end{bmatrix}\tag{10} A= 111212323111 →R= 100010110100 (10)
整个消元过程可以用一个消元矩阵 E E E来表达:
E A = R EA=R EA=R,在第二课中已经详细讲解的了如何求取这个 E E E矩阵,忘记了点击复习。在这里,直接给出 E = [ − 1 2 0 1 − 1 0 − 1 0 1 ] (11) E=\begin{bmatrix}-1&2&0\\1&-1&0\\-1&0&1\end{bmatrix}\tag{11} E= −11−12−10001 (11) ( 10 ) (10) (10)式可以写成: E A = [ − 1 2 0 1 − 1 0 − 1 0 1 ] [ 1 2 3 1 1 1 2 1 1 2 3 1 ] = [ 1 0 1 1 0 1 1 0 0 0 0 0 ] = R (12) EA=\begin{bmatrix}-1&2&0\\1&-1&0\\-1&0&1\end{bmatrix}\begin{bmatrix} 1&2&3&1\\1&1&2&1\\1&2&3&1 \end{bmatrix}=\begin{bmatrix} 1&0&1&1\\0&1&1&0\\0&0&0&0\end{bmatrix}=R\tag{12} EA= −11−12−10001 111212323111 = 100010110100 =R(12) 注意到,矩阵 E E E的最后一行恰好是一个使得行向量们为零行向量的系数,是 A A A行空间零空间特解,维数为1,也就说左零空间维数为1。
二、矩阵空间矩阵空间是一个新的向量空间,可以将一个矩阵看成是一个“向量”,这是因为矩阵的运算符合向量运算法则,比如:
- 加法
- 数乘
最主要的原因是矩阵也符合线性空间的八大法则。
这节课主要讨论的是 3 × 3 3\times3 3×3的矩阵,所有 3 × 3 3\times3 3×3的矩阵线性组合形成的空间称为矩阵 3 × 3 3\times3 3×3的空间,它的子空间有哪些?
- 上三角矩阵(upper triangle matrices):对角线以下全是0元素
- 对称矩阵(symmetric matrices):对角线对称的矩阵
- 对角矩阵(diagonal matrices):除主对角线都是零的矩阵
设对角矩阵为 D D D,组成这个矩阵 D D D的基是什么? [ 1 0 0 0 0 0 0 0 0 ] \begin{bmatrix} 1&0&0\\0&0&0\\0&0&0 \end{bmatrix} 100000000 、 [ 1 0 0 1 3 0 0 0 0 ] \begin{bmatrix} 1&0&0\\1&3&0\\0&0&0 \end{bmatrix} 110030000 和 [ 0 0 0 0 0 0 0 0 7 ] \begin{bmatrix} 0&0&0\\0&0&0\\0&0&7 \end{bmatrix} 000000007
这三个矩阵是线性无关的,所有对角矩阵都可以通过上面三个矩阵得到,这样就相当于将 R n R^n Rn的概念扩展到了 R n × n R^{n\times n} Rn×n