本节是本课程的最后一讲. Prof Strang在这一讲主要讲了非方阵的逆. 大量的内容跟之前有关, 算是小小的复习吧.
方阵的逆
首先, 我们都知道如果一个方阵可逆, 那么
A
A
−
1
=
A
−
1
A
=
I
\bm{AA^{-1}}=\bm{A^{-1}A}=\bm{I}
AA−1=A−1A=I
下面我们祭出矩阵的4个space
可以看到, 如果方阵 A n × n \bm{A}_{n\times n} An×n 满秩, 矩阵的 null space N ( A ) N(\bm{A}) N(A) 和 left null space N ( A ⊤ ) N(\bm{A}^\top) N(A⊤) 都只有零向量. 此时, row space 中的任意vector x \bm{x} x 经过 A \bm{A} A 变换后得到 A x \bm{Ax} Ax 肯定在 A \bm{A} A 的 column space中. 由于矩阵可逆, 我们还可以还原这个过程 by A − 1 ( A x ) = x \bm{A}^{-1}(\bm{Ax})=\bm{x} A−1(Ax)=x. 换句话说, row space 中的向量和 column space中的向量是一一对应的 (注:这个结论对任意矩阵都成立,我们在最后一点讨论).
列满值矩阵的左逆
现在我们考虑一个列满秩的矩阵 A m × n \bm{A}_{m\times n} Am×n, n < m n< m n<m. 根据我们这门课之前学习的知识, 它有以下几点性质
- A \bm{A} A 的 null space 仅有 0 \bm{0} 0 向量, row space 占满整个 R n \mathbb{R}^n Rn.
- A x = b \bm{Ax=b} Ax=b 无解 或 有唯一解 (null space里没东西可以加到通解里去,就看存不存在特解).
这从下图中也很明了, null space没了
左逆: 我们还知道
A
⊤
A
\bm{A^\top A}
A⊤A 满秩, 因此我们可以定义
A
\bm{A}
A 的左逆为
A
−
1
=
(
A
⊤
A
)
−
1
A
⊤
\bm{A}^{-1}=(\bm{A^\top A})^{-1}\bm{A^\top}
A−1=(A⊤A)−1A⊤
此时, 如果row space里有一个 x \bm{x} x, 经过 A x \bm{Ax} Ax 得到column space 中的 vector 之后我们可以用左逆还原回去.
注意,左逆只能乘在左边才能变成单位阵,如果乘在右边,
A
A
−
1
=
A
(
A
⊤
A
)
−
1
A
⊤
\bm{AA}^{-1}=\bm{A}(\bm{A^\top A})^{-1}\bm{A^\top}
AA−1=A(A⊤A)−1A⊤
这就成了一个投影矩阵, 他的作用是把任意向量投影到 A \bm{A} A 的 column space中去.
行满值矩阵的右逆
好,紧接着我们考虑行满秩的矩阵 A m × n \bm{A}_{m\times n} Am×n, n > m n > m n>m. 根据之前学习的知识, 它有以下几点性质
- A \bm{A} A 列秩是 m m m, 所以 column space 的dimension 是 m m m 占满了整个空间, 从而导致 left null space 只有零向量.
- 另一方面, free variables 个数 是 n − m n-m n−m, 所以 null space 的 dimension 也是 n − m n-m n−m.
- A x = b \bm{Ax=b} Ax=b 有无穷解 (null space里总有东西可以加到通解里去,特解一定存在因为有free variables).
同样的, 下图对应着这些结论
右逆: 同样的
A
A
⊤
\bm{A A^\top}
AA⊤ 满秩, 因此我们可以定义
A
\bm{A}
A 的右逆为
A
−
1
=
A
⊤
(
A
A
⊤
)
−
1
\bm{A}^{-1}=\bm{A^\top}(\bm{A A^\top})^{-1}
A−1=A⊤(AA⊤)−1
但是此时 A x \bm{Ax} Ax 无法还原. 只能还原 x A \bm{xA} xA.
如果我们把右逆乘在左边
A
−
1
A
=
A
⊤
(
A
A
⊤
)
−
1
A
\bm{A}^{-1}\bm{A}=\bm{A^\top}(\bm{A A^\top})^{-1}\bm{A}
A−1A=A⊤(AA⊤)−1A
这仍然是投影矩阵 ( A = A ⊤ \bm{A}=\bm{A}^\top A=A⊤), 他的作用是把任意向量投影到 A \bm{A} A 的 row space中去.
General case
我们考虑行列都不满秩的情况 A m × n \bm{A}_{m\times n} Am×n, rank ( A ) = r < min { m , n } \text{rank}(\bm{A})=r<\min\{m,n\} rank(A)=r<min{m,n}
可以看到, 此时 null space 和 left null space 里面都有非零向量.
- 对于null space里面的 vector A x = 0 \bm{Ax=0} Ax=0, 永远不可能有一个 inverse 从 0 \bm{0} 0 把 x \bm{x} x 还原出来. 因此, 左逆是肯定不存在了.
- 对于left null space里面的 vector x A = 0 \bm{xA=0} xA=0, 永远不可能有一个 inverse 从 0 \bm{0} 0 把 x \bm{x} x 还原出来. 因此, 右逆也不存在.
因此, 对于一个任意的矩阵, 我们只能设计一个逆矩阵尽可能的还原出 x \bm{x} x (只能还原row space 的部分, null space的部分无法还原). 对于这种general的情况,我们称这个逆为 伪逆 (pseudo inverse).
Theorem: 任意矩阵 row space ( R n \mathbb{R}^n Rn) 中的向量与 column space ( R n \mathbb{R}^n Rn) 中的向量一一对应, 这种对应关系由 x ′ = A x \bm{x'}=\bm{Ax} x′=Ax 给出, 其中 x ∈ C ( A ⊤ ) \bm{x}\in C(\bm{A}^\top) x∈C(A⊤), x ′ ∈ C ( A ) \bm{x'}\in C(\bm{A}) x′∈C(A).
其实这个定理可以extend到如下情况, 对于任意一个 R n \mathbb{R}^n Rn 中的向量 x \bm{x} x
- 它属于 A \bm{A} A 的 row space → \to → 此时适用于定理内容, A x \bm{Ax} Ax 进入 column space.
- 它属于 A \bm{A} A 的 null space → \to → 此时 A x = 0 \bm{Ax=0} Ax=0.
- 它可以由 A \bm{A} A 的 row space 和 null space 的基线性组合得到 → \to → 此时null space的部分被消成0, 只剩下 x \bm{x} x 在row space的投影部分, 仍进入 column space.
Proof. 下面我们来proof 定理内容. 反证法.
假设 存在
x
,
y
∈
C
(
A
⊤
)
\bm{x,y} \in C(\bm{A}^\top)
x,y∈C(A⊤),
x
≠
y
\bm{x}\neq\bm{y}
x=y,
A
x
=
A
y
\bm{Ax=Ay}
Ax=Ay, 则有
A
(
x
−
y
)
=
0
\bm{A(x-y)}=0
A(x−y)=0
说明 x − y ∈ N ( A ) \bm{x-y}\in N(\bm{A}) x−y∈N(A) or x = y \bm{x=y} x=y. 前者不可能因为 x , y ∈ C ( A ⊤ ) \bm{x,y}\in C(\bm{A}^\top) x,y∈C(A⊤) (所以线性组合也在row space中); 后者与假设矛盾.
因此 A x ≠ A y \bm{Ax}\neq \bm{Ay} Ax=Ay.
上述定理说明了, column space 中的向量可以通过
A
x
\bm{Ax}
Ax 进入 column space, 由于是一一对应,我们其实可以把
A
x
\bm{Ax}
Ax 还原成
x
\bm{x}
x by
x
=
A
+
(
A
x
)
\bm{x}=\bm{A}^+(\bm{Ax})
x=A+(Ax)
其中 A + \bm{A}^+ A+ 便是伪逆 (pseudo inverse). 对于任意一个向量 x ∈ R n \bm{x}\in\mathbb{R}^n x∈Rn, A x \bm{Ax} Ax 的过程中 A \bm{A} A 消灭了 x \bm{x} x 在 N ( A ) N(\bm{A}) N(A) 中的部分. 对于任意向量 x ′ ∈ R m \bm{x'}\in\mathbb{R}^m x′∈Rm, A + x ′ \bm{A^+x'} A+x′ 的过程中 A + \bm{A}^+ A+ 消灭了 x ′ \bm{x'} x′ 在 N ( A ⊤ ) N(\bm{A}^\top) N(A⊤) 中的部分.
实际上 A + \bm{A}^+ A+ 的作用并不是把 A \bm{A} A 转换成单位阵,他只是把 A \bm{A} A 投影到 column space (右乘) 或 row space (左乘) 上, 消除掉 null space and left null space.
How to find A + \bm{A}^+ A+
我们从 SVD 开始
A
=
U
Σ
V
⊤
\bm{A}=\bm{U}\Sigma \bm{V}^\top
A=UΣV⊤
如果我们能找到
Σ
\Sigma
Σ 的 伪逆
Σ
+
\Sigma^+
Σ+, 那么
A
\bm{A}
A 的伪逆就可以写为
A
+
=
V
Σ
+
U
⊤
\bm{A}^+=V\Sigma^+U^\top
A+=VΣ+U⊤
而
Σ
\Sigma
Σ 和
Σ
+
\Sigma^+
Σ+ are given by
其中 σ i > 0 \sigma_i>0 σi>0