本节要讲述联系列空间和行空间的重要结论.
列空间 C ( A ) C(A) C(A) in R m \R^m Rm
零空间 N ( A ) N(A) N(A) in R n \R^n Rn
行空间, A A A 的所有行的线性组合, 也就是 A T A^T AT 的列空间 C ( A T ) C(A^T) C(AT) in R n \R^n Rn
A T A^T AT 的零空间 N ( A T ) N(A^T) N(AT) in R m \R^m Rm , 通常称作 A A A 的左零空间(left null space)
当 A A A 是 n × m n\times m n×m 时, 这四个空间在哪里呢? 画个草图:
这四个子空间的基是什么? 维数是多少?
列空间的维数就是 r r r , 我们上节课讨论过, 并且列空间的一组基就是 A A A 的主列.
行空间的维数也是 r r r , 行空间与列空间维数相同. 要找它的基, 我们举个栗子:
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 ] = [ I r × r F 0 0 ] = R 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}=\begin{bmatrix}I_{r\times r}&F\\0&0\end{bmatrix}=R A=⎣⎡111212323111⎦⎤→⎣⎡100010110100⎦⎤=[Ir×r0F0]=R
注意通过行变换后, 行空间并没有发生变化, 因为行变换就是行的线性组合, 但是列空间发生了变化, 比如 [ 1 1 1 ] \begin{bmatrix} 1\\1\\1 \end{bmatrix} ⎣⎡111⎦⎤ 在 C ( A ) C(A) C(A) 中但显然不在 C ( R ) C(R) C(R) 中. C ( A T ) C(A^T) C(AT) 的一组基就是 R R R 的前 r r r 行. 注意不一定是 A A A 的前 r r r 行.
零空间的维数是 n − r n-r n−r , 每一个自由变量都可以产生一个特解. 这些特解组成了一组基. 行空间和零空间维数之和恰好是 n n n .
左零空间的维数是 m − r m-r m−r , 并且左零空间和零空间维数之和恰好是 m m m .
为什么 N ( A T ) N(A^T) N(AT) 被称作左零空间? 如果 A T y = 0 A^T\mathbf{y}=\mathbf{0} ATy=0 , 那么 y \mathbf{y} y 就在 N ( A T ) N(A^T) N(AT) 中. 转置方程两边, 得到 y T A = 0 T \mathbf{y^T}A=\mathbf{0^T} yTA=0T , 得到 y T \mathbf{y^T} yT 左乘 A A A , 所以叫左零空间.
举个栗子来求左零空间的基.
我们想知道乘以一个什么矩阵可以让 A A A 变成 R R R . 我们还是使用Gauss-Jordan消元法:
E [ A m × n I m × m ] → [ R m × n E m × m ] E A = R E\begin{bmatrix}A_{m\times n}&I_{m\times m}\end{bmatrix}\rightarrow\begin{bmatrix}R_{m\times n}&E_{m\times m}\end{bmatrix}\\[2ex]EA=R E[Am×nIm×m]→[Rm×nEm×m]EA=R
左零空间, 就是寻找得到零行向量的行组合, 对于上面的例子, 我们可以得到 E E E :
[ 1 2 3 1 1 0 0 1 1 2 1 0 1 0 1 2 3 1 0 0 1 ] ⟶ [ 1 0 1 1 − 1 2 0 0 1 1 0 1 − 1 0 0 0 0 0 − 1 0 1 ] \left[\begin{array}{cccc:ccc}1&2&3&1&1&0&0\\1&1&2&1&0&1&0\\1&2&3&1&0&0&1\end{array}\right]\longrightarrow \left[\begin{array}{cccc:ccc}1&0&1&1&-1&2&0\\0&1&1&0&1&-1&0\\0&0&0&0&-1&0&1\end{array}\right] ⎣⎡111212323111100010001⎦⎤⟶⎣⎡100010110100−11−12−10001⎦⎤
对得到的 E E E , 我们可以发现由于 R R R 的最后一行是 0 \mathbf{0} 0 , 所以 E E E 的最后一行就是 A A A 行向量的一种产生零向量的线性组合.
当然也可以用矩阵乘法的基于行向量的方法, E A = R EA=R EA=R 产生了 R R R 中 m − r m-r m−r 个零行, 这些行都在最下面, 所以 E E E 最下面 m − r m-r m−r 行就是 N ( A T ) N(A^T) N(AT) 的一组基:
[ − 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 ] \begin{bmatrix}-1&2&0\\1&-1&0\\\color{red}-1&\color{red}0&\color{red}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\\\color{red}0&\color{red}0&\color{red}0&\color{red}0\end{bmatrix} ⎣⎡−11−12−10001⎦⎤⎣⎡111212323111⎦⎤=⎣⎡100010110100⎦⎤
这次我们把矩阵看做"向量". 这种思想也就是把 R n R^n Rn 的概念延伸至 R n × n R^{n\times n} Rn×n .
向量空间的8条运算律对于矩阵都可以满足. 这个新的向量空间的子空间有哪些呢? 上三角矩阵, 下三角矩阵, 对称矩阵, 都是其子空间. 其中上三角矩阵和下三角矩阵的交集是对角矩阵.
想找到这些子空间的维数, 要先找到一组基. 对角矩阵的维数是3, 它的一组基是:
[ 1 0 0 0 0 0 0 0 0 ] , [ 0 0 0 0 1 0 0 0 0 ] , [ 0 0 0 0 0 0 0 0 1 ] \begin{bmatrix}1&0&0\\0&0&0\\0&0&0\end{bmatrix},\begin{bmatrix}0&0&0\\0&1&0\\0&0&0\end{bmatrix},\begin{bmatrix}0&0&0\\0&0&0\\0&0&1\end{bmatrix} ⎣⎡100000000⎦⎤,⎣⎡000010000⎦⎤,⎣⎡000000001⎦⎤
预知后事如何, 请听下回分解.