好久没更新了啊~~~~最近忙着各种事情,就耽搁了,感觉每日一更大概是不能实现了,但会努力保证至少两日一更!
本节是Gilbert Strang的MIT线性代数Linear Algebra公开课中【第10讲 矩阵的四个基本子空间(lecture 10 The Four Fundamental Subspaces)】的笔记,参考他在 MIT Linear Algebra课程网站上公开分享的 lecture summary (PDF) & Lecture video transcript (PDF)等文档,整理笔记如下,笔记中的大部分内容是从 MIT Linear Algebra课程网站上的资料中直接粘贴过来的,本人只是将该课程视频中讲述的内容整理为文字形式,前面的章节可在本人的其他博客中找到(此处戳第一讲,第二讲,第三讲,第四讲,第五讲,第六讲,第七讲,第八讲,第九讲),后面的章节会按照视频顺序不断更新~
文章目录
lecture 10 The Four Fundamental Subspaces
1 Four subspaces
任意的 m × n m×n m×n 的矩阵 A A A 都确定了四个subspaces(有可能只包含零向量):
-
Column space, C ( A ) C(A) C(A) ,在 R m \mathcal{R}^m Rm 中,包含了 A A A 各列的所有线性组合;
-
Nullspace, N ( A ) N(A) N(A) ,在 R n \mathcal{R}^n Rn 中,包含了 A x = 0 Ax=0 Ax=0 的所有解;
-
Row space, C ( A T ) C(A^T) C(AT) ,在 R n \mathcal{R}^n Rn 中,是 All combinations of the rows of A A A = all combinations of the columns of A T A^T AT (这是为了不处理行向量,而保持一直处理列向量,故将矩阵转置,则可以将行向量当做列向量处理);
-
Left nullspace, N ( A T ) N(A^T) N(AT) : A T A^T AT 的零空间,在 R m \mathcal{R}^m Rm 中。
2 Basis and Dimension
如何构造一组基?维数是多少?(要构造一组基,得先知道需要多少向量来组成一组基)
2.1 Column space
——列空间的一组基是什么?维数是多少?
——矩阵的 r r r 个主列就构成列空间的一组基,维数 dim C ( A ) = r \operatorname{dim} C(A)=r dimC(A)=r 。(利用初等行变换确定主列)
行空间的维数也是秩 r r r ,行空间和列空间的维数相等。
Example 1:
[
1
2
3
1
2
3
2
5
8
]
\left[\begin{array}{llll} {1} & {2} & {3} \\ {1} & {2} & {3} \\ {2} & {5} & {8} \end{array}\right]
⎣⎡112225338⎦⎤
看列不易发现,但是行空间很明显是个二维子空间,行空间的一组基:行一和行三,秩为2,因此,列空间也是二维的,故有两个主列,这三列线性相关。
2.2 Nullspace
——零空间的基是什么?零空间的维数是多少?
—— A x = 0 Ax=0 Ax=0 的special solutions构成零空间的一组基,维数 dim N ( A ) = n − r \operatorname{dim} N(A)=n-r dimN(A)=n−r 。将矩阵 A A A 进行行变换变成 U U U 或 R R R ,得出special solutions,每个自由变量都能得到一个special solution(将一个自由变量赋值为 1 1 1 ,其余为 0 0 0 ,得到一个special solution),共有 n − r n-r n−r 个special solution,即为自由变量的个数。
2.3 Row space
——行空间的一组基?
——通过转置矩阵的行最简形式得到行空间的一组基(行变列,消元,行最简,主列), dim C ( A T ) = r \operatorname{dim} C\left(A^{T}\right)=r dimC(AT)=r .
Example 2:
A
=
[
1
2
3
1
1
1
2
1
1
2
3
1
]
→
[
1
2
3
1
0
−
1
−
1
0
0
0
0
0
]
→
[
1
0
1
1
0
1
1
0
0
0
0
0
]
=
[
I
F
0
0
]
=
R
A=\left[\begin{array}{r} {1} & {2} & {3} & {1} \\ {1} & {1} & {2} & {1} \\ {1} & {2} & {3} & {1} \end{array}\right] \rightarrow\left[\begin{array}{r} {1} & {2} & {3} & {1} \\ {0} & {-1} & {-1} & {0} \\ {0} & {0} & {0} & {0} \end{array}\right] \rightarrow\left[\begin{array}{r} {1} & {0} & {1} & {1} \\ {0} & {1} & {1} & {0} \\ {0} & {0} & {0} & {0} \end{array}\right]=\left[\begin{array}{r} {I} & {F} \\ {0} & {0} \end{array}\right]=R
A=⎣⎡111212323111⎦⎤→⎣⎡1002−103−10100⎦⎤→⎣⎡100010110100⎦⎤=[I0F0]=R
- 行变换不改变行空间,改变列空间。经过行变换后,矩阵的列空间改变了, C ( R ) ≠ C ( A ) C(R) \not= C(A) C(R)=C(A) ,如 A A A 中的 [ 1 1 1 ] \left[\begin{array}{llll}{1} \\{1} \\{1} \end{array}\right] ⎣⎡111⎦⎤ 在 C ( A ) C(A) C(A) 中,但是显然不在 C ( R ) C(R) C(R) 中。行变换后的各行仍然在原始矩阵 A A A 的行空间内,因为行变换的结果都是原始矩阵 A A A 的行向量的线性组合,故得到的结果仍然在它的行空间中,行空间没有变化;但是,基发生了变化,最终得到了一个最佳答案。
- R R R 的行空间的基也就是原矩阵 A A A 的行空间的基:前两行。行空间由这三行的线性组合构成,但是由于他们相关,不构成行空间的基,即行空间可以由前两行生成,第三行没有作用。不管是对矩阵 A A A 还是对矩阵 R R R 来说,对应的行空间的基都是矩阵 A A A 的行最简形式 R R R 的前 r r r 行(注意:不是 A A A 的前 r r r 行)。
- 行空间的维数是 r r r ,因为共有 r r r 个主元, r r r 个非零行,刚好有 r r r 个向量均在行空间中,且线性无关,即为行空间的一组基。
——为什么 A A A 的各行都是行空间的基的线性组合?
——通过各行消元的逆操作(由相反的操作从 R R R 得到 A A A ),即从 R R R 的各行出发,进行线性组合,只需要执行之前减法运算的逆运算,即可得到 A A A 的各行,故 A A A 的各行是 R R R 的各行的线性组合,他们的行空间相同,他们的基也相同。行空间在行最简 R R R 中以最佳形式表现出来。
如果单位矩阵的各列是 R 3 \mathcal{R}^3 R3 或 R n \mathcal{R}^n Rn 的最佳基,那么行最简形式中的行就是行空间的最佳的基,最佳的意义在于:它的形式最为简洁。
2.4 Left nullspace
左零空间 N ( A T ) N(A^T) N(AT) :若有 A T y = 0 A^T y=0 ATy=0 ,那么向量 y y y 就在 A T A^T AT 的零空间中,表示矩阵乘以列向量等于一列零向量,等式两边同时转置: y T A = 0 T y^TA=0^T yTA=0T ,即一个行向量对 A A A 进行左乘等于零,故称为左零空间( y y y 在 A A A 的左侧)。
2.4.1 左零空间的维数
矩阵 A T A^T AT 有 m m m 列,矩阵 A T A^T AT 的秩为 r r r ,则 A T A^T AT 的自由列的数量为 m − r m-r m−r ,故 dim N ( A T ) = m − r \operatorname{dim} N\left(A^{T}\right)=m-r dimN(AT)=m−r .
2.4.2 左零空间的基
之前讲Gauss-Jordan消元法,可以求出一个可逆矩阵的逆,现在的矩阵不是方阵(可能是长方形),但是同样可以在它后面加一个单位阵,然后通过消元法求解矩阵的行最简:
[
A
m
×
n
I
m
×
n
]
⟶
[
R
m
×
n
E
m
×
n
]
\left[\begin{array}{ll} A_{m \times n} & I_{m \times n} \end{array}\right] \longrightarrow\left[\begin{array}{ll} R_{m \times n} & E_{m \times n} \end{array}\right]
[Am×nIm×n]⟶[Rm×nEm×n]
可见
E
A
=
R
EA=R
EA=R 。(当
A
A
A 为可逆方阵时,
R
=
I
,
E
=
A
−
1
R=I, E=A^{-1}
R=I,E=A−1 )。
E E E 把行变换的过程都记录下来了:根据 A A A 的行变换过程,对 I I I 进行相同的操作,可得到 E E E 。
Example 3:
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
E A=\left[\begin{array}{rrr} -1 & 2 & 0 \\ 1 & -1 & 0 \\ -1 & 0 & 1 \end{array}\right]\left[\begin{array}{llll} 1 & 2 & 3 & 1 \\ 1 & 1 & 2 & 1 \\ 1 & 2 & 3 & 1 \end{array}\right]=\left[\begin{array}{llll} 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 \end{array}\right]=R
EA=⎣⎡−11−12−10001⎦⎤⎣⎡111212323111⎦⎤=⎣⎡100010110100⎦⎤=R
矩阵
A
A
A 的秩为
2
2
2 ,则左零空间的维数是
m
−
r
=
3
−
2
=
1
m-r=3-2=1
m−r=3−2=1 ,即存在一种线性组合,使得矩阵
A
A
A 的各行的线性组合结果是零行,这个线性组合可以确定左零空间的基。该矩阵的左零空间的基只有一个向量,这个基就是矩阵
E
E
E 的最后一行,它对应的线性组合方式为:
−
1
-1
−1 倍的行一加上
1
1
1 倍的行三 等于
0
0
0 。
综上,求矩阵的左零空间,就是寻找一个产生零行向量的行组合;求矩阵的零空间,就是寻找一个产生零列向量的列组合。
3 New vector space
一种新的向量空间:All 3 × 3 3×3 3×3 matrices,称为 M M M .
可以把矩阵看作“向量”,因为它服从向量空间的运算律:满足相加、数乘、线性组合、有零矩阵以及向量空间的八条运算律。但是实际上矩阵还可以互乘,但是目前先不关心互乘,因为这对向量空间没有影响,因此我们此时忽略互乘这一特点,就当做向量来看。
M M M 的子空间包含:
-
所有的上三角矩阵(all upper triangular matrices);
-
所有的对称矩阵(all symmetric matrices);
-
两个子空间的交集同样是子空间,前两个子空间的交集为所有的对角阵( D D D , all diagonal matrices);
子空间 D D D 的维数为 3 3 3 ,如子空间 D D D 的一组基可以为:
[ 1 0 0 0 0 0 0 0 0 ] , [ 1 0 0 0 3 0 0 0 0 ] , [ 0 0 0 0 0 0 0 0 7 ] \left[\begin{array}{lll} 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{array}\right],\left[\begin{array}{lll} 1 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 0 \end{array}\right],\left[\begin{array}{lll} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 7 \end{array}\right] ⎣⎡100000000⎦⎤,⎣⎡100030000⎦⎤,⎣⎡000000007⎦⎤
他们可以生成对角矩阵空间。
这个新的向量空间就相当于把概念 R n \mathcal{R}^n Rn 扩展到 R n ∗ n \mathcal{R}^{n*n} Rn∗n ,但此时的空间仍对加法和数乘封闭。