与矩阵有关的四个子空间
掌握矩阵的四个子空间,就掌握了线性代数的半壁江山
之前说过,只要掌握①空间的一组基②空间的维数(基向量的个数),就获得了空间的所有信息
对于一个矩阵 A m × n \mathbf A_{m\times n} Am×n
- 列空间Column Space / 值域Range,
C
(
A
)
C(\mathbf A)
C(A):矩阵列向量张成的空间
一定是 R m \mathbf R^m Rm的子空间(因为其向量坐标有 m m m个分量) - 零空间Null Space / 核,
N
(
A
)
N(\mathbf A)
N(A):
A
x
=
0
\mathbf A \boldsymbol x=\boldsymbol 0
Ax=0的所有可能解向量集合
一定是 R n \mathbf R^n Rn的子空间 - 行空间Row Space,
C
(
A
T
)
C(\mathbf A^T)
C(AT):矩阵行向量张成的空间
一定是 R n \mathbf R^n Rn的子空间 - 左零空间Left Null Space,
N
(
A
T
)
N(\mathbf A^T)
N(AT):
A
T
x
=
0
\mathbf A^T \boldsymbol x=\boldsymbol 0
ATx=0的所有可能解向量集合
一定是 R m \mathbf R^m Rm的子空间
四个子空间的关系
关于列空间和零空间的前置知识:
- 记矩阵的秩 R a n k ( A m × n ) = r Rank(\mathbf A_{m\times n})=r Rank(Am×n)=r
- 对于方程 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0的系数矩阵 A \mathbf A A,消元得到简化行阶梯型 R \mathbf R R,其中有 r r r个主元列,剩下的自由列都是主元列的线性组合
- 进而有 n − r n-r n−r个自由变量,任意给定这些自由变量,可以得到 n − r n-r n−r个线性无关的特解,它们就是基础解系/零空间的一组基
先给出四个子空间的维数和基的结论:
- 列空间
C
(
A
)
C(\mathbf A)
C(A):维数
r
r
r(主元/主变量个数)
基:取自 A \mathbf A A中的列向量,具体位置对应简化行阶梯型 R \mathbf R R中的 r r r个主元列所在位置
(注意并不是 R \mathbf R R中的列向量,因为初等行变换后列空间已经改变,但由于相关性不变, R \mathbf R R仍可用于指示 A \mathbf A A中列向量的最大无关组)
注意,做初等行变换,行空间和零空间不变、列空间和左零空间可能会改变、但列向量的线性相关性不变(例如消元导致矩阵最下方出现全0行,则列空间变小)
- 问题:消元已经改变了列空间,为什么主元列(注意,不是消元后的主元所在列,而是消元前对应位置的那些原始列)还能作为矩阵A的列空间的一组基?
首先,初等行变换不改变行空间,也就不改变秩r(秩是行/ 列向量中最大的线性无关向量组的向量数),那么列空间的维数也是r;
其次,初等行变换不改变秩,就是说初等行变换不会改变列向量的线性相关性,因此消元后无关的那r个列,对应的消元前的无关的r个主元列,可以作为列空间的一组基
详见:MIT—线性代数笔记10 四个基本子空间
- 零空间
N
(
A
)
N(\mathbf A)
N(A):维数
n
−
r
n-r
n−r
基:在高斯消元解方程时,给定 n − r n-r n−r个自由变量的不同取值,得到的 n − r n-r n−r个线性无关的特解 - 行空间
C
(
A
T
)
C(\mathbf A^T)
C(AT):维数
r
r
r(重要结论:行空间和列空间维数相同,后面给出证明)
基:①对 A T \mathbf A^T AT求列空间的基(对 A T \mathbf A^T AT再做行变换,麻烦)②简化行阶梯型 R \mathbf R R中的 r r r个非零行
可见,列空间和行空间都可通过简化行阶梯型 R \mathbf R R来求出,实际上这就是求满秩分解(求出行/列空间的一组基)的过程,其中, R \mathbf R R的要求是:每行的非零首元为1(该元素为主元),每个主元所在的列中除了主元之外全为0元素
- 左零空间
N
(
A
T
)
N(\mathbf A^T)
N(AT):维数
m
−
r
m-r
m−r
基:求行变换 E \mathbf E E使得 E A = R \mathbf E\mathbf A=\mathbf R EA=R,则导致 R \mathbf R R中出现全0行的那些 E \mathbf E E的行向量,就是左零空间的基
可见,这里有一种对偶关系:
零空间和行空间是 R n \mathbf R^n Rn的子空间,两者维数相加为 n n n;
左零空间和列空间是 R m \mathbf R^m Rm的子空间,两者维数相加为 m m m;
并且,行空间和零空间正交。理解:
可以简单想象,一个非零向量 [ 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
前面说过,使用初等行变换不会改变矩阵的行空间,因为 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空间最佳的基);
并且
A
\mathbf A
A的行空间的维数=
R
\mathbf R
R的非零行个数(
r
r
r个)
注意, 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做行变换,而A右乘B,相当于对B做列变换;
求零空间的基,就是求
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的行空间和左零空间的求解时
- 我们可以转而求解 A T \mathbf A^T AT的列空间和零空间,然而这需要我们重复两次消元求化简行阶梯型的过程
-
A
\mathbf A
A消元(行变换)得到化简行阶梯型
R
\mathbf R
R的过程中同样给出了答案:
R \mathbf R R给出了行空间: R \mathbf R R的非零行的行向量 就是 A \mathbf A A的行空间的基
A \mathbf A A到 R \mathbf R R的过程给出了左零空间: R \mathbf R R的全0行相对应的 E \mathbf E E中的行向量 就是 A \mathbf A A的左零空间的基,其中 E \mathbf E E为消元(行变换)的矩阵
测验题
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)
- 列空间:是 R 1 \mathbf R^1 R1的子空间(就是 R 1 \mathbf R^1 R1),基:主元列 [ 1 ] \left[\begin{array}{cc}1\end{array}\right] [1],维数为r=1
- 零空间:是 R 4 \mathbf R^4 R4的子空间,基:给定三个自由变量得到的三个无关特解,维数为n-r=3
- 行空间:是 R 4 \mathbf R^4 R4的子空间,基:最简阶梯型(就是 A \mathbf A A)中的非零行 [ 1 1 1 1 ] \left[\begin{array}{cc}1& 1 & 1 & 1\end{array}\right] [1111],维数为r=1
- 左零空间:是 R 1 \mathbf R^1 R1的子空间(就是一个点0),基:最简阶梯型中全0行对应的 E \mathbf E E的行(不存在基/基为空集),维数m-r=0
已知方程 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的列向量做线性组合),再加上零空间的基向量线性组合就是通解