秩-零化度定理是线性代数中第一个基本定理,本文介绍的“矩阵基本子空间”,是第二定理。
定理2:矩阵基本子空间
对于 m × n m\times n m×n 的矩阵 A \pmb{A} A (仅讨论实数矩阵),用线性变换表示 A : R n → R m \pmb{A}:\mathbb{R}^n\to\mathbb{R}^m A:Rn→Rm,用如下符号表示不同空间:
- 列空间(column space): C ( A ) = { A x ∣ x ∈ R n } C(\pmb{A})=\{\pmb{Ax}|\pmb{x}\in\mathbb{R}^n\} C(A)={Ax∣x∈Rn} ,即矩阵的值域(range)。将矩阵用列向量的方式表示 A = [ a 1 ⋯ a n ] \pmb{A}=\begin{bmatrix}\pmb{a}_1&\cdots&\pmb{a}_n\end{bmatrix} A=[a1⋯an] ,其中 a j ∈ R m \pmb{a}_j\in\mathbb{R}^m aj∈Rm , C ( A ) C(\pmb{A}) C(A) 是列向量的线性组合。
- 零空间(nullspace): N ( A ) = { x ∈ R n ∣ A x = 0 } N(\pmb{A})=\{\pmb{x}\in\mathbb{R}^n|\pmb{Ax}=\pmb{0}\} N(A)={x∈Rn∣Ax=0}
- 行空间(row space):是转置矩阵 A T \pmb{A}^{\text{T}} AT 的列空间, C ( A T ) C(\pmb{A}^{\text{T}}) C(AT)
因为矩阵的行秩等于列秩,即 rank A = dim C ( A ) = dim C ( A T ) \text{rank}\pmb{A}=\dim C(\pmb{A})=\dim C(\pmb{A}^{\text{T}}) rankA=dimC(A)=dimC(AT) ,于是“秩—零化度定理”可以写成:
n = dim N ( A ) + dim C ( A T ) n = \dim N(\pmb{A}) + \dim C(\pmb{A}^{\text{T}}) n=dimN(A)+dimC(AT)
将原矩阵转置,即得:
m = dim N ( A T ) + dim C ( A ) m=\dim N(\pmb{A}^{\text{T}})+\dim C(\pmb{A}) m=dimN(AT)+dimC(A)
- 左零空间(left nullspace): N ( A T ) N(\pmb{A}^T) N(AT)
C ( A T ) , N ( A ) C(\pmb{A}^{\text{T}}),N(\pmb{A}) C(AT),N(A) 是 R n \mathbb{R}^n Rn 的子空间, C ( A ) , N ( A T ) C(\pmb{A}),N(\pmb{A}^{\text{T}}) C(A),N(AT) 是 R m \mathbb{R}^m Rm 的子空间。
秩—零化度定理已经说明了矩阵基本子空间的维数关系。
以上四个矩阵的基本子空间如下图所示:
在《机器学习数学基础》第 3 章 3.4 节“正交和投影”中,专门介绍了向量和向量空间的正交概念。此处就探讨矩阵的四个子空间的正交关系,这些关系就构成了线性代数的一个基本定理,即说明矩阵四个基本子空间的正交补的关系。
设 S \pmb{S} S 和 T \pmb{T} T 是向量空间 R p \mathbb{R}^p Rp 的两个子空间,若它们正交,记作 S ⊥ T \pmb{S}\bot\pmb{T} S⊥T 。
在向量空间 R p \mathbb{R}^p Rp 中所有与 S \pmb{S} S 正交的向量称为正交补(orthogonal complement),记作 S ⊥ \pmb{S}^{\bot} S⊥ 。
p = dim S + dim S ⊥ p=\dim{\pmb{S}} + \dim\pmb{S}^{\bot} p=dimS+dimS⊥ 且 S ∩ S ⊥ = { 0 } \pmb{S}\cap\pmb{S}^{\bot}=\{\pmb{0}\} S∩S⊥={0} 。
基本子空间的正交关系
-
N ( A ) = C ( A T ) ⊥ N(\pmb{A})=C(\pmb{A}^{\text{T}})^{\bot} N(A)=C(AT)⊥
-
N ( A T ) = C ( A ) ⊥ N(\pmb{A}^{\text{T}})=C(\pmb{A})^{\bot} N(AT)=C(A)⊥
下图显示了四个基本子空间之间的正交关系:
证明
由矩阵 A m × n \pmb{A}_{m\times n} Am×n 的零空间定义(参考文献 [4])可知:
A x = 0 ⟹ A x = [ A 的第 1 行 ( r o w 1 ) ⋮ A 的第 m 行 ( r o w m ) ] x = [ 0 ⋮ 0 ] \pmb{Ax}=0 \Longrightarrow \pmb{Ax}=\begin{bmatrix}A的第1行(row_1)\\\vdots\\A的第m行(row_m)\end{bmatrix}\pmb{x}=\begin{bmatrix}0\\\vdots\\0\end{bmatrix} Ax=0⟹Ax= A的第1行(row1)⋮A的第m行(rowm) x= 0⋮0
每个行向量与 x \pmb{x} x 的内积都是 0 0 0 ,所以 x \pmb{x} x 与所有行向量的线性组合正交,即 N ( A ) ⊥ C ( A T ) N(\pmb{A})\bot C(\pmb{A}^{\text{T}}) N(A)⊥C(AT) 。
又因为 n = dim N ( A ) + dim C ( A T ) n = \dim N(\pmb{A}) + \dim C(\pmb{A}^{\text{T}}) n=dimN(A)+dimC(AT) ,
所以: N ( A ) = C ( A T ) ⊥ N(\pmb{A})=C(\pmb{A}^{\text{T}})^{\bot} N(A)=C(AT)⊥
同样思路,对 A \pmb{A} A 转置,有:
A T y = [ A 的第 1 列 ( c o l 1 ) ⋮ A 的第 n 列 ( c o l n ) ] y = [ 0 ⋮ 0 ] \pmb{A}^{\text{T}}\pmb{y}=\begin{bmatrix}A的第1列(col_1)\\\vdots\\A的第n列(col_n)\end{bmatrix}\pmb{y}=\begin{bmatrix}0\\\vdots\\0\end{bmatrix} ATy= A的第1列(col1)⋮A的第n列(coln) y= 0⋮0
矩阵 A \pmb{A} A 的每个列向量都与 y \pmb{y} y 正交,即 N ( A T ) = C ( A ) ⊥ N(\pmb{A}^{\text{T}})=C(\pmb{A})^{\bot} N(AT)=C(A)⊥ 。
为什么称为左零空间?
A T y = 0 \pmb{A}^{\text{T}}\pmb{y}=0 ATy=0 ,左右都取转置, y T A = 0 T \pmb{y}^{\text{T}}\pmb{A}=\pmb{0}^{\text{T}} yTA=0T , y T \pmb{y}^{\text{T}} yT 位于 A \pmb{A} A 的左边,故称 N ( A T ) N(\pmb{A}^{\text{T}}) N(AT) 为左零空间。