掌握矩阵的四个子空间,就掌握了线性代数的半壁江山
之前说过,只要掌握①空间的一组基②空间的维数(基向量的个数),就获得了空间的所有信息
对于一个矩阵 A m × n \mathbf A_{m\times n} Am×n
关于列空间和零空间的前置知识:
先给出四个子空间的维数和基的结论:
可见,这里有一种对偶关系:
零空间和行空间是 R n \mathbf R^n Rn的子空间,两者维数相加为 n n n;
左零空间和列空间是 R m \mathbf R^m Rm的子空间,两者维数相加为 m m m;
做初等行变换,行空间和零空间不变、列向量的线性相关性不变,但列空间和左零空间很可能改变(例如消元导致矩阵最下方出现全0行,则列空间变小)
问题:消元已经改变了列空间,为什么主元和主元列还能够反映出矩阵A的列空间状态呢?
首先,初等行变换不改变行空间,也就不改变秩(秩是行/ 列向量中最大的线性无关向量组的向量数);
为什么列空间的维数也是r,并且主元列可以构成列空间的一组基呢?初等行变换不会改变列向量的线性相关性
详见:MIT—线性代数笔记10 四个基本子空间
并且,行空间和零空间正交(交集只有0向量),可以简单想象,一个非零向量 [ 1 2 3 ] \left[\begin{array}{cc}1& 2 & 3\end{array}\right] [123]不可能同时出现住行空间和零空间中,因为对于 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0,如果 A \mathbf A A的某行为 [ 1 2 3 ] \left[\begin{array}{cc}1& 2 & 3\end{array}\right] [123],而 x [ 1 2 3 ] T \boldsymbol x\left[\begin{array}{cc}1& 2 & 3\end{array}\right]^T x[123]T,矩阵向量相乘肯定无法得到0
列空间和零空间的基的推导,在前置知识中已经给出
下面给出行空间和左零空间的推导
求解行空间的基:①对 A T \mathbf A^T AT求列空间的基(对 A T \mathbf A^T AT再做行变换,麻烦)②简化行阶梯型 R \mathbf R R中的 r r r个非零行
更简单的方法是第②个,原理是:
A \mathbf A A消元到 R \mathbf 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 F 0 0 ] = R \boldsymbol{A}=\left[\begin{array}{llll} 1 & 2 & 3 & 1 \\ 1 & 1 & 2 & 1 \\ 1 & 2 & 3 & 1 \end{array}\right] \rightarrow \ldots \rightarrow\left[\begin{array}{llll} 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 \end{array}\right]=\left[\begin{array}{cc} I & F \\ 0 & 0 \end{array}\right]=\boldsymbol{R} A=⎣ ⎡111212323111⎦ ⎤→…→⎣ ⎡100010110100⎦ ⎤=[I0F0]=R
使用初等行变换:
- 不会改变矩阵列向量的线性相关性
如果将“秩”理解为行(列)向量中最大的线性无关向量组的向量个数,那么得到初等行变换不会改变矩阵的秩- 可能会改变矩阵的列空间,即 C ( A ) ≠ C ( R ) C(\mathbf A)\neq C(\mathbf R) C(A)=C(R):出现全0行,则 R \mathbf R R列向量的线性组合,一定不能使对应的分量变为非0
- 不会改变矩阵的行空间,因为 A \mathbf A A的行向量,就是 R \mathbf R R的行向量的线性组合(初等行变换)
因此,简化行阶梯型 R \mathbf R R的 r r r个非零行的行向量,是 A \mathbf A A的行空间 最佳的/最简化的 基(简化行阶梯型 R \mathbf R R通过最简的形式表现出了行空间,就好比单位矩阵是 R n R^n Rn空间最佳的基);
并且由于 R \mathbf R R有 r r r个非零行,这也就是 A \mathbf A A的行空间的维数
注意, R \mathbf R R的 r r r个非零行行向量是 A \mathbf A A的行空间的一组基;
但 A \mathbf A A对应位置的行向量,则不一定是行空间的一组基;
求解左零空间的基:求行变换 E \mathbf E E使得 E A = R \mathbf E\mathbf A=\mathbf R EA=R,则导致 R \mathbf R R中出现全0行的那些 E \mathbf E E的行向量,就是左零空间的基
原理:
- 前置知识:之前说过,矩阵A左乘B,相当于对B做行变换,而B右乘A,相当于对A做列变换;
矩阵乘积的某行,来自于A中的某行“指挥”B的行向量做线性组合的结果,矩阵乘积的某列,来自于B中的某列“指挥”A的列向量做线性组合的结果- 我们求解零空间的基,就是(通过给定自由变量)找出一组列向量(特解),使得 A \mathbf A A的某几列的线性组合为 0 \boldsymbol 0 0向量
求零空间的基,就是求 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0的基础解系(一组无关列向量特解)
求左零空间,就是求 A T x = 0 \mathbf A^T \boldsymbol x=\boldsymbol 0 ATx=0的基础解系(一组无关列向量特解),或者求 x T A = 0 T \boldsymbol x^T\mathbf A=\boldsymbol 0^T xTA=0T的一组无关行向量特解,这就是“左零空间”的名称由来
问题变为求 x T A = 0 T \boldsymbol x^T\mathbf A=\boldsymbol 0^T xTA=0T的一组无关行向量特解,就是要寻找一个行向量 x T \boldsymbol x^T xT使得 A \mathbf A A的行向量的线性组合为 0 T \boldsymbol 0^T 0T
这里再次联系到消元后的简化行阶梯型的内容,考虑到:
R = [ I F 0 0 ] \boldsymbol{R}=\left[\begin{array}{cc}I & F \\0 & 0\end{array}\right] R=[I0F0]
R \boldsymbol{R} R中出现了全0行!这说明,行向量 x T \boldsymbol x^T xT就蕴含在 A \mathbf A A到 R \mathbf {R} R的消元(行变换)过程中
因此,我们把消元过程表示为 [ A I ] → [ R E ] \begin{bmatrix}\mathbf A & \mathbf I\end{bmatrix}\rightarrow\begin{bmatrix}\mathbf R & \mathbf E\end{bmatrix} [AI]→[RE],其中消元的过程就是 E A = R \mathbf E\mathbf A=\mathbf R EA=R,消元变换的矩阵为 E \mathbf E E
而 R \mathbf R R中的全0行,正是 E \mathbf E E的某个行向量“指挥” A \mathbf A A做行变换得到的
故:导致 R \mathbf R R中出现全0行的那些 E \mathbf E E的行向量,就是左零空间的基,并且由于 R \mathbf R R有 r r r个非零行,故有 m − r m-r m−r个全0行,这也就是左零空间的维数
求解 A \mathbf A A的行空间和左零空间的求解时
R 4 \mathbf R^4 R4空间中的4 x 1的列向量 v \boldsymbol v v,其4个分量为 v 1 , v 2 , v 3 , v 4 v_1,v_2,v_3,v_4 v1,v2,v3,v4
所有满足 v 1 + v 2 + v 3 + v 4 = 0 v_1+v_2+v_3+v_4=0 v1+v2+v3+v4=0的向量 v \boldsymbol v v构成了一个向量空间 V \mathbf V V,求其维数
思路1:4个分量满足“线性相关”,因此只需要3个基向量,就可以张成整个向量空间 V \mathbf V V,故 V \mathbf V V的维数为3
思路2: v 1 + v 2 + v 3 + v 4 = 0 v_1+v_2+v_3+v_4=0 v1+v2+v3+v4=0写为方程 [ 1 1 1 1 ] v = 0 \left[\begin{array}{cc}1& 1 & 1 & 1\end{array}\right]\boldsymbol v=\boldsymbol 0 [1111]v=0,其中系数矩阵 A \mathbf A A为 [ 1 1 1 1 ] \left[\begin{array}{cc}1& 1 & 1 & 1\end{array}\right] [1111]
问题转化为:求系数矩阵 A \mathbf A A的零空间维数
消元后, A \mathbf A A本身就是行简化阶梯型,有一个主元, R a n k ( A ) = 1 Rank(\mathbf A)=1 Rank(A)=1,有三个自由变量,因此零空间的维数为 n − r = 4 − 1 = 3 n-r=4-1=3 n−r=4−1=3,零空间的基向量就是给定三组自由变量的值,得到的三个特解
扩展:进一步考察 A 1 × 4 = [ 1 1 1 1 ] \mathbf A_{1\times 4}=\left[\begin{array}{cc}1& 1 & 1 & 1\end{array}\right] A1×4=[1111]的四个子空间( R a n k ( A ) = 1 Rank(\mathbf A)=1 Rank(A)=1)
已知方程 A x = [ 2 4 2 ] \mathbf A \boldsymbol x=\begin{bmatrix}2\\4\\2\end{bmatrix} Ax=⎣ ⎡242⎦ ⎤的通解为 x = [ 2 0 0 ] + c 1 [ 1 1 0 ] + c 2 [ 0 0 1 ] \boldsymbol x=\begin{bmatrix}2\\0\\0\end{bmatrix}+c_1\begin{bmatrix}1\\1\\0\end{bmatrix}+c_2\begin{bmatrix}0\\0\\1\end{bmatrix} x=⎣ ⎡200⎦ ⎤+c1⎣ ⎡110⎦ ⎤+c2⎣ ⎡001⎦ ⎤,求(1) A \mathbf A A的行空间维数(2) A \mathbf A A的值
(1) A \mathbf A A的行空间维数=列空间维数=秩
从方程可看出 A \mathbf A A为3 x 3矩阵,而通解中有2个自由变量,则说明零空间维数为n-r=2,由此得到秩r=1
(2)带入特解 A [ 2 0 0 ] = [ 2 4 2 ] \mathbf A \begin{bmatrix}2\\0\\0\end{bmatrix}=\begin{bmatrix}2\\4\\2\end{bmatrix} A⎣ ⎡200⎦ ⎤=⎣ ⎡242⎦ ⎤,得到 A = [ 1 ⋯ ⋯ 2 ⋯ ⋯ 1 ⋯ ⋯ ] \mathbf A=\begin{bmatrix}1&\cdots&\cdots\\2&\cdots&\cdots\\1&\cdots&\cdots\end{bmatrix} A=⎣ ⎡121⋯⋯⋯⋯⋯⋯⎦ ⎤
根据题目中给出的零空间的基础解系,得到 A [ 1 1 0 ] = 0 \mathbf A \begin{bmatrix}1\\1\\0\end{bmatrix}=\boldsymbol 0 A⎣ ⎡110⎦ ⎤=0和 A [ 0 0 1 ] = 0 \mathbf A \begin{bmatrix}0\\0\\1\end{bmatrix}=\boldsymbol 0 A⎣ ⎡001⎦ ⎤=0,得到 A = [ 1 − 1 0 2 − 2 0 1 − 1 0 ] \mathbf A=\begin{bmatrix}1&-1&0\\2&-2&0\\1&-1&0\end{bmatrix} A=⎣ ⎡121−1−2−1000⎦ ⎤
A = B C = [ 1 1 0 0 1 0 0 0 1 ] [ 1 0 − 1 2 0 1 1 − 1 0 0 0 0 ] \mathbf A=\mathbf B\mathbf C=\begin{bmatrix}1&1&0\\0&1&0\\0&0&1\end{bmatrix}\begin{bmatrix}1&0&-1&2\\0&1&1&-1\\0&0&0&0\end{bmatrix} A=BC=⎣ ⎡100110001⎦ ⎤⎣ ⎡100010−1102−10⎦ ⎤(1)不做矩阵乘法,求 A \mathbf A A的零空间(2)求 A x = [ 1 0 1 ] \mathbf A \boldsymbol x=\begin{bmatrix}1\\0\\1\end{bmatrix} Ax=⎣ ⎡101⎦ ⎤的通解
(1)首先,矩阵 B \mathbf B B左乘 C \mathbf C C,仅对应初等行变换,不改变 C \mathbf C C的零空间,或者说 B \mathbf B B是可逆矩阵,可以在 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0两边同乘以 B − 1 \mathbf B^{-1} B−1
这样,求 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0的问题,变为求 C x = 0 \mathbf C \boldsymbol x=\boldsymbol 0 Cx=0, A \mathbf A A的零空间就是 C \mathbf C C的零空间
而 C \mathbf C C已经是简化行阶梯型,为两个自由变量指定取值,可以得到其零空间的基向量: [ 1 − 1 1 0 ] \begin{bmatrix}1\\-1\\1\\0\end{bmatrix} ⎣ ⎡1−110⎦ ⎤和 [ − 2 1 0 1 ] \begin{bmatrix}-2\\1\\0\\1\end{bmatrix} ⎣ ⎡−2101⎦ ⎤
(2)已经求出零空间的基础解系,只要再求一个 A x = [ 1 0 1 ] \mathbf A \boldsymbol x=\begin{bmatrix}1\\0\\1\end{bmatrix} Ax=⎣ ⎡101⎦ ⎤的特解即可
计算可得, A \mathbf A A的第一列恰好是 [ 1 0 1 ] \begin{bmatrix}1\\0\\1\end{bmatrix} ⎣ ⎡101⎦ ⎤,因此一个特解是 [ 1 0 0 0 ] \begin{bmatrix}1\\0\\0\\0\end{bmatrix} ⎣ ⎡1000⎦ ⎤( A x = b \mathbf A \boldsymbol x=\boldsymbol b Ax=b就是 x \boldsymbol x x对 A \mathbf A A的列向量做线性组合),再加上零空间的基向量线性组合就是通解