线性代数拾遗(5) —— 矩阵的四个基本子空间
本文介绍矩阵的四个基本空间
- 参考:麻省理工线性代数
- 本文介绍矩阵的四个基本子空间 —— 列空间、行空间、零空间、左零空间
1. 线性空间(向量空间)、子空间
-
这部分内容国内线性代数课似乎不会深入讲,简单补充一下
- 给定一些元素构成集合,在集合上定义一些运算,再定义运算规则,我们就得到了一个
代数系统
数域
是一个代数系统,它的集合中都是各种数(实数、复数、无理数…),要求必须包含0和1,定义数的四则运算,且要求关于这些运算封闭- 在数域的基础上,再给定一些
元素
(向量、矩阵、函数…什么都行),定义加法
和数乘
两个运算,当两个运算满足封闭性和八条性质时,称为一个线性空间
- 线性空间中允许元素间线性表示,这样就有了
基
和坐标
向量的概念,而坐标向量是一个数组成的向量,因此线性空间中任意元素都可以一一对应到某个数的向量,所以线性空间也称为向量空间
- 线性空间/向量空间的基础上,增加一个元素的
內积
运算,定义相应的运算规则,得到內积空间
- 线性空间的元素的非空子集,满足加法和数乘运算的封闭性及八条性质,称为
线性子空间
(事实上只要满足封闭性,其他性质自动满足)
这部分内容详见
- 给定一些元素构成集合,在集合上定义一些运算,再定义运算规则,我们就得到了一个
2. 矩阵的四个基本子空间
- 给定秩为
r
r
r 的矩阵
A
m
×
n
\pmb{A}_{m\times n}
Am×n,本章介绍以下四个重要子空间
子空间 说明 向量尺寸 维数 求基 列空间 C ( A ) C(\pmb{A}) C(A) A m × n \pmb{A}_{m\times n} Am×n 所有列的线性组合构成 R m \mathbb{R}^m Rm r r r 列化阶梯型 行空间 C ( A ⊤ ) C(\pmb{A^\top}) C(A⊤) A m × n \pmb{A}_{m\times n} Am×n 所有行的线性组合构成 R n \mathbb{R}^n Rn r r r 行化阶梯型 零空间 N ( A ) N(\pmb{A}) N(A) A x = 0 \pmb{Ax}=\pmb{0} Ax=0 的解空间 R n \mathbb{R}^n Rn n − r n-r n−r 求基础解析 左零空间 N ( A ⊤ ) N(\pmb{A}^\top) N(A⊤) y ⊤ A = 0 ⊤ \pmb{y^\top A}=\pmb{0^\top} y⊤A=0⊤ 的解空间 R m \mathbb{R}^m Rm m − r m-r m−r 类似化阶梯型求逆
2.1 列空间
- 给定秩为 r r r 的矩阵 A m × n \pmb{A}_{m\times n} Am×n,列空间是由 A = [ a 1 , a 2 , . . . , a n ] \pmb{A} = [\pmb{a}_1,\pmb{a}_2,...,\pmb{a}_n] A=[a1,a2,...,an] 所有列向量的线性组合构成的空间,记为 C ( A ) = span ( a 1 , a 2 , . . . , a n ) C(\pmb{A}) = \text{span}(\pmb{a}_1,\pmb{a}_2,...,\pmb{a}_n) C(A)=span(a1,a2,...,an)
- 基本性质
- 尺寸:空间中所有元素尺寸同 A \pmb{A} A 列向量尺寸 m × 1 m\times 1 m×1,即 C ( A ) ∈ R m C(\pmb{A})\in\mathbb{R}^m C(A)∈Rm
- 维数:矩阵的秩定义为非零的子式(任取 k k k 行 k k k 列构成的行列式)的最大阶数,也就是最大的线性无关行列向量个数,因此矩阵列空间的维数和矩阵的秩相等,即 dim C ( A ) = r \dim C(\pmb{A}) = r dimC(A)=r
- 基:列空间的基,只要在所有列向量中找 r r r 个线性无关的就行了,注意到做列初等变换其实就是在对列做各种线性组合操作,变换后的矩阵列空间不变(当然,这时行空间就改变了),故可以通过列初等变换化竖直阶梯型的方式找出一组基
2.2 零空间
- 给定秩为 r r r 的矩阵 A m × n \pmb{A}_{m\times n} Am×n,零空间是由 A x = 0 \pmb{Ax}=\pmb{0} Ax=0 的所有解向量 x i \pmb{x}_i xi 的线性组合构成的空间,也就是这个 n n n 元齐次线性方程组的解空间,记为 N ( A ) N(\pmb{A}) N(A)
- 基本性质
- 尺寸:空间中所有元素尺寸同 A x = 0 \pmb{Ax}=\pmb{0} Ax=0 的解 x n × 1 \pmb{x}_{n\times 1} xn×1 的尺寸 n × 1 n\times 1 n×1,即 C ( A ) ∈ R n C(\pmb{A})\in\mathbb{R}^n C(A)∈Rn
- 维数:根据性质:n 元齐次线性方程组解空间的维数,加上此方程组系数矩阵的秩 r,等于未知量个数 n,有 dim N ( A ) = n − r \dim N(\pmb{A}) = n-r dimN(A)=n−r
- 基:就是求齐次线性方程组基础解系,做初等行变换化阶梯型来找通解
这里可以用张宇老师的方法,化阶梯形后,得到 A \pmb{A} A 的秩 r r r,然后得到零空间的维数 n − r n-r n−r,待定系数先写出基向量组形式,再把阶梯矩阵中每个阶梯划去一列,剩下的列的位置对应到基向量组上,在这个位置用单位阵填充,以保证各个基向量线性无关,最后带入有限方程解出其余系数
- 从几何角度,零空间可以理解为被矩阵 A \pmb{A} A 变化后压缩到原点的空间
2.3 行空间
- 给定秩为
r
r
r 的矩阵
A
m
×
n
\pmb{A}_{m\times n}
Am×n,行空间是由
A
=
[
a
1
⊤
,
a
2
⊤
,
.
.
.
,
a
m
⊤
]
⊤
\pmb{A} = [\pmb{a}_1^\top,\pmb{a}_2^\top,...,\pmb{a}_m^\top]^\top
A=[a1⊤,a2⊤,...,am⊤]⊤ 所有行向量的线性组合构成的空间,注意到这其实就是
A
⊤
\pmb{A^\top}
A⊤ 的列空间,所以直接记为
C ( A ⊤ ) = span ( a 1 ⊤ , a 2 ⊤ , . . . , a m ⊤ ) C(\pmb{A^\top}) = \text{span}(\pmb{a}_1^\top,\pmb{a}_2^\top,...,\pmb{a}_m^\top) C(A⊤)=span(a1⊤,a2⊤,...,am⊤) - 基本性质
- 尺寸:空间中所有元素尺寸同 A \pmb{A} A 行向量尺寸 n × 1 n\times 1 n×1,即 C ( A ) ∈ R n C(\pmb{A})\in\mathbb{R}^n C(A)∈Rn
- 维数:同2.1节分析,矩阵行空间维数和矩阵的秩相等,即 dim C ( A ⊤ ) = r \dim C(\pmb{A^\top}) = r dimC(A⊤)=r
- 基:同2.1节分析,通过行初等变换化阶梯型的方式找出一组基
2.4 左零空间
- 给定秩为 r r r 的矩阵 A m × n \pmb{A}_{m\times n} Am×n,左零空间是由 y ⊤ A = 0 ⊤ \pmb{y^\top A}=\pmb{0^\top} y⊤A=0⊤ 的所有解向量 y i ⊤ \pmb{y_i^\top} yi⊤的线性组合构成的空间。注意到这是个行向量空间,而我们通常统一用列向量来表示向量,因此对齐次线性方程两边取转置,得到 A ⊤ y = 0 \pmb{A^\top y}=\pmb{0} A⊤y=0,可见 A \pmb{A} A 的左零空间其实就是 A ⊤ \pmb{A^\top} A⊤ 的(列向量)的零空间,所以直接记为 N ( A ⊤ ) N(\pmb{A^\top}) N(A⊤)
- 基本性质
- 尺寸:空间中所有元素尺寸同 y ⊤ \pmb{y^\top} y⊤ 列向量尺寸 m × 1 m\times 1 m×1,即 C ( A ) ∈ R m C(\pmb{A})\in\mathbb{R}^m C(A)∈Rm
- 维数:矩阵的秩定义为非零的子式(任取 k k k 行 k k k 列构成的行列式)的最大阶数,也就是最大的线性无关行列向量个数,因此矩阵列空间的维数和矩阵的秩相等,即 dim C ( A ) = r \dim C(\pmb{A}) = r dimC(A)=r
- 基:这里求基时,我们使用类似化阶梯型求逆矩阵的方式,通过初等行变换进行以下操作
[ A m × n I m × m ] → [ R m × n K m × m ] \begin{bmatrix} \pmb{A}_{m\times n} & \pmb{I}_{m\times m} \end{bmatrix}\to \begin{bmatrix} \pmb{R}_{m\times n} & \pmb{K}_{m\times m} \end{bmatrix} [Am×nIm×m]→[Rm×nKm×m] 其中 I \pmb{I} I 是 m m m 阶单位阵。事实上,上面这个变换就是通过左乘 K m × m \pmb{K}_{m\times m} Km×m 来进行的,即
K m × m [ A m × n I m × m ] = [ R m × n K m × m ] \pmb{K}_{m\times m} \begin{bmatrix} \pmb{A}_{m\times n} & \pmb{I}_{m\times m} \end{bmatrix}= \begin{bmatrix} \pmb{R}_{m\times n} & \pmb{K}_{m\times m} \end{bmatrix} Km×m[Am×nIm×m]=[Rm×nKm×m] 可见有
K m × m A m × n = R m × n \pmb{K}_{m\times m} \pmb{A}_{m\times n} = \pmb{R}_{m\times n} Km×mAm×n=Rm×n 显然,令 R m × n = I m × n \pmb{R}_{m\times n} = \pmb{I}_{m\times n} Rm×n=Im×n,就有 A − 1 = K m × m \pmb{A}^{-1} = \pmb{K}_{m\times m} A−1=Km×m,这是我们都学过的求逆方法。现在假设我们使 R m × n \pmb{R}_{m\times n} Rm×n 变化为正规矩阵,即
R m × n = [ I r × r F r × n − r 0 m − r × r 0 m − r × n − r ] \pmb{R}_{m\times n} = \begin{bmatrix} &\pmb{I}_{r\times r} & \pmb{F}_{r\times n-r} \\ &\pmb{0}_{m-r\times r} &\pmb{0}_{m-r\times n-r} \end{bmatrix} Rm×n=[Ir×r0m−r×rFr×n−r0m−r×n−r] 左上角是 r r r 阶单位阵,右上角是任意矩阵,下面是全零行。这时再考虑
K m × m A m × n = R m × n \pmb{K}_{m\times m} \pmb{A}_{m\times n} = \pmb{R}_{m\times n} Km×mAm×n=Rm×n 记住我们要找左零空间,也就是要找 K m × m \pmb{K}_{m\times m} Km×m 中的那些右乘 A m × n \pmb{A}_{m\times n} Am×n 后变为零向量的行向量,注意到这些变换结果恰好记录在 R m × n \pmb{R}_{m\times n} Rm×n 对应的行向量中,因此,我们只要先求出 K m × m \pmb{K}_{m\times m} Km×m,再取其最下面 m − r m-r m−r 个行向量即得到 A \pmb{A} A 左零空间的一组基。至于 K m × m \pmb{K}_{m\times m} Km×m 的求法,只要记住将 A m × n \pmb{A}_{m\times n} Am×n 通过初等行变换化为 R m × n \pmb{R}_{m\times n} Rm×n 的过程,再对 I m × m \pmb{I}_{m\times m} Im×m 做相同操作即可
3. 子空间的正交关系
- 正交关系
- 两向量正交即两內积为0
- 一个向量空间和另一个向量空间正交,意味着一个空间中任意向量和另一空间中任意向量正交,即两组基正交
- 给定秩为
r
r
r 的矩阵
A
m
×
n
\pmb{A}_{m\times n}
Am×n,本章说明如下正交关系
- r r r 维行空间 C ( A ⊤ ) C(\pmb{A^\top}) C(A⊤) 和 n − r n-r n−r 维零空间 N ( A ) N(\pmb{A}) N(A) 正交,二者是 n n n 维空间的正交直和
- r r r 维列空间 C ( A ) C(\pmb{A}) C(A) 和 m − r m-r m−r 维左零空间 N ( A ⊤ ) N(\pmb{A^\top}) N(A⊤) 正交,二者是 m m m 维空间的正交直和
3.1 证明
- 先证明行空间
C
(
A
⊤
)
C(\pmb{A^\top})
C(A⊤) 和零空间
N
(
A
)
N(\pmb{A})
N(A) 正交:从零空间
N
(
A
)
N(\pmb{A})
N(A) 定义入手,它是
A
x
=
0
\pmb{Ax=0}
Ax=0 的解空间,即
[ a 1 ⊤ a 2 ⊤ ⋮ a m ⊤ ] x = [ 0 0 ⋮ 0 ] \begin{bmatrix} \pmb{a_1}^\top \\ \pmb{a_2}^\top \\ \vdots\\ \pmb{a_m}^\top \end{bmatrix} \pmb{x} = \begin{bmatrix} \pmb{0}\\ \pmb{0} \\ \vdots\\ \pmb{0} \end{bmatrix} a1⊤a2⊤⋮am⊤ x= 00⋮0 可见 A \pmb{A} A 中任意行向量 a i ⊤ \pmb{a_i}^\top ai⊤,和 N ( A ) N(\pmb{A}) N(A) 中任意列向量 x \pmb{x} x 做內积都为 0 \pmb{0} 0,显然两空间中任意向量的线性组合也正交,因此两空间正交 - 根据矩阵转置等价性质, C ( A ⊤ ) C(\pmb{A^\top}) C(A⊤) 和 N ( A ) N(\pmb{A}) N(A) 正交 ⇒ \Rightarrow ⇒ 列空间 C ( A ) C(\pmb{A}) C(A) 和左零空间 N ( A ⊤ ) N(\pmb{A^\top}) N(A⊤) 正交
- 再根据维度关系, C ( A ⊤ ) C(\pmb{A^\top}) C(A⊤) 和 N ( A ) N(\pmb{A}) N(A) 是 n n n 维空间的正交直和; C ( A ) C(\pmb{A}) C(A) 和 N ( A ⊤ ) N(\pmb{A^\top}) N(A⊤) 是 m m m 维空间的正交直和
3.2 小结
- 最后用一张图总结本文
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)