Lecture 33: Left and Right Inverses; Pseudoinverse
目录 · ← l29 · appendix →
Lecture 33: Left and Right Inverses; Pseudoinverse
概述
我们已经知道:可逆矩阵有两侧的逆 $A^{-1}$,但长方形矩阵永远不可能有真正的逆。本讲要回答:长方形矩阵在什么意义上”可求逆”? 答案是分两半:高瘦矩阵有左逆($LA=I_n$,把像还原回原像),矮胖矩阵有右逆($AR=I_m$,给欠定方程挑一个解)。而伪逆 $A^{+}$ 把两种情况统一起来——它由 SVD 定义为 $A^{+}=V\Sigma^{+}U^{\mathsf T}$,当 $A$ 可逆时它就是 $A^{-1}$,当 $A$ 奇异时它给出最小范数最小二乘解 $A^{+}\mathbf{b}$。本讲还会展示:$AA^{+}$ 与 $A^{+}A$ 是两个投影矩阵,分别投影到 $C(A)$ 与 $C(A^{\mathsf T})$——把讲次 30 的投影语言与讲次 29 的 SVD 语言组装在一起。
核心概念的几何直觉
左逆(left inverse)——高瘦矩阵,$m>n$,列线性无关
定义与目的:设 $A$ 是 $m\times n$ 且 $m>n$,$\operatorname{rank}A=n$(满列秩)。则 $A^{\mathsf T}A$ 是 $n\times n$ 且可逆(因为 $N(A^{\mathsf T}A)=N(A)=\{\mathbf{0}\}$),定义 \(L=(A^{\mathsf T}A)^{-1}A^{\mathsf T}\quad(n\times m),\qquad LA=I_n.\) 但 $AL\neq I_m$。目的:如果 $A\mathbf{x}=\mathbf{b}$ 有解(即 $\mathbf{b}\in C(A)$),那么解唯一且就是 $\mathbf{x}=L\mathbf{b}$。
几何直觉(它在空间中是什么样子?):$A$ 是单射(不同 $\mathbf{x}$ 给出不同 $\mathbf{b}$,因为零空间只有 $\mathbf{0}$),所以从输入空间 $\mathbb{R}^n$ 到像空间 $C(A)$ 的映射是一一对应。$L$ 就是把这个一一对应反过来:它先做投影到 $C(A)$(这一步由 $A(A^{\mathsf T}A)^{-1}A^{\mathsf T}$ 完成),再逆映射回 $\mathbb{R}^n$。所以 \(LA=I_n,\qquad AL=\underbrace{A(A^{\mathsf T}A)^{-1}A^{\mathsf T}}_{P=\text{proj onto }C(A)}\neq I_m.\) $AL$ 不是恒等,它是投影:它把 $\mathbb{R}^m$ 中不在 $C(A)$ 里的分量直接扔掉。这就是”左逆只能还原真正的像,不能还原被丢掉的垂直分量”。
具体示例:$A=\begin{bmatrix}1&0\\0&1\\1&1\end{bmatrix}$($3\times2$,两列 $(1,0,1)^{\mathsf T},(0,1,1)^{\mathsf T}$ 线性无关)。 \(A^{\mathsf T}A=\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}\begin{bmatrix}1&0\\0&1\\1&1\end{bmatrix}=\begin{bmatrix}2&1\\1&2\end{bmatrix},\qquad \det(A^{\mathsf T}A)=3\neq0.\) \((A^{\mathsf T}A)^{-1}=\frac13\begin{bmatrix}2&-1\\-1&2\end{bmatrix},\qquad L=(A^{\mathsf T}A)^{-1}A^{\mathsf T}=\frac13\begin{bmatrix}2&-1&1\\-1&2&1\end{bmatrix}.\) 验算 $LA=I_2$(脚本已通过): \(LA=\frac13\begin{bmatrix}2&-1&1\\-1&2&1\end{bmatrix}\begin{bmatrix}1&0\\0&1\\1&1\end{bmatrix}=\frac13\begin{bmatrix}2-0+1&0-1+1\\-1+0+1&0+2+1\end{bmatrix}=\frac13\begin{bmatrix}3&0\\0&3\end{bmatrix}=I_2.\ \checkmark\)
右逆(right inverse)——矮胖矩阵,$m<n$,行线性无关
定义与目的:设 $A$ 是 $m\times n$ 且 $m<n$,$\operatorname{rank}A=m$(满行秩)。则 $AA^{\mathsf T}$ 是 $m\times m$ 且可逆,定义 \(R=A^{\mathsf T}(AA^{\mathsf T})^{-1}\quad(n\times m),\qquad AR=I_m.\) 但 $RA\neq I_n$。目的:$A\mathbf{x}=\mathbf{b}$ 总有解(因为 $C(A)=\mathbb{R}^m$,行满秩意味着像铺满整个输出空间),但解不唯一(零空间维数 $n-m>0$)。$R\mathbf{b}$ 挑出其中长度最小的那个解。
几何直觉(它在空间中是什么样子?):$A$ 是满射,所以 $\mathbb{R}^m$ 中每个 $\mathbf{b}$ 都有原像。原像构成一个仿射集 $\mathbf{x}_p+N(A)$($n-m$ 维的”平行板”)。$R$ 的作用是:从这整块平行板中挑出离原点最近的那一点,即垂直落点。因此 \(AR=I_m,\qquad RA=\underbrace{A^{\mathsf T}(AA^{\mathsf T})^{-1}A}_{P=\text{proj onto }C(A^{\mathsf T})}\neq I_n.\) $RA$ 是投影到行空间 $C(A^{\mathsf T})$ 的矩阵——它把 $\mathbf{x}$ 投影到行空间上,而零空间分量被清零。
具体示例:$A=\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}$($2\times3$,两行线性无关)。 \(AA^{\mathsf T}=\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}\begin{bmatrix}1&0\\0&1\\1&1\end{bmatrix}=\begin{bmatrix}2&1\\1&2\end{bmatrix},\qquad (AA^{\mathsf T})^{-1}=\frac13\begin{bmatrix}2&-1\\-1&2\end{bmatrix},\) \(R=A^{\mathsf T}(AA^{\mathsf T})^{-1}=\frac13\begin{bmatrix}2&-1\\-1&2\\1&1\end{bmatrix}.\) 验算 $AR=I_2$(脚本已通过): \(AR=\frac13\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}\begin{bmatrix}2&-1\\-1&2\\1&1\end{bmatrix}=\frac13\begin{bmatrix}2+0+1&-1+0+1\\0-1+1&0+2+1\end{bmatrix}=\frac13\begin{bmatrix}3&0\\0&3\end{bmatrix}=I_2.\ \checkmark\)
方阵的情形与”只有方阵才可能两侧都有逆”
- 若 $A$ 是 $n\times n$ 且可逆:$(A^{\mathsf T}A)^{-1}A^{\mathsf T}=A^{-1}A^{-\mathsf T}A^{\mathsf T}=A^{-1}$,同样 $A^{\mathsf T}(AA^{\mathsf T})^{-1}=A^{-1}$。左逆 = 右逆 = 逆。
- 若 $A$ 是 $n\times n$ 但奇异:$A^{\mathsf T}A$ 与 $AA^{\mathsf T}$ 都不可逆,两边公式都失效。这时不存在任何一侧的逆(无论左还是右)。例:$A=\begin{bmatrix}1&1\\1&1\end{bmatrix}$,零空间非平凡,无法有左逆($LA=I$ 意味着 $L$ 能区分 $(1,-1)$ 与 $\mathbf{0}$,但 $A$ 把两者都送到 $\mathbf{0}$)。
- 定理(本讲最重要的”不可能性”):若 $m\neq n$,则 $A$ 不可能同时有左逆与右逆。 证明:若 $LA=I_n$ 且 $AR=I_m$,则 $L=L(AR)=(LA)R=R$。设 $L=R=B$,则 $BA=I_n$ 且 $AB=I_m$。但 $AB=I_m$ 意味着 $\operatorname{rank}A\ge m$,$BA=I_n$ 意味着 $\operatorname{rank}A\ge n$;两者与 $m\neq n$ 时 $\operatorname{rank}A\le\min(m,n)<\max(m,n)$ 矛盾。(更简单的论证:$AB=I_m$ 意味着 $A$ 是满射 $\Rightarrow m\le n$;$BA=I_n$ 意味着 $A$ 是单射 $\Rightarrow n\le m$;合起来 $m=n$。)
- 长方形矩阵只能有”一侧”的逆,这个不对称正是伪逆要修补的地方。
伪逆(pseudoinverse)$A^{+}=V\Sigma^{+}U^{\mathsf T}$
定义与目的:设 $A=U\Sigma V^{\mathsf T}$ 是 SVD(讲次 29)。$\Sigma$ 是 $m\times n$ 的对角矩阵,非零对角元 $\sigma_1\ge\cdots\ge\sigma_r>0$($r=\operatorname{rank}A$),其余为零。定义 $\Sigma^{+}$ 为 $n\times m$ 矩阵:把每个非零 $\sigma_i$ 换成 $1/\sigma_i$,并把矩阵转置(行列互换)。于是 \(\boxed{A^{+}=V\,\Sigma^{+}\,U^{\mathsf T}\quad (n\times m).}\) 当 $A$ 可逆时,$r=m=n$,$\Sigma^{+}=\Sigma^{-1}$,于是 $A^{+}=V\Sigma^{-1}U^{\mathsf T}=A^{-1}$。伪逆是逆的推广。
几何直觉(它在空间中是什么样子?):SVD 把 $A$ 拆成”换基 → 沿正交方向缩放 → 换基”。逆操作就该是”换回来 → 沿同方向除以 $\sigma_i$ → 换回来”。但问题是:某些方向被 $A$ 压成了零(那些 $\sigma_i=0$ 的方向),它们的信息已经永久丢失,无法真正还原。伪逆的处理办法非常聪明:对这些零方向,直接送 0,绝不试图除以 0。 用图看最高效:
A 的作用(SVD 的两组正交基)
┌──────────────────────────────────────────────────────────────┐
│ 输入空间 R^n 输出空间 R^m │
│ │
│ v1 ──(×σ1)──► σ1 u1 u1 │
│ v2 ──(×σ2)──► σ2 u2 u2 │
│ ... (r 个非零奇异值方向:满秩部分) │
│ v_{r+1} ──(×0)──► 0 │
│ ... (n-r 个方向被压成 0) │
│ v_n ──(×0)──► 0 │
└──────────────────────────────────────────────────────────────┘
A⁺ 的作用:沿着同样的方向走回去,但除以 σᵢ,零方向送回 0
┌──────────────────────────────────────────────────────────────┐
│ u1 ──(÷σ1)──► v1 (σ1 ≠ 0:可以精确还原) │
│ u2 ──(÷σ2)──► v2 │
│ ... │
│ 输出空间中垂直于 C(A) 的方向 ──► 0 ("无解方向"送 0) │
│ v_{r+1},...,v_n(被 A 杀掉的方向)──► 无处可去,A⁺ 不含它们 │
└──────────────────────────────────────────────────────────────┘
Σ⁺ 的形状:把 m×n 的 Σ 转置成 n×m,非零元取倒数
Σ = ⎡σ1 0 0⎤ Σ⁺ = ⎡1/σ1 0 ⎤
⎢0 σ2 0⎥ ⎢ 0 1/σ2 ⎥
⎣0 0 0⎦ (3×3) ⎢ 0 0 ⎥ (3×3)
⎣ 0 0 ⎦
零行/零列 ↔ 被丢弃的方向:绝不除零,直接补零
- 具体示例(预告,见下面完整手算):$A=\begin{bmatrix}3&0\\4&5\end{bmatrix}$ 可逆,$A^{+}=A^{-1}=\frac{1}{15}\begin{bmatrix}5&0\\-4&3\end{bmatrix}$;$A=\begin{bmatrix}1&1\\0&0\end{bmatrix}$ 奇异,$A^{+}=\frac12\begin{bmatrix}1&0\\1&0\end{bmatrix}$。
闵可夫斯基—彭罗斯条件(Moore–Penrose conditions)——伪逆的”公理化”定义
定义与目的:$A^{+}$ 是唯一满足以下四条条件的 $n\times m$ 矩阵: \((1)\ AA^{+}A=A,\qquad (2)\ A^{+}AA^{+}=A^{+},\qquad (3)\ (AA^{+})^{\mathsf T}=AA^{+},\qquad (4)\ (A^{+}A)^{\mathsf T}=A^{+}A.\) 目的:这四条把”$A^{+}$ 是 $A$ 的最好替身”这个模糊愿望翻译成精确方程。(1)(2)说 $A^{+}$ 在秩空间上互为逆;(3)(4)说两个投影是正交投影(讲次 14–17)。
几何直觉(它在空间中是什么样子?):(1) 只在实际上”有内容”的方向上要求还原;(2) 保证不引入多余成分;(3)(4) 保证”丢弃”的方式是垂直丢弃(最短距离),而不是斜着丢。
四条条件的第一条最直观:$AA^{+}A=A$ 说明”$A^{+}$ 在 $A$ 的像上是 $A$ 的真逆”。第三条说 $AA^{+}$ 对称——正是讲次 30 讲的正交投影矩阵判据。
具体示例:$A=\begin{bmatrix}1&1\\0&0\end{bmatrix}$,$A^{+}=\frac12\begin{bmatrix}1&0\\1&0\end{bmatrix}$。 \(AA^{+}=\begin{bmatrix}1&0\\0&0\end{bmatrix},\qquad A^{+}A=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}.\) 两者都对称、都幂等(脚本验算通过)。$AA^{+}$ 投影到 $C(A)=\operatorname{span}\{(1,0)\}$($x$ 轴);$A^{+}A$ 投影到 $C(A^{\mathsf T})=\operatorname{span}\{(1,1)\}$(直线 $y=x$)。
伪逆给出的最小范数最小二乘解
- 定义与目的: \(\hat{\mathbf{x}}=A^{+}\mathbf{b}\) 给出 $\vert A\mathbf{x}-\mathbf{b}\vert $ 的最小化者中 $\vert \mathbf{x}\vert $ 最小的那一个。
- 若 $A$ 列满秩($m\ge n$,$\operatorname{rank}=n$):最小二乘解唯一,$A^{+}\mathbf{b}=(A^{\mathsf T}A)^{-1}A^{\mathsf T}\mathbf{b}$,就是讲次 16 的正规方程解。
- 若 $A$ 列相关($\operatorname{rank}<n$):最小二乘解有无穷多个(都在一个仿射集里),$A^{+}\mathbf{b}$ 选出范数最小的那个。
- 若 $A$ 行满秩且 $m<n$:$\mathbf{b}$ 在 $C(A)$ 里,$A^{+}\mathbf{b}$ 是唯一的最小范数精确解。
- 几何直觉(它在空间中是什么样子?):把 $\mathbb{R}^n$ 分成两块:行空间 $C(A^{\mathsf T})$ 与零空间 $N(A)$。所有最小二乘解构成一个”平行于零空间的板”$\hat{\mathbf{x}}+N(A)$。板内各点差别只在零空间方向,而零空间方向不影响 $A\mathbf{x}$(误差不变),却增加 $\vert \mathbf{x}\vert $。所以最短的那个点必然垂直于零空间,即落在行空间里。伪逆正是干这件事: \(\hat{\mathbf{x}}=A^{+}\mathbf{b}\in C(A^{\mathsf T}),\qquad \hat{\mathbf{x}}\perp N(A).\)
最小二乘解集 = x̂ + N(A) (平行于零空间的"板")
┌───────────────────────────────────────────────────────┐
│ N(A) 方向(不影响 Ax,只会加长 ‖x‖) │
│ ▲ │
│ │ │
│ ─────────┼───────────────────────► C(Aᵀ) 方向 │
│ │ ● x̂ = A⁺b │
│ │ ╱ ← 唯一的、垂直于 N(A) 的点 │
│ │ ╱ 即最短的那个最小二乘解 │
│ 板内其它点都比 x̂ 长:‖x̂ + n‖² = ‖x̂‖² + ‖n‖² │
└───────────────────────────────────────────────────────┘
勾股定理:因为 x̂ ⊥ n,"多走的零空间步子"完全独立地加长长度
计算步骤与手算演示
示例 1(主戏):对 $A=\begin{bmatrix}3&0\\4&5\end{bmatrix}$ 手算 SVD,再构造 $A^{+}=V\Sigma^{+}U^{\mathsf T}$
步骤 1:写出 $A$ 与 $A^{\mathsf T}A$。 \(A=\begin{bmatrix}3&0\\4&5\end{bmatrix},\qquad A^{\mathsf T}=\begin{bmatrix}3&4\\0&5\end{bmatrix},\qquad A^{\mathsf T}A=\begin{bmatrix}3&4\\0&5\end{bmatrix}\begin{bmatrix}3&0\\4&5\end{bmatrix}=\begin{bmatrix}9+16&0+20\\0+20&0+25\end{bmatrix}=\begin{bmatrix}25&20\\20&25\end{bmatrix}.\) (逐项:第 1 行第 1 列 $=A^{\mathsf T}$ 第 1 行 $\cdot$ $A$ 第 1 列 $=(3,4)\cdot(3,4)=9+16=25$,其余同理。)
步骤 2:求 $A^{\mathsf T}A$ 的特征值与特征向量。 $\operatorname{tr}=50$,$\det=25\cdot25-20\cdot20=625-400=225$。特征方程 \(\lambda^2-50\lambda+225=0\ \Longrightarrow\ \lambda=\frac{50\pm\sqrt{2500-900}}{2}=\frac{50\pm40}{2}\ \Longrightarrow\ \lambda_1=45,\ \lambda_2=5.\) (脚本核验:$\operatorname{tr}=50$,$\det=225$,$\operatorname{tr}^2-4\det=2500-900=1600$,$\sqrt{1600}=40$,$\lambda=(50\pm40)/2=45,5$ ✓。)
步骤 3:求奇异值。 $\sigma_i=\sqrt{\lambda_i}$: \(\sigma_1=\sqrt{45}=3\sqrt5\approx6.7082039325,\qquad \sigma_2=\sqrt5\approx2.2360679775.\)
步骤 4:求右奇异向量 $V$($A^{\mathsf T}A$ 的单位特征向量)。 对 $\lambda_1=45$:$A^{\mathsf T}A-45I=\begin{bmatrix}-20&20\\20&-20\end{bmatrix}$,方程 $-20x+20y=0$ 即 $x=y$,取 $\mathbf{v}_1=\frac{1}{\sqrt2}\begin{bmatrix}1\\1\end{bmatrix}$。 对 $\lambda_2=5$:$A^{\mathsf T}A-5I=\begin{bmatrix}20&20\\20&20\end{bmatrix}$,方程 $x+y=0$,取 $\mathbf{v}_2=\frac{1}{\sqrt2}\begin{bmatrix}1\\-1\end{bmatrix}$。 核验(脚本通过): \(A^{\mathsf T}A\mathbf{v}_1=\begin{bmatrix}25&20\\20&25\end{bmatrix}\frac{1}{\sqrt2}\begin{bmatrix}1\\1\end{bmatrix}=\frac{1}{\sqrt2}\begin{bmatrix}45\\45\end{bmatrix}=45\mathbf{v}_1\ \checkmark,\qquad A^{\mathsf T}A\mathbf{v}_2=\frac{1}{\sqrt2}\begin{bmatrix}5\\-5\end{bmatrix}=5\mathbf{v}_2\ \checkmark.\) \(V=\begin{bmatrix}\mathbf{v}_1&\mathbf{v}_2\end{bmatrix}=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}=\begin{bmatrix}0.70710678&0.70710678\\0.70710678&-0.70710678\end{bmatrix}.\)
步骤 5:求左奇异向量 $U$。 用 $\mathbf{u}_i=\frac{1}{\sigma_i}A\mathbf{v}_i$: \(A\mathbf{v}_1=\frac{1}{\sqrt2}\begin{bmatrix}3&0\\4&5\end{bmatrix}\begin{bmatrix}1\\1\end{bmatrix}=\frac{1}{\sqrt2}\begin{bmatrix}3\\9\end{bmatrix}=\begin{bmatrix}2.12132034\\6.36396103\end{bmatrix},\qquad \vert A\mathbf{v}_1\vert =6.70820393=\sigma_1\ \checkmark,\) \(\mathbf{u}_1=\frac{A\mathbf{v}_1}{\sigma_1}=\frac{1}{3\sqrt5}\cdot\frac{1}{\sqrt2}\begin{bmatrix}3\\9\end{bmatrix}=\frac{1}{\sqrt{10}}\begin{bmatrix}1\\3\end{bmatrix}=\begin{bmatrix}0.31622777\\0.94868330\end{bmatrix}.\) (易错点:这里最容易把 $\mathbf{u}_1$ 与 $\mathbf{u}_2$ 的分量顺序写颠倒,误得 $\mathbf{u}_1=\frac{1}{\sqrt{10}}(3,1)^{\mathsf T}$。自检方法:$\mathbf{u}_1$ 必须与 $\mathbf{u}_2=\frac{1}{\sqrt{10}}(3,-1)^{\mathsf T}$ 正交,而 $(3,1)\cdot(3,-1)=9-1=8\neq0$,错误会立刻暴露。正确结果是 $\frac{1}{\sqrt{10}}(1,3)^{\mathsf T}$——此时 $(1,3)\cdot(3,-1)=3-3=0$ ✓。) \(A\mathbf{v}_2=\frac{1}{\sqrt2}\begin{bmatrix}3&0\\4&5\end{bmatrix}\begin{bmatrix}1\\-1\end{bmatrix}=\frac{1}{\sqrt2}\begin{bmatrix}3\\-1\end{bmatrix}=\begin{bmatrix}2.12132034\\-0.70710678\end{bmatrix},\qquad \vert A\mathbf{v}_2\vert =2.23606798=\sigma_2\ \checkmark,\) \(\mathbf{u}_2=\frac{A\mathbf{v}_2}{\sigma_2}=\frac{1}{\sqrt5}\cdot\frac{1}{\sqrt2}\begin{bmatrix}3\\-1\end{bmatrix}=\frac{1}{\sqrt{10}}\begin{bmatrix}3\\-1\end{bmatrix}=\begin{bmatrix}0.94868330\\-0.31622777\end{bmatrix}.\) (这一步用的是同一个转置关系:$\mathbf{u}_i$ 与 $\mathbf{v}_i$ 都把”较大的”分量放在第 1 项,所以顺序才对得上。) \(U=\begin{bmatrix}\mathbf{u}_1&\mathbf{u}_2\end{bmatrix}=\begin{bmatrix}0.31622777&0.94868330\\0.94868330&-0.31622777\end{bmatrix},\qquad U^{\mathsf T}U=I_2\ \checkmark\ (\text{脚本通过}).\)
步骤 6:核验 $A=U\Sigma V^{\mathsf T}$。 $\Sigma=\begin{bmatrix}3\sqrt5&0\\0&\sqrt5\end{bmatrix}$,脚本验算 $U\Sigma V^{\mathsf T}=A$ ✓。
步骤 7:构造 $\Sigma^{+}$(注意”取倒数”+”转置”)。 $A$ 可逆($\det=15\neq0$),$r=2=m=n$,所以 \(\Sigma^{+}=\begin{bmatrix}1/\sigma_1&0\\0&1/\sigma_2\end{bmatrix}=\begin{bmatrix}\frac{1}{3\sqrt5}&0\\0&\frac{1}{\sqrt5}\end{bmatrix}=\begin{bmatrix}0.14907120&0\\0&0.44721360\end{bmatrix}.\) (这里 $m=n$,”转置”不改变形状;长方形时才看得出转置。)
步骤 8:算 $A^{+}=V\Sigma^{+}U^{\mathsf T}$。 逐步: \(\Sigma^{+}U^{\mathsf T}=\begin{bmatrix}\frac{1}{3\sqrt5}&0\\0&\frac{1}{\sqrt5}\end{bmatrix}\begin{bmatrix}\frac{1}{\sqrt{10}}&\frac{3}{\sqrt{10}}\\ \frac{3}{\sqrt{10}}&-\frac{1}{\sqrt{10}}\end{bmatrix} =\begin{bmatrix}\frac{1}{3\sqrt{50}}&\frac{3}{3\sqrt{50}}\\ \frac{3}{\sqrt{50}}&-\frac{1}{\sqrt{50}}\end{bmatrix} =\begin{bmatrix}\frac{1}{3\cdot5\sqrt2}&\frac{1}{5\sqrt2}\\ \frac{3}{5\sqrt2}&-\frac{1}{5\sqrt2}\end{bmatrix},\) \(A^{+}=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}\begin{bmatrix}\frac{1}{15\sqrt2}&\frac{1}{5\sqrt2}\\ \frac{3}{5\sqrt2}&-\frac{1}{5\sqrt2}\end{bmatrix} =\frac{1}{\sqrt2\cdot 5\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}\begin{bmatrix}\frac13&1\\3&-1\end{bmatrix} =\frac{1}{10}\begin{bmatrix}\frac13+3&1-1\\ \frac13-3&1+1\end{bmatrix} =\frac{1}{10}\begin{bmatrix}\frac{10}{3}&0\\-\frac{8}{3}&2\end{bmatrix}.\) \(A^{+}=\begin{bmatrix}\frac{1}{3}&0\\-\frac{4}{15}&\frac{1}{5}\end{bmatrix}=\begin{bmatrix}0.33333333&0\\-0.26666667&0.2\end{bmatrix}.\)
步骤 9:与 $A^{-1}$ 对比。 $\det A=3\cdot5-0\cdot4=15$, \(A^{-1}=\frac{1}{15}\begin{bmatrix}5&0\\-4&3\end{bmatrix}=\begin{bmatrix}\frac13&0\\-\frac{4}{15}&\frac15\end{bmatrix}.\) 完全相同 ✓(脚本验算 $A^{+}=A^{-1}$ 通过)。
步骤 10:验证 $A^{+}A=AA^{+}=I$。 \(A^{+}A=\begin{bmatrix}\frac13&0\\-\frac{4}{15}&\frac15\end{bmatrix}\begin{bmatrix}3&0\\4&5\end{bmatrix}=\begin{bmatrix}1&0\\-\frac45+\frac45&1\end{bmatrix}=\begin{bmatrix}1&0\\0&1\end{bmatrix}\ \checkmark,\) \(AA^{+}=\begin{bmatrix}3&0\\4&5\end{bmatrix}\begin{bmatrix}\frac13&0\\-\frac{4}{15}&\frac15\end{bmatrix}=\begin{bmatrix}1&0\\\frac43-\frac43&1\end{bmatrix}=I_2\ \checkmark.\) (脚本验算通过。)
步骤 11:Moore–Penrose 四条件全部核验。 $AA^{+}=A^{+}A=I$ 对称且幂等,这里 $A$ 可逆且 $A^{+}=A^{-1}$,所以 $AA^{+}=A^{+}A=I_2$ 因此四条退化为平凡检验:(1) $AA^{+}A=I_2A=A$ ✓;(2) $A^{+}AA^{+}=I_2A^{+}=A^{+}$ ✓。脚本输出:四条全 true ✓。
【计算机制解说】:为什么 $A^{+}=V\Sigma^{+}U^{\mathsf T}$ 是对的?把 SVD 的全部关系串起来: \(A^{+}A=V\Sigma^{+}\underbrace{U^{\mathsf T}U}_{I}\Sigma V^{\mathsf T}=V(\Sigma^{+}\Sigma)V^{\mathsf T}.\) $\Sigma^{+}\Sigma$ 是 $n\times n$ 对角矩阵,第 $i$ 个对角元是 $\frac{1}{\sigma_i}\cdot\sigma_i=1$(若 $\sigma_i\neq0$)或 $0\cdot$(无定义)$=0$(若 $\sigma_i=0$,按约定补零)。所以 \(\Sigma^{+}\Sigma=\begin{bmatrix}I_r&0\\0&0\end{bmatrix}_{n\times n}\ \Longrightarrow\ A^{+}A=V\begin{bmatrix}I_r&0\\0&0\end{bmatrix}V^{\mathsf T}=\sum_{i=1}^{r}\mathbf{v}_i\mathbf{v}_i^{\mathsf T}.\) 这正是投影到前 $r$ 个右奇异向量张成的子空间 = 行空间 $C(A^{\mathsf T})$ 的正交投影矩阵(讲次 30 的外积公式)!同理 \(AA^{+}=U\begin{bmatrix}I_r&0\\0&0\end{bmatrix}U^{\mathsf T}=\sum_{i=1}^{r}\mathbf{u}_i\mathbf{u}_i^{\mathsf T}=\text{投影到 }C(A).\) 所以两条 Moore–Penrose 对称性条件自动成立——它们是”正交投影”的代数陈述。 而 $A^{+}A$ 与 $AA^{+}$ 的幂等性也立刻看出来:$V\begin{bmatrix}I_r&0\\0&0\end{bmatrix}V^{\mathsf T}$ 平方后中间的 $\begin{bmatrix}I_r&0\\0&0\end{bmatrix}$ 自乘不变。“绝不对零奇异值求倒数”这条约定,在代数上就是这个 $\begin{bmatrix}I_r&0\\0&0\end{bmatrix}$ 结构。
注意一个易错点:$\Sigma^{+}$ 的形状是 $n\times m$(转置了)。$A$ 是 $m\times n$ 时,$A^{+}$ 是 $n\times m$,$\Sigma$ 是 $m\times n$,所以 $\Sigma^{+}$ 必须是 $n\times m$ 才能让 $V\Sigma^{+}U^{\mathsf T}$ 维度对上:$(n\times n)(n\times m)(m\times m)=(n\times m)$ ✓。
示例 2:奇异矩阵 $A=\begin{bmatrix}1&1\\0&0\end{bmatrix}$ 的伪逆——投影性质登场
步骤 1:算 $A^{\mathsf T}A$ 与 $AA^{\mathsf T}$。 \(A^{\mathsf T}A=\begin{bmatrix}1&0\\1&0\end{bmatrix}\begin{bmatrix}1&1\\0&0\end{bmatrix}=\begin{bmatrix}1&1\\1&1\end{bmatrix},\qquad AA^{\mathsf T}=\begin{bmatrix}1&1\\0&0\end{bmatrix}\begin{bmatrix}1&0\\1&0\end{bmatrix}=\begin{bmatrix}2&0\\0&0\end{bmatrix}.\) (脚本验算通过。)
步骤 2:求奇异值与右奇异向量。 $A^{\mathsf T}A=\begin{bmatrix}1&1\\1&1\end{bmatrix}$,$\operatorname{tr}=2$,$\det=0$,特征值 $2,0$(验算通过)。所以 $\sigma_1=\sqrt2\approx1.41421356$,$\sigma_2=0$。秩 $r=1$。 $\lambda_1=2$ 时 $A^{\mathsf T}A-2I=\begin{bmatrix}-1&1\\1&-1\end{bmatrix}$,$x=y$,$\mathbf{v}_1=\frac{1}{\sqrt2}\begin{bmatrix}1\\1\end{bmatrix}$;$\lambda_2=0$ 时 $x+y=0$,$\mathbf{v}_2=\frac{1}{\sqrt2}\begin{bmatrix}1\\-1\end{bmatrix}$。
步骤 3:求左奇异向量。 \(A\mathbf{v}_1=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\0&0\end{bmatrix}\begin{bmatrix}1\\1\end{bmatrix}=\frac{1}{\sqrt2}\begin{bmatrix}2\\0\end{bmatrix}=\begin{bmatrix}1.41421356\\0\end{bmatrix},\qquad \vert A\mathbf{v}_1\vert =\sqrt2=\sigma_1\ \checkmark,\) \(\mathbf{u}_1=\frac{A\mathbf{v}_1}{\sigma_1}=\frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}\begin{bmatrix}2\\0\end{bmatrix}=\begin{bmatrix}1\\0\end{bmatrix}.\) 注意 $\mathbf{u}_2$ 没有公式可算($\sigma_2=0$),必须人为补一个与 $\mathbf{u}_1$ 正交的单位向量:取 $\mathbf{u}_2=\begin{bmatrix}0\\1\end{bmatrix}$。 \(U=\begin{bmatrix}1&0\\0&1\end{bmatrix}=I_2,\qquad V=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}.\) 步骤 4:核验 $A=\sigma_1\mathbf{u}_1\mathbf{v}_1^{\mathsf T}$(秩 1 的 SVD)。 \(\sqrt2\begin{bmatrix}1\\0\end{bmatrix}\cdot\frac{1}{\sqrt2}\begin{bmatrix}1&1\end{bmatrix}=\begin{bmatrix}1&1\\0&0\end{bmatrix}=A\ \checkmark\ (\text{脚本通过}).\) 秩 1 矩阵只有一项——这是”低秩逼近”的最简情形(讲次 29)。
步骤 5:构造 $\Sigma^{+}$。 $\Sigma=\begin{bmatrix}\sqrt2&0\\0&0\end{bmatrix}$($2\times2$),非零元只有 $\sigma_1$,取倒数: \(\Sigma^{+}=\begin{bmatrix}1/\sqrt2&0\\0&0\end{bmatrix}=\begin{bmatrix}0.70710678&0\\0&0\end{bmatrix}.\) 关键动作:$\sigma_2=0$ 的位置写 $0$,绝不写 $1/0$。
步骤 6:算 $A^{+}=V\Sigma^{+}U^{\mathsf T}$。 \(\Sigma^{+}U^{\mathsf T}=\begin{bmatrix}\frac{1}{\sqrt2}&0\\0&0\end{bmatrix}\begin{bmatrix}1&0\\0&1\end{bmatrix}=\begin{bmatrix}\frac{1}{\sqrt2}&0\\0&0\end{bmatrix},\) \(A^{+}=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}\begin{bmatrix}\frac{1}{\sqrt2}&0\\0&0\end{bmatrix}=\frac{1}{2}\begin{bmatrix}1&0\\1&0\end{bmatrix}=\begin{bmatrix}0.5&0\\0.5&0\end{bmatrix}.\) 等价地:$A^{+}=\frac{1}{\sigma_1}\mathbf{v}_1\mathbf{u}_1^{\mathsf T}=\frac{1}{\sqrt2}\cdot\frac{1}{\sqrt2}\begin{bmatrix}1\\1\end{bmatrix}\begin{bmatrix}1&0\end{bmatrix}=\frac12\begin{bmatrix}1&0\\1&0\end{bmatrix}$ ✓(脚本通过)。
步骤 7:算 $A^{+}A$ 与 $AA^{+}$(本讲最漂亮的一步)。 \(A^{+}A=\begin{bmatrix}0.5&0\\0.5&0\end{bmatrix}\begin{bmatrix}1&1\\0&0\end{bmatrix}=\begin{bmatrix}0.5&0.5\\0.5&0.5\end{bmatrix}=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix},\) \(AA^{+}=\begin{bmatrix}1&1\\0&0\end{bmatrix}\begin{bmatrix}0.5&0\\0.5&0\end{bmatrix}=\begin{bmatrix}1&0\\0&0\end{bmatrix}.\) (脚本验算通过。)两个都是投影矩阵!
步骤 8:验证投影矩阵的四项体检。
- $A^{+}A=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}$:对称 ✓,幂等 ✓,$\operatorname{tr}=1$,$\det=0$。
- $AA^{+}=\begin{bmatrix}1&0\\0&0\end{bmatrix}$:对称 ✓,幂等 ✓,$\operatorname{tr}=1$,$\det=0$。 (脚本验算:对称、幂等均为
true。)
步骤 9:它们分别投影到哪里?
- $AA^{+}=\begin{bmatrix}1&0\\0&0\end{bmatrix}$:把 $(x,y)^{\mathsf T}$ 送到 $(x,0)^{\mathsf T}$。投影到 $C(A)=\operatorname{span}\{(1,0)\}$($x$ 轴)。检验:$AA^{+}(7,0)^{\mathsf T}=(7,0)^{\mathsf T}$ ✓。
- $A^{+}A=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}$:正是讲次 30 示例 2 的矩阵!投影到 $C(A^{\mathsf T})=\operatorname{span}\{(1,1)\}$(直线 $y=x$)。检验:$A^{+}A(1,1)^{\mathsf T}=(1,1)^{\mathsf T}$ ✓。
步骤 10:四条 Moore–Penrose 条件核验。
- (1) $AA^{+}A=\begin{bmatrix}1&0\\0&0\end{bmatrix}\begin{bmatrix}1&1\\0&0\end{bmatrix}=\begin{bmatrix}1&1\\0&0\end{bmatrix}=A$ ✓
- (2) $A^{+}AA^{+}=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}\begin{bmatrix}0.5&0\\0.5&0\end{bmatrix}=\begin{bmatrix}0.5&0\\0.5&0\end{bmatrix}=A^{+}$ ✓
- (3) $(AA^{+})^{\mathsf T}=AA^{+}$ ✓(已验证对称)
- (4) $(A^{+}A)^{\mathsf T}=A^{+}A$ ✓ (脚本输出:四条全
true。)
步骤 11:秩。 $\operatorname{rank}A=1=\operatorname{rank}A^{+}$。一般地 $\operatorname{rank}A^{+}=\operatorname{rank}A=r$,因为 $A^{+}=V\Sigma^{+}U^{\mathsf T}$ 中 $\Sigma^{+}$ 的非零元个数就是 $r$,而 $U,V$ 可逆。
【计算机制解说】:这个例子把讲次 29(SVD)、讲次 30(投影)、讲次 33(伪逆)三条线拧成一股。为什么 $A^{+}A$ 恰好投影到行空间,而 $AA^{+}$ 恰好投影到列空间?从 SVD 看: \(A^{+}A=V\Sigma^{+}U^{\mathsf T}U\Sigma V^{\mathsf T}=V(\Sigma^{+}\Sigma)V^{\mathsf T}=V\begin{bmatrix}1&0\\0&0\end{bmatrix}V^{\mathsf T}=\mathbf{v}_1\mathbf{v}_1^{\mathsf T}.\) 对 $A=\begin{bmatrix}1&1\\0&0\end{bmatrix}$:$\mathbf{v}_1=\frac{1}{\sqrt2}(1,1)^{\mathsf T}$, \(\mathbf{v}_1\mathbf{v}_1^{\mathsf T}=\frac12\begin{bmatrix}1\\1\end{bmatrix}\begin{bmatrix}1&1\end{bmatrix}=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}=A^{+}A\ \checkmark.\) 同理 $AA^{+}=\mathbf{u}_1\mathbf{u}_1^{\mathsf T}=\begin{bmatrix}1\\0\end{bmatrix}\begin{bmatrix}1&0\end{bmatrix}=\begin{bmatrix}1&0\\0&0\end{bmatrix}$ ✓。 为什么必须是”投影到这些子空间”而不是别的投影? 因为 $\mathbf{u}_1,\mathbf{v}_1$ 是 SVD 给出的正交方向。如果 $A$ 的列相关($\sigma_2=0$),$C(A^{\mathsf T})$ 的维数小于 $n$,那个”多出来的”方向 $\mathbf{v}_2$ 被 $A^{+}A$ 送 $(1,0,0)$;正是这个”送零”保证了 $\hat{\mathbf{x}}\perp N(A)$,也就是保证了最小范数。
示例 3:最小范数最小二乘解——$A^{+}\mathbf{b}$ 比所有其他解都短
用 $A=\begin{bmatrix}1&1\\0&0\end{bmatrix}$,$\mathbf{b}=(2,5)^{\mathsf T}$。
步骤 1:写出最小二乘问题。 $A\mathbf{x}=(x_1+x_2,\ 0)^{\mathsf T}$,所以 \(\vert A\mathbf{x}-\mathbf{b}\vert ^2=(x_1+x_2-2)^2+(0-5)^2=(x_1+x_2-2)^2+25.\) 第 2 项是常数 $25$,与 $\mathbf{x}$ 无关;最小化只能作用于第 1 项,取 $x_1+x_2=2$。最小残差 $\vert A\hat{\mathbf{x}}-\mathbf{b}\vert =\sqrt{25}=5$,且最小二乘解构成整条直线 $x_1+x_2=2$。
步骤 2:用伪逆取解。 \(\hat{\mathbf{x}}=A^{+}\mathbf{b}=\begin{bmatrix}0.5&0\\0.5&0\end{bmatrix}\begin{bmatrix}2\\5\end{bmatrix}=\begin{bmatrix}1\\1\end{bmatrix}=(1,1)^{\mathsf T},\qquad \vert \hat{\mathbf{x}}\vert =\sqrt2\approx1.41421356.\) (脚本验算:$\vert \hat{\mathbf{x}}\vert =1.41421356$ ✓。)
步骤 3:枚举同一直线上的其他最小二乘解,比较范数(脚本验算数据):
| 最小二乘解 $\mathbf{x}$ | 残差 $A\mathbf{x}-\mathbf{b}$ | $\vert $残差$\vert $ | $\vert \mathbf{x}\vert $ |
|---|---|---|---|
| $(2,0)^{\mathsf T}$ | $(0,-5)^{\mathsf T}$ | $5.000000$ | $2.000000$ |
| $(0,2)^{\mathsf T}$ | $(0,-5)^{\mathsf T}$ | $5.000000$ | $2.000000$ |
| $(3,-1)^{\mathsf T}$ | $(0,-5)^{\mathsf T}$ | $5.000000$ | $3.162278$ |
| $(1.5,0.5)^{\mathsf T}$ | $(0,-5)^{\mathsf T}$ | $5.000000$ | $1.581139$ |
| $\hat{\mathbf{x}}=(1,1)^{\mathsf T}$ | $(0,-5)^{\mathsf T}$ | $5.000000$ | $\mathbf{1.414214}$ ← 最短 |
四个候选的残差范数全部相等(都是 5),但 $\hat{\mathbf{x}}=(1,1)^{\mathsf T}$ 的范数最小。
步骤 4:为什么它最短——勾股分解。 所有最小二乘解是 $\hat{\mathbf{x}}+N(A)$。这里 $N(A)=\operatorname{span}\{(1,-1)\}$(因为 $x_1+x_2=0$)。对任何 $\mathbf{n}\in N(A)$, \(\vert \hat{\mathbf{x}}+\mathbf{n}\vert ^2=\vert \hat{\mathbf{x}}\vert ^2+2\hat{\mathbf{x}}^{\mathsf T}\mathbf{n}+\vert \mathbf{n}\vert ^2.\) 交叉项 $\hat{\mathbf{x}}^{\mathsf T}\mathbf{n}=(1,1)\cdot(1,-1)=1-1=0$——因为 $\hat{\mathbf{x}}\in C(A^{\mathsf T})=\operatorname{span}\{(1,1)\}$ 与 $N(A)$ 正交(四个基本子空间的正交关系,讲次 10)。于是 \(\vert \hat{\mathbf{x}}+\mathbf{n}\vert ^2=\vert \hat{\mathbf{x}}\vert ^2+\vert \mathbf{n}\vert ^2\ge\vert \hat{\mathbf{x}}\vert ^2.\) 例:取 $\mathbf{n}=t(1,-1)$,$\mathbf{x}=(1+t,1-t)$,$\vert \mathbf{x}\vert ^2=1+2t+t^2+1-2t+t^2=2+2t^2\ge2$ ✓。
步骤 5:正规方程也印证这一点。 $A^{\mathsf T}A\mathbf{x}=A^{\mathsf T}\mathbf{b}$: \(\begin{bmatrix}1&1\\1&1\end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}1&0\\1&0\end{bmatrix}\begin{bmatrix}2\\5\end{bmatrix}=\begin{bmatrix}2\\2\end{bmatrix}\ \Longrightarrow\ x_1+x_2=2.\) 正规方程只有一个独立方程($A^{\mathsf T}A$ 奇异),所以解不唯一。伪逆在此处的作用是从无穷多解中挑出 $C(A^{\mathsf T})$ 里那个。
步骤 6:推广到 3 维的另一例(脚本验算)。 取 $\mathbf{b}=(3,5)^{\mathsf T}$ 与 $A=\begin{bmatrix}1&1\\0&0\end{bmatrix}$(同上):$\hat{\mathbf{x}}=(1.5,1.5)^{\mathsf T}$,$\vert \hat{\mathbf{x}}\vert =2.12132034=3/\sqrt2$ ✓。 再取 $D=\begin{bmatrix}1&1&1\\0&0&0\end{bmatrix}$($2\times3$,秩 1),$\mathbf{b}=(3,5)^{\mathsf T}$: \(D^{+}=\frac13\begin{bmatrix}1&0\\1&0\\1&0\end{bmatrix},\qquad \hat{\mathbf{x}}=D^{+}\mathbf{b}=\begin{bmatrix}1\\1\\1\end{bmatrix},\qquad \vert \hat{\mathbf{x}}\vert =\sqrt3\approx1.73205081.\) 候选解比较(脚本验算):$(3,0,0)^{\mathsf T}$ 长度 $3.000$、$(0,3,0)^{\mathsf T}$ 长度 $3.000$、$(2,1,0)^{\mathsf T}$ 长度 $2.236068$、$(1.5,1.5,0)^{\mathsf T}$ 长度 $2.121320$,而 $\hat{\mathbf{x}}=(1,1,1)^{\mathsf T}$ 长度 $\mathbf{1.732051}$——仍是最短,因为 $(1,1,1)^{\mathsf T}$ 沿”行空间方向”($x_1+x_2+x_3=3$ 的等值面法向),其余解都带上了零空间的”斜分量”。
【计算机制解说】:$A^{+}\mathbf{b}$ 的”最小范数”性质有三重等价解释,值得全部掌握:
- 几何:所有最小二乘解 = $\hat{\mathbf{x}}+N(A)$ 是一个平行板;板上离原点最近的点必然垂直落点,即 $\hat{\mathbf{x}}\perp N(A)$,即 $\hat{\mathbf{x}}\in N(A)^{\perp}=C(A^{\mathsf T})$。
- 代数(勾股):分解 $\mathbf{x}=\hat{\mathbf{x}}+\mathbf{n}$,因正交得 $\vert \mathbf{x}\vert ^2=\vert \hat{\mathbf{x}}\vert ^2+\vert \mathbf{n}\vert ^2$,故 $\vert \mathbf{x}\vert \ge\vert \hat{\mathbf{x}}\vert $。
- SVD 谱形式:$\hat{\mathbf{x}}=A^{+}\mathbf{b}=\sum_{i=1}^{r}\frac{\mathbf{u}_i^{\mathsf T}\mathbf{b}}{\sigma_i}\mathbf{v}_i$。只有 $r$ 个方向被用到,被 $A$ 杀掉的方向($\sigma_i=0$)完全没有贡献——这既是”最小范数”,也是”不做无根据的猜测”(这正是岭回归/正则化的核心直觉:在信息不足的方向上,答案就是 0)。
对比讲次 16 的正规方程:当 $A$ 列满秩时 $(A^{\mathsf T}A)^{-1}$ 存在,$\hat{\mathbf{x}}=(A^{\mathsf T}A)^{-1}A^{\mathsf T}\mathbf{b}$ 唯一;当 $A$ 列相关时 $(A^{\mathsf T}A)^{-1}$ 不存在,但 $A^{+}\mathbf{b}$ 依然给出”最好的那一个”。伪逆是正规方程在奇异情形下的无缝推广。
示例 4:$A^{+}$ 与四个基本子空间的完整映射表
用 $A=\begin{bmatrix}1&0\\0&1\\1&1\end{bmatrix}$($3\times2$,满列秩,$r=2$)来展示(脚本验算):
| 输入 | 输入属于 | $A^{+}$ 输出 | 输出属于 | 脚本核验 |
|---|---|---|---|---|
| $\mathbf{x}=(2,-3)^{\mathsf T}$ | $\mathbb{R}^2=C(A^{\mathsf T})$ | $A^{+}A\mathbf{x}=(2,-3)^{\mathsf T}$ | $C(A^{\mathsf T})$ | $A^{+}A\mathbf{x}=\mathbf{x}$ ✓ |
| $\mathbf{p}=A\mathbf{x}=(2,-3,-1)^{\mathsf T}$ | $C(A)$ | $A^{+}\mathbf{p}=(2,-3)^{\mathsf T}$ | $C(A^{\mathsf T})$ | $\vert A^{+}\mathbf{p}\vert =3.605551$,$A(A^{+}\mathbf{p})=\mathbf{p}$ ✓ |
| $\mathbf{n}=(1,1,-1)^{\mathsf T}$ | $N(A^{\mathsf T})$(因为 $A^{\mathsf T}\mathbf{n}=(0,0)^{\mathsf T}$) | $A^{+}\mathbf{n}=(0,0)^{\mathsf T}$ | 零向量 | $A^{+}\mathbf{n}=\mathbf{0}$ ✓ |
核心结论(必须背下来):
A⁺ 是一张"单向桥":
┌────────────────────────────────────────────────────────────┐
│ C(A) ──── A⁺ ────► C(Aᵀ) (可逆的双射!) │
│ N(Aᵀ) ──── A⁺ ────► 0 (全部清零) │
│ C(Aᵀ) ──── A ────► C(A) (A 在这上面是双射) │
│ N(A) ──── A ────► 0 │
└────────────────────────────────────────────────────────────┘
于是:A⁺A = 投影到 C(Aᵀ) (杀掉 N(A))
AA⁺ = 投影到 C(A) (杀掉 N(Aᵀ))
A⁺ 的秩 = A 的秩 = r
并且 A 限制在 C(Aᵀ) 上、A⁺ 限制在 C(A) 上,互为真逆。
为什么这是一一对应? $A$ 限制在行空间 $C(A^{\mathsf T})$ 上是单射(因为 $C(A^{\mathsf T})\cap N(A)=\{\mathbf{0}\}$,讲次 10),像是 $C(A)$(维数都是 $r$);两个 $r$ 维空间之间的单射必是双射。所以 $A^{+}$ 在这对子空间上就是真逆,可以任意来回。于是最小化 $\vert A\mathbf{x}-\mathbf{b}\vert $ 的策略分三步:把 $\mathbf{b}$ 投影到 $C(A)$(丢弃 $N(A^{\mathsf T})$ 分量)→ 用 $A^{+}$ 逆映射回 $C(A^{\mathsf T})$ → 完。
示例 5:用伪逆统一左逆与右逆
| 情形 | 秩 | $A^{+}$ | $A^{+}A$ | $AA^{+}$ | 最小二乘解 |
|---|---|---|---|---|---|
| $m>n$,满列秩 | $r=n$ | $(A^{\mathsf T}A)^{-1}A^{\mathsf T}=L$(左逆) | $I_n$ | 投影到 $C(A)$(秩 $n$) | 唯一 |
| $m=n$,可逆 | $r=n=m$ | $A^{-1}$ | $I_n$ | $I_m$ | 唯一且精确 |
| $m<n$,满行秩 | $r=m$ | $A^{\mathsf T}(AA^{\mathsf T})^{-1}=R$(右逆) | 投影到 $C(A^{\mathsf T})$(秩 $m$) | $I_m$ | 唯一且精确,且最小范数 |
| 任意,列相关 | $r<n$ | 一般 $A^{+}$(无简单闭式) | 投影到 $C(A^{\mathsf T})$(秩 $r$) | 投影到 $C(A)$(秩 $r$) | 无穷多,取最小范数 |
核验(脚本):
- $m>n$ 例 $A=\begin{bmatrix}1&0\\0&1\\1&1\end{bmatrix}$:$L=\frac13\begin{bmatrix}2&-1&1\\-1&2&1\end{bmatrix}$,$LA=I_2$ ✓;$AL=\frac13\begin{bmatrix}2&-1&1\\-1&2&1\\1&1&2\end{bmatrix}$,$\operatorname{tr}(AL)=2$(投影秩 2)
- $m<n$ 例 $A=\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}$:$R=\frac13\begin{bmatrix}2&-1\\-1&2\\1&1\end{bmatrix}$,$AR=I_2$ ✓;$RA=\frac13\begin{bmatrix}2&-1&1\\-1&2&1\\1&1&2\end{bmatrix}$,$\operatorname{tr}(RA)=2$(投影秩 2) (注意这两个例子里 $AL$ 与 $RA$ 恰好是同一个 $3\times3$ 矩阵,因为这里 $A$ 的两行正好是另一个 $A$ 的两列的转置——不要误以为这在一般情况下成立。)
- 方阵可逆例 $A=\begin{bmatrix}3&0\\4&5\end{bmatrix}$:$A^{+}=A^{-1}=\begin{bmatrix}1/3&0\\-4/15&1/5\end{bmatrix}$,$A^{+}A=AA^{+}=I_2$ ✓
一个漂亮的一般公式:$A^{+}$ 还有一条闭式(当 $A^{\mathsf T}A$ 可逆时即左逆情形) \(A^{+}=(A^{\mathsf T}A)^{-1}A^{\mathsf T}=L;\) 当 $AA^{\mathsf T}$ 可逆时即右逆情形 \(A^{+}=A^{\mathsf T}(AA^{\mathsf T})^{-1}=R.\) 统一写法:$A^{+}=\lim_{\epsilon\to0^{+}}A^{\mathsf T}(AA^{\mathsf T}+\epsilon I)^{-1}=\lim_{\epsilon\to0^{+}}(A^{\mathsf T}A+\epsilon I)^{-1}A^{\mathsf T}$(Tikhonov 正则化的极限)。这个极限解释了一个重要事实:伪逆是”用 $\epsilon$ 抹平奇异方向”的自然结果——这背后正是数值线性代数的核心技巧(见下面应用部分)。
矩阵分解的核心思想
本讲的分解主角是 SVD $A=U\Sigma V^{\mathsf T}$,而伪逆是它”取逆”后的自然产物:
\[\underbrace{A=U\Sigma V^{\mathsf T}}_{\text{分解}}\quad\xrightarrow{\ \text{把}\ \sigma_i\to1/\sigma_i,\ \text{零保持零,并转置}\ }\quad\underbrace{A^{+}=V\Sigma^{+}U^{\mathsf T}}_{\text{伪逆}}\]为什么 SVD 是伪逆的唯一自然入口? 因为 SVD 的两组基是正交的,而只有正交基才能让”投影”和”取逆”这两件事互不干扰:
- $\Sigma$ 是对角的,所以”取逆”变成”逐元取倒数”,根本不涉及矩阵求逆;
- $U,V$ 正交,所以 $A^{+}A=V\begin{bmatrix}I_r&0\\0&0\end{bmatrix}V^{\mathsf T}$ 自动是对称幂等——投影性质免费获得。
与其他分解的对照表:
| 分解 | 对”求逆”的贡献 | 能否处理奇异/长方形 |
|---|---|---|
| $A=LU$ | 三角矩阵回代,$O(n^3)$ | 不能(需 $A$ 可逆方阵且主元非零) |
| $A=QR$ | $A^{-1}=R^{-1}Q^{\mathsf T}$,最小二乘 $\hat{\mathbf{x}}=R^{-1}Q^{\mathsf T}\mathbf{b}$(讲次 17) | 仅满列秩 |
| $A=S\Lambda S^{-1}$ | $A^{-1}=S\Lambda^{-1}S^{-1}$ | 不能($S$ 须可逆、$A$ 须可对角化) |
| $A=Q\Lambda Q^{\mathsf T}$ | $A^{-1}=Q\Lambda^{-1}Q^{\mathsf T}$ | 仅可逆对称矩阵 |
| $\mathbf{A=U\Sigma V^{\mathsf T}}$ | $\mathbf{A^{+}=V\Sigma^{+}U^{\mathsf T}}$ | 可以!任意形状、任意秩 |
“零奇异值 → 零”这条约定的深刻含义:它是”在信息缺失时保持谦虚”。$A$ 把 $\mathbf{v}_{r+1},\dots,\mathbf{v}_n$ 方向的信息彻底销毁了,任何”还原”都只能是猜测。伪逆选择猜 $0$——这是所有猜法里唯一不会放大误差、且长度最小的猜法。相比之下,$(A^{\mathsf T}A)^{-1}$ 在 $\sigma_i$ 很小时会把 $\mathbf{b}$ 中的噪声放大 $1/\sigma_i$ 倍,这就是病态问题(ill-posed problem)的本质。
条件数与病态:$\kappa(A)=\sigma_{\max}/\sigma_{\min}$。$\kappa$ 很大时(如 $10^8$),即使 $A$ 形式上可逆,数值求逆也会把机器误差放大 $10^8$ 倍。对策:截断 SVD(丢掉小于阈值的 $\sigma_i$,即用”秩 $k$ 伪逆”$A_k^{+}=\sum_{i=1}^{k}\frac{1}{\sigma_i}\mathbf{v}_i\mathbf{u}_i^{\mathsf T}$)或 Tikhonov 正则化。这就是压缩感知/推荐系统/图像去噪背后的数学骨架。
与其他讲次的关联
- 与讲次 6–10(四个基本子空间):本讲把四个子空间之间的映射补完:$A$ 把 $C(A^{\mathsf T})\to C(A)$ 双射、把 $N(A)\to0$;$A^{+}$ 把 $C(A)\to C(A^{\mathsf T})$ 双射、把 $N(A^{\mathsf T})\to0$。$r+(n-r)=n$ 与 $r+(m-r)=m$ 的维数账本在这里变成一张完整的”流程图”。
- 与讲次 14–17(投影、最小二乘、QR):$AA^{+}$、$A^{+}A$ 是正交投影;讲次 16 的正规方程 $A^{\mathsf T}A\hat{\mathbf{x}}=A^{\mathsf T}\mathbf{b}$ 在列满秩时唯一解,正是 $A^{+}\mathbf{b}$。QR 提供了算 $A^{+}$ 的稳定途径:$A=QR\Rightarrow A^{+}=R^{-1}Q^{\mathsf T}$($R$ 可逆时)。
- 与讲次 18–20(行列式):$\det A=0$ 时 $A^{-1}$ 不存在——伪逆正是在这个”死角”上做文章。$\det(AA^{+})=0$ 当且仅当 $\operatorname{rank}(A)=r<m$(因为 $AA^{+}$ 是 $m\times m$ 的秩 $r$ 投影矩阵)。注意不是”当且仅当 $A$ 奇异”:$A$ 非方阵时 $A$ 无所谓”奇异”,但若 $A$ 行满秩($r=m$),则 $AA^{+}=I_m$、$\det=1\ne0$——例如 $A=\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}$($2\times3$,行满秩)给出 $AA^{+}=I_2$;反之 $A=\begin{bmatrix}1&2\\0&0\end{bmatrix}$($r=1<m=2$)给出 $AA^{+}=\begin{bmatrix}1&0\\0&0\end{bmatrix}$、$\det=0$。
- 与讲次 21–25(特征值):对对称矩阵 $A=Q\Lambda Q^{\mathsf T}$,伪逆是 $A^{+}=Q\Lambda^{+}Q^{\mathsf T}$,其中 $\Lambda^{+}$ 把非零 $\lambda_i$ 取倒数、零保持零。注意:方阵奇异时,$A^{+}$ 的特征值不一定是 $A$ 特征值的倒数($A$ 可对角化时成立;一般要用奇异值)。反例:$A=\begin{bmatrix}0&1\\0&0\end{bmatrix}$,$\lambda=0,0$ 但 $\sigma_1=1$,$A^{+}=\begin{bmatrix}0&0\\1&0\end{bmatrix}\neq A$ 的倒数。
- 与讲次 27–29(正定、Jordan、SVD):本讲完全是讲次 29 的应用篇章。SVD 的”谱形式” $A=\sum\sigma_i\mathbf{u}_i\mathbf{v}_i^{\mathsf T}$ 让伪逆变成”逐项取倒数”$\sum\frac{1}{\sigma_i}\mathbf{v}_i\mathbf{u}_i^{\mathsf T}$。
- 与讲次 30(线性变换):本讲的 $AA^{+}$、$A^{+}A$ 是讲次 30 中”投影矩阵三项体检(对称、幂等、迹 = 维数)”的最佳例题;伪逆本身就是从像空间回到原像空间的一个线性变换。
- 与讲次 31(换基):SVD 就是”输入、输出各换一组正交基”,$A^{+}$ 在换基后的矩阵是 $\Sigma^{+}$——换基让”求逆”变成”取倒数”,这是本讲与讲次 31 最深的呼應。
关键要点
- 长方形矩阵只能有一侧的逆。$m>n$ 且列无关 → 左逆 $L=(A^{\mathsf T}A)^{-1}A^{\mathsf T}$,$LA=I_n$,$AL$ 是投影。$m<n$ 且行无关 → 右逆 $R=A^{\mathsf T}(AA^{\mathsf T})^{-1}$,$AR=I_m$,$RA$ 是投影。只有方阵才可能两侧都有逆,且此时两侧相等。
- 伪逆的定义:$A^{+}=V\Sigma^{+}U^{\mathsf T}$,$\Sigma^{+}$ 把非零 $\sigma_i$ 取倒数 $1/\sigma_i$、零保持零,并把形状转置为 $n\times m$。$A$ 可逆时 $A^{+}=A^{-1}$。
- 两条投影性质:$A^{+}A=\sum_{i=1}^{r}\mathbf{v}i\mathbf{v}_i^{\mathsf T}$ 投影到 $C(A^{\mathsf T})$;$AA^{+}=\sum{i=1}^{r}\mathbf{u}_i\mathbf{u}_i^{\mathsf T}$ 投影到 $C(A)$。两者都对称且幂等,迹都等于 $r=\operatorname{rank}A$。
- Moore–Penrose 四条件:$AA^{+}A=A$、$A^{+}AA^{+}=A^{+}$、$(AA^{+})^{\mathsf T}=AA^{+}$、$(A^{+}A)^{\mathsf T}=A^{+}A$。$A^{+}$ 是满足这四条的唯一矩阵。
- 最小范数最小二乘解:$\hat{\mathbf{x}}=A^{+}\mathbf{b}=\sum_{i=1}^{r}\frac{\mathbf{u}_i^{\mathsf T}\mathbf{b}}{\sigma_i}\mathbf{v}_i$,它使残差最小,且在残差最小的解中长度最短(因为 $\hat{\mathbf{x}}\perp N(A)$,$\hat{\mathbf{x}}\in C(A^{\mathsf T})$)。
- 秩、子空间映射:$\operatorname{rank}A^{+}=\operatorname{rank}A=r$;$A^{+}$ 把 $C(A)$ 双射回 $C(A^{\mathsf T})$,把 $N(A^{\mathsf T})$ 送到 $\mathbf{0}$。
常见误区与注意事项
- 对零奇异值求倒数。$A$ 奇异时 $\Sigma$ 的对角线上有 $0$,$1/0$ 无意义。正确做法是写 $0$。这就是”伪逆”与”天真求逆”的唯一却关键的区别。代码里
1/S遇到S=0会得到Inf/NaN,必须用S[S>tol]=1./S[S>tol]之类的掩码。 - 把 $\Sigma^{+}$ 的形状搞错。$A$ 是 $m\times n$ ⇒ $\Sigma$ 是 $m\times n$ ⇒ $\Sigma^{+}$ 必须写成 $n\times m$(转置)。用 $2\times3$ 的 $\Sigma$ 时,$\Sigma^{+}$ 是 $3\times2$,把对角线上的 $\frac{1}{\sigma_i}$ 放在 $(\sigma_i)$ 的转置位置上。
- 以为左逆/右逆中”另一侧的乘积”也是恒等。$LA=I_n$ 时 $AL$ 一般是秩 $n$ 的投影($m\times m$,不等于 $I_m$)。做题时若发现”$AL\neq I$”就以为自己算错了,是把投影误认成错误。
- 忘记 $(A^{\mathsf T}A)^{-1}$ 存在的前提。$A^{\mathsf T}A$ 可逆 $\Leftrightarrow$ $A$ 的列线性无关。若列相关($A^{\mathsf T}A$ 奇异),左逆不存在,此时必须用伪逆。同理 $AA^{\mathsf T}$ 可逆 $\Leftrightarrow$ 行线性无关。
- 把”最小二乘解”与”最小范数最小二乘解”混为一谈。前者在列相关时有无穷多个;只有后者(即 $A^{+}\mathbf{b}$)唯一。在讲次 16 的语境下 $A$ 列满秩,两者恰好重合,容易形成错误记忆。
- 误以为伪逆就是”每项取倒数”。伪逆作用于矩阵(用 SVD 的 $\Sigma^{+}$);对特征值取倒数只在对称(或可对角化)方阵上成立。对一般矩阵,$A$ 的特征值与 $A^{+}$ 的特征值没有简单关系(见关联部分的反例)。
- 误以为 $A^{+}$ 一定是对称矩阵。$A^{+}$ 是 $n\times m$,”对称”只在 $m=n$ 时才有意义;此时也一般不对称(除非 $A$ 对称)。对称的是 $AA^{+}$ 与 $A^{+}A$,不是 $A^{+}$ 本身。脚本检查里 $D^{+}$($3\times2$)的”对称性”返回
false,这本身没有意义——不要对非方阵做对称性判断。 - 数值上的病态陷阱。理论上 $A^{+}$ 完美,但 $\sigma_{\min}$ 极小时 $1/\sigma_{\min}$ 会爆炸。工程上必须截断。“理论上正确”不等于”数值上可用”。
思考题(带答案)
Q1.(纯计算)设 $A=\begin{bmatrix}1&1\\0&0\\0&0\end{bmatrix}$($3\times2$)。 (a) 求 $A$ 的 SVD(写出 $U,\Sigma,V$);(b) 求 $A^{+}$;(c) 求 $A^{+}A$ 与 $AA^{+}$,指出它们分别投影到哪个子空间;(d) 用 $\mathbf{b}=(2,1,1)^{\mathsf T}$ 求 $A^{+}\mathbf{b}$,并验证残差 $\mathbf{b}-A\hat{\mathbf{x}}$ 属于 $N(A^{\mathsf T})$。
答案
**(a)** $A^{\\mathsf T}A=\\begin{bmatrix}1&0&0\\\\1&0&0\\end{bmatrix}\\begin{bmatrix}1&1\\\\0&0\\\\0&0\\end{bmatrix}=\\begin{bmatrix}1&1\\\\1&1\\end{bmatrix}$,特征值 $2,0$,所以 $\\sigma_1=\\sqrt2$,$\\sigma_2=0$,$r=1$。 右奇异向量:$\\mathbf{v}_1=\\frac{1}{\\sqrt2}(1,1)^{\\mathsf T}$($\\lambda=2$),$\\mathbf{v}_2=\\frac{1}{\\sqrt2}(1,-1)^{\\mathsf T}$($\\lambda=0$)。 $A\\mathbf{v}_1=\\frac{1}{\\sqrt2}(2,0,0)^{\\mathsf T}=\\sqrt2\\,(1,0,0)^{\\mathsf T}$,所以 $\\mathbf{u}_1=(1,0,0)^{\\mathsf T}$;$\\mathbf{u}_2,\\mathbf{u}_3$ 需与 $\\mathbf{u}_1$ 正交补齐,取 $\\mathbf{u}_2=(0,1,0)^{\\mathsf T}$,$\\mathbf{u}_3=(0,0,1)^{\\mathsf T}$。 $$U=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix}=I_3,\qquad \Sigma=\begin{bmatrix}\sqrt2&0\\0&0\\0&0\end{bmatrix}\ (3\times2),\qquad V=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}.$$ 核验:$U\\Sigma V^{\\mathsf T}=\\sqrt2\\begin{bmatrix}1\\\\0\\\\0\\end{bmatrix}\\cdot\\frac{1}{\\sqrt2}\\begin{bmatrix}1&1\\end{bmatrix}=\\begin{bmatrix}1&1\\\\0&0\\\\0&0\\end{bmatrix}=A$ ✓。 **(b)** $\\Sigma^{+}$ 必须是 $2\\times3$:把 $\\frac{1}{\\sqrt2}$ 放在 $\\sigma_1$ 的转置位置(第 1 行第 1 列),其余为 $0$: $$\Sigma^{+}=\begin{bmatrix}1/\sqrt2&0&0\\0&0&0\end{bmatrix}\ (2\times3),$$ $$A^{+}=V\Sigma^{+}U^{\mathsf T}=V\Sigma^{+}=\frac{1}{\sqrt2}\begin{bmatrix}1&1\\1&-1\end{bmatrix}\begin{bmatrix}\frac{1}{\sqrt2}&0&0\\0&0&0\end{bmatrix}=\frac12\begin{bmatrix}1&0&0\\1&0&0\end{bmatrix}=\begin{bmatrix}0.5&0&0\\0.5&0&0\end{bmatrix}.$$ **(c)** $$A^{+}A=\begin{bmatrix}0.5&0&0\\0.5&0&0\end{bmatrix}\begin{bmatrix}1&1\\0&0\\0&0\end{bmatrix}=\begin{bmatrix}0.5&0.5\\0.5&0.5\end{bmatrix}=\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix},$$ 投影到 $C(A^{\\mathsf T})=\\operatorname{span}\\{(1,1)\\}$($x_1=x_2$ 的直线)。 $$AA^{+}=\begin{bmatrix}1&1\\0&0\\0&0\end{bmatrix}\begin{bmatrix}0.5&0&0\\0.5&0&0\end{bmatrix}=\begin{bmatrix}1&0&0\\0&0&0\\0&0&0\end{bmatrix},$$ 投影到 $C(A)=\\operatorname{span}\\{(1,0,0)\\}$($x$ 轴)。两者都对称、幂等,$\\operatorname{tr}=1=r$ ✓。 **(d)** $\\hat{\\mathbf{x}}=A^{+}\\mathbf{b}=\\begin{bmatrix}0.5&0&0\\\\0.5&0&0\\end{bmatrix}\\begin{bmatrix}2\\\\1\\\\1\\end{bmatrix}=\\begin{bmatrix}1\\\\1\\end{bmatrix}$,$\\vert \\hat{\\mathbf{x}}\\vert =\\sqrt2$。 $A\\hat{\\mathbf{x}}=(2,0,0)^{\\mathsf T}$,残差 $$\mathbf{r}=\mathbf{b}-A\hat{\mathbf{x}}=\begin{bmatrix}2\\1\\1\end{bmatrix}-\begin{bmatrix}2\\0\\0\end{bmatrix}=\begin{bmatrix}0\\1\\1\end{bmatrix}.$$ 验证 $\\mathbf{r}\\in N(A^{\\mathsf T})$:$A^{\\mathsf T}\\mathbf{r}=\\begin{bmatrix}1&0&0\\\\1&0&0\\end{bmatrix}\\begin{bmatrix}0\\\\1\\\\1\\end{bmatrix}=\\begin{bmatrix}0\\\\0\\end{bmatrix}$ ✓。 $\\vert \\mathbf{r}\\vert =\\sqrt2$;而其他解如 $\\mathbf{x}=(0,2)^{\\mathsf T}$ 给出 $A\\mathbf{x}=(2,0,0)^{\\mathsf T}$(同样残差),但 $\\vert \\mathbf{x}\\vert =2>\\sqrt2$——所以 $\\hat{\\mathbf{x}}$ 是最小范数的那个 ✓。Q2.(概念理解 + 小计算)判断对错并说明理由: (a) 若 $A$ 是 $5\times3$ 且秩 3,则 $A^{+}=(A^{\mathsf T}A)^{-1}A^{\mathsf T}$,且 $AA^{+}=I_5$。 (b) 若 $A$ 是方阵且奇异,则 $A^{+}$ 不存在。 (c) $\operatorname{rank}(A^{+})=\operatorname{rank}(A)$ 对任意矩阵成立。 (d) 若 $A$ 可逆,则 $A^{+}=A^{-1}$。 (e) $A^{+}A$ 与 $AA^{+}$ 一定都是对称矩阵。
答案
**(a)** **前半对,后半错。** $5\\times3$ 满列秩 ⇒ $A^{\\mathsf T}A$($3\\times3$)可逆 ⇒ 左逆公式成立,$A^{+}=(A^{\\mathsf T}A)^{-1}A^{\\mathsf T}$ 且 $A^{+}A=I_3$。但 $AA^{+}$ 是 $5\\times5$ 矩阵,**不是** $I_5$;它是投影到 $C(A)$ 的矩阵,秩为 3,$\\operatorname{tr}(AA^{+})=3$,$\\det(AA^{+})=0$。**记忆法:左逆的"左"指的是 $A^{+}$ 站在左边时给出恒等。** **(b)** **错。** 方阵奇异时**普通逆**不存在,但**伪逆总是存在且唯一**(对任意矩阵,包括零矩阵;零矩阵的伪逆是零矩阵)。例如 $A=\\begin{bmatrix}1&1\\\\1&1\\end{bmatrix}$,$A^{+}=\\frac14\\begin{bmatrix}1&1\\\\1&1\\end{bmatrix}$,它满足全部四条 Moore–Penrose 条件(脚本验算通过)。**"逆不存在"不等于"没有任何逆的概念可用"。** **(c)** **对。** $A^{+}=V\\Sigma^{+}U^{\\mathsf T}$,$U,V$ 可逆(正交),$\\Sigma^{+}$ 的非零元个数与 $\\Sigma$ 的相同(都是 $r$),所以 $\\operatorname{rank}A^{+}=r=\\operatorname{rank}A$。 **(d)** **对。** 可逆时 $A=U\\Sigma V^{\\mathsf T}$ 中 $m=n=r$、$\\Sigma$ 可逆,$\\Sigma^{+}=\\Sigma^{-1}$,于是 $A^{+}=V\\Sigma^{-1}U^{\\mathsf T}=(U\\Sigma V^{\\mathsf T})^{-1}=A^{-1}$。 **(e)** **对。** 由 Moore–Penrose 条件 (3)(4) 直接得到:$(AA^{+})^{\\mathsf T}=AA^{+}$,$(A^{+}A)^{\\mathsf T}=A^{+}A$。几何上它们是正交投影矩阵,而正交投影必然对称。注意**这是 $A^{+}$ 定义的直接后果**,不是额外假设。Q3.(概念 + 计算)设 $A=\begin{bmatrix}1&2\\2&4\end{bmatrix}$(秩 1,两列成比例)。 (a) 求 $A^{+}$;(b) 求 $AA^{+}$ 与 $A^{+}A$ 并解释几何意义;(c) 设 $\mathbf{b}=(1,1)^{\mathsf T}$,求 $A^{+}\mathbf{b}$,并说明它为什么是最小范数最小二乘解;(d) 若改用 $\mathbf{c}=(1,3)^{\mathsf T}$,最小残差是多少?
答案
**(a)** 注意 $A=\\mathbf{u}\\mathbf{v}^{\\mathsf T}$ 的形式:$A=\\begin{bmatrix}1\\\\2\\end{bmatrix}\\begin{bmatrix}1&2\\end{bmatrix}$。对秩 1 矩阵有**通用公式** $$A^{+}=\frac{1}{\vert \mathbf{u}\vert ^2\vert \mathbf{v}\vert ^2}\mathbf{v}\mathbf{u}^{\mathsf T}.$$ 这里 $\\vert \\mathbf{u}\\vert ^2=1+4=5$,$\\vert \\mathbf{v}\\vert ^2=1+4=5$,所以 $$A^{+}=\frac{1}{25}\begin{bmatrix}1\\2\end{bmatrix}\begin{bmatrix}1&2\end{bmatrix}=\frac{1}{25}\begin{bmatrix}1&2\\2&4\end{bmatrix}=\begin{bmatrix}0.04&0.08\\0.08&0.16\end{bmatrix}.$$ **SVD 途径核验**:$A^{\\mathsf T}A=\\begin{bmatrix}1&2\\\\2&4\\end{bmatrix}\\begin{bmatrix}1&2\\\\2&4\\end{bmatrix}=\\begin{bmatrix}5&10\\\\10&20\\end{bmatrix}$,特征值 $25,0$($\\operatorname{tr}=25$,$\\det=0$),$\\sigma_1=5$。 $\\mathbf{v}_1=\\frac{1}{\\sqrt5}(1,2)^{\\mathsf T}$,$A\\mathbf{v}_1=\\frac{1}{\\sqrt5}\\begin{bmatrix}1&2\\\\2&4\\end{bmatrix}\\begin{bmatrix}1\\\\2\\end{bmatrix}=\\frac{1}{\\sqrt5}\\begin{bmatrix}5\\\\10\\end{bmatrix}=\\sqrt5\\begin{bmatrix}1\\\\2\\end{bmatrix}$,$\\vert A\\mathbf{v}_1\\vert =5=\\sigma_1$ ✓,$\\mathbf{u}_1=\\frac{1}{\\sqrt5}(1,2)^{\\mathsf T}$。 $$A^{+}=\frac{1}{\sigma_1}\mathbf{v}_1\mathbf{u}_1^{\mathsf T}=\frac15\cdot\frac15\begin{bmatrix}1\\2\end{bmatrix}\begin{bmatrix}1&2\end{bmatrix}=\frac{1}{25}\begin{bmatrix}1&2\\2&4\end{bmatrix}\ \checkmark$$ **(b)** $$AA^{+}=\frac{1}{25}\begin{bmatrix}1&2\\2&4\end{bmatrix}\begin{bmatrix}1&2\\2&4\end{bmatrix}=\frac{1}{25}\begin{bmatrix}5&10\\10&20\end{bmatrix}=\frac15\begin{bmatrix}1&2\\2&4\end{bmatrix},$$ $$A^{+}A=\frac{1}{25}\begin{bmatrix}1&2\\2&4\end{bmatrix}\begin{bmatrix}1&2\\2&4\end{bmatrix}=\text{同一个矩阵!}=\frac15\begin{bmatrix}1&2\\2&4\end{bmatrix}.$$ **这里 $AA^{+}=A^{+}A$**,因为 $A$ 是**对称**矩阵($A^{\\mathsf T}=A$),此时 $C(A)=C(A^{\\mathsf T})$,所以两个投影到同一个子空间。它们都投影到 $\\operatorname{span}\\{(1,2)\\}$(直线 $y=2x$)——正是 $A$ 的列空间 = 行空间。核验:$AA^{+}\\begin{bmatrix}1\\\\2\\end{bmatrix}=\\frac15\\begin{bmatrix}1+4\\\\2+8\\end{bmatrix}=\\begin{bmatrix}1\\\\2\\end{bmatrix}$ ✓(该方向不动),$AA^{+}\\begin{bmatrix}2\\\\-1\\end{bmatrix}=\\frac15\\begin{bmatrix}2-2\\\\4-4\\end{bmatrix}=\\begin{bmatrix}0\\\\0\\end{bmatrix}$ ✓(垂直方向清零)。 对称、幂等、迹 $=\\frac15(1+4)=1=r$ ✓。 **(c)** $\\hat{\\mathbf{x}}=A^{+}\\mathbf{b}=\\frac{1}{25}\\begin{bmatrix}1&2\\\\2&4\\end{bmatrix}\\begin{bmatrix}1\\\\1\\end{bmatrix}=\\frac{1}{25}\\begin{bmatrix}3\\\\6\\end{bmatrix}=\\begin{bmatrix}0.12\\\\0.24\\end{bmatrix}=\\frac{3}{25}\\begin{bmatrix}1\\\\2\\end{bmatrix}$。 $A\\hat{\\mathbf{x}}=\\begin{bmatrix}1&2\\\\2&4\\end{bmatrix}\\begin{bmatrix}0.12\\\\0.24\\end{bmatrix}=\\begin{bmatrix}0.12+0.48\\\\0.24+0.96\\end{bmatrix}=\\begin{bmatrix}0.6\\\\1.2\\end{bmatrix}$,残差 $\\mathbf{r}=\\mathbf{b}-A\\hat{\\mathbf{x}}=(1-0.6,\\ 1-1.2)^{\\mathsf T}=(0.4,-0.2)^{\\mathsf T}$,$\\vert \\mathbf{r}\\vert =\\sqrt{0.16+0.04}=\\sqrt{0.2}\\approx0.447214$(脚本验算通过)。 **为什么是最小范数**:所有最小二乘解满足 $x_1+2x_2=0.6$(由正规方程 $A^{\\mathsf T}A\\mathbf{x}=A^{\\mathsf T}\\mathbf{b}$ 得 $\\begin{bmatrix}5&10\\\\10&20\\end{bmatrix}\\mathbf{x}=\\begin{bmatrix}3\\\\6\\end{bmatrix}$,即 $x_1+2x_2=0.6$)。这个解集是直线;$\\hat{\\mathbf{x}}=\\frac{3}{25}(1,2)^{\\mathsf T}$ 正是**从原点垂直落到该直线上**的点(方向 $(1,2)$ 垂直于直线 $x_1+2x_2=0.6$),所以长度最小。核验:$\\vert \\hat{\\mathbf{x}}\\vert =\\frac{3}{25}\\sqrt5\\approx0.268328$;另一个解 $(0.6,0)^{\\mathsf T}$ 长度 $0.6$,确实更长 ✓。 **(d)** $\\mathbf{c}=(1,3)^{\\mathsf T}$。$A\\mathbf{x}$ 总在 $\\operatorname{span}\\{(1,2)\\}$ 上,所以最小残差就是 $\\mathbf{c}$ 到直线 $\\operatorname{span}\\{(1,2)\\}$ 的距离: $$A^{+}\mathbf{c}=\frac{1}{25}\begin{bmatrix}1&2\\2&4\end{bmatrix}\begin{bmatrix}1\\3\end{bmatrix}=\frac{1}{25}\begin{bmatrix}7\\14\end{bmatrix}=\begin{bmatrix}0.28\\0.56\end{bmatrix},$$ $$A(A^{+}\mathbf{c})=\begin{bmatrix}1&2\\2&4\end{bmatrix}\begin{bmatrix}0.28\\0.56\end{bmatrix}=\begin{bmatrix}0.28+1.12\\0.56+2.24\end{bmatrix}=\begin{bmatrix}1.4\\2.8\end{bmatrix},$$ $$\vert \mathbf{c}-A(A^{+}\mathbf{c})\vert =\left\vert \begin{bmatrix}1-1.4\\3-2.8\end{bmatrix}\right\vert =\left\vert \begin{bmatrix}-0.4\\0.2\end{bmatrix}\right\vert =\sqrt{0.2}\approx0.447214.$$ **注意本题残差范数与 (c) 恰好相同(都是 $\\sqrt{0.2}$)**,而且两个残差向量互为相反数:$(0.4,-0.2)^{\\mathsf T}$ 与 $(-0.4,0.2)^{\\mathsf T}$。这是这两个数值巧合($\\vert \\mathbf{b}\\vert =\\vert \\mathbf{c}\\vert $ 且两者在列空间上的投影长度分别为 $3/\\sqrt5$ 与 $7/\\sqrt5$,垂直分量长度皆为 $\\sqrt{0.2}$),**不是普遍规律**。普遍成立的只有一件事:**残差永远落在 $N(A^{\\mathsf T})$ 里**。核验:$A^{\\mathsf T}\\mathbf{r}=\\begin{bmatrix}1&2\\\\2&4\\end{bmatrix}\\begin{bmatrix}0.4\\\\-0.2\\end{bmatrix}=\\begin{bmatrix}0.4-0.4\\\\0.8-0.8\\end{bmatrix}=\\begin{bmatrix}0\\\\0\\end{bmatrix}$ ✓,且 $A^{\\mathsf T}(-0.4,0.2)^{\\mathsf T}=\\mathbf{0}$ ✓。用投影公式核验:$\\mathbf{c}$ 到 $\\mathbf{u}=(1,2)$ 的投影系数为 $\\frac{(1,3)\\cdot(1,2)}{5}=\\frac75=1.4$,投影点 $\\frac75(1,2)=(1.4,2.8)$ ✓。附录 A:$A^{+}$ 的 $\Sigma^{+}$ 结构与子空间映射总图(本讲核心可视化)
把 SVD 的”谱形式”与伪逆的”逐项取倒数”画在一张图上,是理解 $A^{+}$ 最快的方式。
┌────────────────────────────────────────────────────────────────────────────┐
│ 设 A 是 m×n,秩 r。SVD: A = U Σ Vᵀ │
│ │
│ U (m×m 正交) Σ (m×n 对角) V (n×n 正交) │
│ ┌──────────┐ ┌────────────┐ ┌──────────┐ │
│ │ │ │ │ │ │ │ σ₁ │ │ │ │ │ │ │ │
│ │ u₁u₂u₃u₄ │ = │ σ₂ │ × │ v₁v₂v₃v₄ │ │
│ │ │ │ │ │ │ │ σ_r │ │ │ │ │ │ │ │
│ │ │ │ 0 │ │ │ │
│ └──────────┘ │ 0 │ └──────────┘ │
│ 列:C(A) 的正交基 └────────────┘ 列:C(Aᵀ) 的正交基 │
│ (前 r 列张成 C(A), r 个非零 σᵢ (前 r 列张成 C(Aᵀ), │
│ 后 m−r 列张成 N(Aᵀ)) 后 n−r 列张成 N(A)) │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ 伪逆:把每个非零 σᵢ 换成 1/σᵢ,零保持零,并把 Σ 转置成 n×m │
│ │
│ A⁺ = V Σ⁺ Uᵀ Σ⁺ = ⎡ 1/σ₁ 0 0 ⋯ 0 ⎤ (n×m) │
│ ⎢ 0 1/σ₂ 0 ⋯ 0 ⎥ │
│ ⎢ 0 0 1/σ_r ⋯ 0 ⎥ │
│ ⎢ ⋮ ⋮ ⋮ ⋱ ⋮ ⎥ │
│ ⎣ 0 0 0 ⋯ 0 ⎦ │
│ │
│ ↑ 这一块(r 个倒数)是"能还原的方向" │
│ ↓ 其余零行/零列是"信息已丢失的方向"——绝不除零,直接补零 │
│ │
│ 谱形式: A = Σ_{i=1}^{r} σᵢ uᵢ vᵢᵀ │
│ A⁺ = Σ_{i=1}^{r} (1/σᵢ) vᵢ uᵢᵀ ← 逐项取倒数! │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ 四个基本子空间的"双向桥"图 │
│ │
│ Rⁿ(输入空间) Rᵐ(输出空间) │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ C(Aᵀ) 维数 r │ ──── A ───►│ C(A) 维数 r │ │
│ │ (行空间) │ ◄─── A⁺ ──│ (列空间) │ │
│ │ │ 双射! │ │ │
│ ├──────────────────────┤ ├──────────────────────┤ │
│ │ N(A) 维数 n−r │ ──── A ───►│ N(Aᵀ) 维数 m−r │ │
│ │ (零空间) │ 全部→0 │ (左零空间) │ │
│ │ │ ◄─── A⁺ ──│ 全部→0 │ │
│ └──────────────────────┘ └──────────────────────┘ │
│ │
│ A⁺A = 投影到 C(Aᵀ)(杀掉 N(A)) ✓ 对称 ✓ 幂等 ✓ 迹 = r │
│ AA⁺ = 投影到 C(A) (杀掉 N(Aᵀ)) ✓ 对称 ✓ 幂等 ✓ 迹 = r │
│ rank(A⁺) = rank(A) = r │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ 最小范数最小二乘解的几何(b 的分解) │
│ │
│ b ∈ Rᵐ │
│ │ │
│ ├──► b₁ = AA⁺b ∈ C(A) ← 投影到列空间("能表示的部分") │
│ │ │
│ └──► b₂ = (I − AA⁺)b ∈ N(Aᵀ) ← 投影到左零空间("永远无法消除的误差")│
│ │
│ b = b₁ + b₂, b₁ ⊥ b₂, ||b||² = ||b₁||² + ||b₂||² │
│ │
│ x̂ = A⁺b = A⁺b₁ (b₂ 被 A⁺ 杀掉,因为 A⁺ 在 N(Aᵀ) 上为 0) │
│ 最小残差 = ||b − Ax̂|| = ||b₂|| = b 到 C(A) 的距离 │
└────────────────────────────────────────────────────────────────────────────┘
附录 B:$A^{+}$ 的快速判定与计算路线图
要算 A⁺(m×n,秩 r)?按顺序问自己:
┌─ 1. A 是方阵且可逆吗?(det ≠ 0)
│ ├── 是 → A⁺ = A⁻¹,用 Gauss–Jordan 或伴随矩阵,O(n³)
│ └── 否 ↓
├─ 2. A 列满秩吗?(m ≥ n 且 AᵀA 可逆,即 N(A) = {0})
│ ├── 是 → A⁺ = (AᵀA)⁻¹Aᵀ = 左逆 L,用 QR 最稳:A = QR ⇒ A⁺ = R⁻¹Qᵀ
│ └── 否 ↓
├─ 3. A 行满秩吗?(m ≤ n 且 AAᵀ 可逆,即 N(Aᵀ) = {0})
│ ├── 是 → A⁺ = Aᵀ(AAᵀ)⁻¹ = 右逆 R
│ └── 否 ↓
├─ 4. A 是秩 1 外积吗?(A = u vᵀ)
│ ├── 是 → A⁺ = v uᵀ / (||u||² ||v||²) ← 一行公式
│ └── 否 ↓
└─ 5. 一般情形 → 只能走 SVD:A = UΣVᵀ ⇒ A⁺ = VΣ⁺Uᵀ
数值实现提示:
● 永远不要显式算 (AᵀA)⁻¹(会平方条件数!κ(AᵀA) = κ(A)²)
● 用 QR(列满秩)或 SVD(一般)分解
● 用掩码处理零奇异值: S⁺ = zeros; S⁺[S > tol] = 1 ./ S[S > tol]
● 阈值 tol ≈ max(m,n) * eps * σ_max(LAPACK 的惯例)
条件数的警示(本讲最重要的一课):$\kappa(A)=\sigma_{\max}/\sigma_{\min}$。
| $\kappa(A)$ | 丢失的有效位数(双精度约 16 位) | 实际含义 |
|---|---|---|
| $1\sim 10$ | 0 | 安全 |
| $10^4$ | 4 | 还好,注意即可 |
| $10^8$ | 8 | 危险,解只剩一半精度 |
| $10^{16}$ | 16 | 完全不可信,数值上等于奇异 |
验算例:$A=\begin{bmatrix}3&0\\4&5\end{bmatrix}$:$\sigma_1=3\sqrt5$,$\sigma_2=\sqrt5$, \(\kappa(A)=\frac{3\sqrt5}{\sqrt5}=3,\) 条件数只有 3,非常良态(脚本验算:$\sigma_1/\sigma_2=6.7082039325/2.2360679775=3.000000$)。这解释了为什么这个例子用 SVD 求伪逆与直接求逆给出完全相同的数值到机器精度。
对比讲次 16 的希尔伯特矩阵 $H_4$($\kappa\approx1.5\times10^4$):同样的算法,误差会放大约 5000 倍——这就是”伪逆 + 截断”在实际工程中不可替代的原因。
附录 C:左逆 / 右逆 / 伪逆 / 逆 的完整关系图
┌────────────────────────────────────────────────────────────────────────────┐
│ A 的形状决定了它能有什么逆 │
│ │
│ A: m×n,秩 r = rank(A) │
│ │ │
│ ┌─────────────────────┼─────────────────────┐ │
│ ▼ ▼ ▼ │
│ ┌─────────┐ ┌──────────┐ ┌──────────┐ │
│ │ m > n │ │ m = n │ │ m < n │ │
│ └────┬────┘ └────┬─────┘ └────┬─────┘ │
│ │ │ │ │
│ r = n? r = n? r = m? │
│ │ │ │ │ │ │ │
│ 是 否 是 否 是 否 │
│ │ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ ▼ ▼ │
│ 左逆 只有伪逆 逆 = 只有伪逆 右逆 只有伪逆 │
│ L A⁺ A⁻¹ A⁺ R A⁺ │
│ │ │ │ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ LA = Iₙ A⁻¹A = AA⁻¹ = I AR = Iₘ │
│ AL = 投影(秩 n) RA = 投影(秩 m) │
│ (≠ Iₘ) (≠ Iₙ) │
│ │
│ ┌────────────────────────────────────────────────────────────────────┐ │
│ │ 统一事实:A⁺ = V Σ⁺ Uᵀ 永远存在、永远唯一、满足四条 MP 条件 │ │
│ │ ● 以上所有"左逆/右逆/逆"都是 A⁺ 的特例 │ │
│ │ ● A⁺A 与 AA⁺ 永远是正交投影(对称 + 幂等),秩都等于 r │ │
│ │ ● 只有 m = n 且 r = n 时,才有 A⁺A = AA⁺ = I │ │
│ └────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────┐
│ 一个重要不等式(信息论的视角) │
│ │
│ A 的"信息保留率" = r / n(输入方向中被真正传出去的比例) │
│ A 的"冗余率" = 1 − r/m(输出维度中真正被用到的比例) │
│ │
│ 当 r < min(m,n) 时: │
│ ● 存在非零的 N(A):多个输入给出同一输出(不可逆) │
│ ● 存在非零的 N(Aᵀ):有些输出根本无法到达(无解) │
│ ● 这是"两侧都漏水"的矩阵,A⁺ 同时修补两侧: │
│ 用 A⁺A 把输入侧多余的零空间分量丢掉(取最小范数解) │
│ 用 AA⁺ 把输出侧不可达的分量丢掉(取最小残差解) │
└────────────────────────────────────────────────────────────────────────────┘
附录 D:$2\times2$ 情形的全部闭式公式(可直接手算)
对 $2\times2$ 矩阵,$A^{+}$ 有完全显式的公式,考试与手算都极其好用。
情形 1:$A=\begin{bmatrix}a&b\\c&d\end{bmatrix}$ 且 $\det A=ad-bc\neq0$ \(A^{+}=A^{-1}=\frac{1}{ad-bc}\begin{bmatrix}d&-b\\-c&a\end{bmatrix}.\)
情形 2:$A$ 秩 1(此时 $\det A=0$ 且 $A\neq O$) \(A^{+}=\frac{1}{\operatorname{tr}(A^{\mathsf T}A)}\,A^{\mathsf T}=\frac{1}{\sum_{i,j}a_{ij}^2}A^{\mathsf T}.\) 推导:记 $\mu=\operatorname{tr}(A^{\mathsf T}A)=\sum_{i,j}a_{ij}^2$ 为全部元素的平方和。若 $A=\mathbf{u}\mathbf{v}^{\mathsf T}$,则 $\mu=\vert \mathbf{u}\vert ^2\vert \mathbf{v}\vert ^2$,而 $A^{\mathsf T}=\mathbf{v}\mathbf{u}^{\mathsf T}$,与上面的一行公式完全吻合。脚本已在五个秩 1 例子上验证:$A=\begin{bmatrix}1&1\\0&0\end{bmatrix}$ 给出 $A^{+}=\frac12A^{\mathsf T}=\frac12\begin{bmatrix}1&0\\1&0\end{bmatrix}$;$A=\begin{bmatrix}1&2\\2&4\end{bmatrix}$ 给出 $\frac{1}{25}A^{\mathsf T}$;$A=\begin{bmatrix}2&4\\1&2\end{bmatrix}$ 给出 $\frac{1}{25}A^{\mathsf T}=\frac{1}{25}\begin{bmatrix}2&1\\4&2\end{bmatrix}=\begin{bmatrix}0.08&0.04\\0.16&0.08\end{bmatrix}$ ✓(注意是 $A^{\mathsf T}$ 而非 $A$——写成 $\frac{1}{25}A$ 会得到转置的错值)。
情形 3:$A=O$(零矩阵) \(A^{+}=O\quad(n\times m\ \text{的零矩阵}).\) (所有奇异值为 0,$\Sigma^{+}$ 全零。注意情形 2 的公式在 $A=O$ 时分母 $\operatorname{tr}(A^{\mathsf T}A)=0$ 而失效,必须单独处理——这也再次说明”绝不对零求倒数”的原则。)
情形 4:满秩 $2\times2$ 的显式公式 \(A^{+}=A^{-1}=\frac{1}{\det(A^{\mathsf T}A)}\Bigl[(\operatorname{tr}(A^{\mathsf T}A))\,A^{\mathsf T}-A^{\mathsf T}AA^{\mathsf T}\Bigr],\qquad \det(A^{\mathsf T}A)=(\det A)^2\neq0.\) 脚本已对六个满秩 $2\times2$ 矩阵逐一验证($\begin{bmatrix}3&0\\4&5\end{bmatrix}$ 给出 $\begin{bmatrix}1/3&0\\-4/15&1/5\end{bmatrix}$、$\begin{bmatrix}1&2\\3&4\end{bmatrix}$ 给出 $\begin{bmatrix}-2&1\\1.5&-0.5\end{bmatrix}$、$\begin{bmatrix}2&0\\0&3\end{bmatrix}$ 给出 $\begin{bmatrix}1/2&0\\0&1/3\end{bmatrix}$,全部正确)。 附属恒等式:对 $2\times2$ 有 \(\bigl(\operatorname{tr}(A^{\mathsf T}A)\bigr)^2-\operatorname{tr}\bigl((A^{\mathsf T}A)^2\bigr)=2\det(A^{\mathsf T}A)=2(\det A)^2,\) 脚本在四个矩阵上验算比值恰为 $2$。因此若你记的是带 $\operatorname{tr}$ 的版本,分母必须是 $\frac12\bigl[(\operatorname{tr}A^{\mathsf T}A)^2-\operatorname{tr}((A^{\mathsf T}A)^2)\bigr]=\det(A^{\mathsf T}A)$;漏掉这个 $\frac12$ 会让答案整体缩小一半——以 $\begin{bmatrix}3&0\\4&5\end{bmatrix}$ 为例,分母应为 $225$(得 $\begin{bmatrix}1/3&0\\-4/15&1/5\end{bmatrix}$),若误用 $450$ 则得到 $\begin{bmatrix}1/6&0\\-2/15&1/10\end{bmatrix}$,全盘皆错。建议直接用 $\det(A^{\mathsf T}A)=(\det A)^2$ 的形式,避免这个陷阱。
注意:情形 4 要求 $\det A\neq0$,所以它只是”用 SVD 术语重写的 $A^{-1}$”,并非真正的推广。秩 1 与秩 0 的情形才需要独立的公式——这正是”伪逆”的价值所在:它统一处理了 $A^{-1}$ 无法触及的退化情形。一般 $m\times n$ 的 $A^{+}$ 没有简洁闭式(附录 D 的思路在 $n\ge3$ 就不再给出简单公式),SVD 才是唯一的通用入口。
验算清单(全部用脚本核过):
| $A$ | 形状/秩 | $A^{+}$ | $A^{+}A$ | $AA^{+}$ |
|---|---|---|---|---|
| $\begin{bmatrix}3&0\\4&5\end{bmatrix}$ | $2\times2$,满秩 | $\begin{bmatrix}1/3&0\\-4/15&1/5\end{bmatrix}=A^{-1}$ | $I_2$ | $I_2$ |
| $\begin{bmatrix}1&1\\0&0\end{bmatrix}$ | $2\times2$,秩 1 | $\frac12\begin{bmatrix}1&0\\1&0\end{bmatrix}$ | $\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}$ | $\begin{bmatrix}1&0\\0&0\end{bmatrix}$ |
| $\begin{bmatrix}1&1\\1&1\end{bmatrix}$ | $2\times2$,秩 1 | $\frac14\begin{bmatrix}1&1\\1&1\end{bmatrix}$ | $\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}$ | $\frac12\begin{bmatrix}1&1\\1&1\end{bmatrix}$ |
| $\begin{bmatrix}1&2\\2&4\end{bmatrix}$ | $2\times2$,秩 1 | $\frac{1}{25}\begin{bmatrix}1&2\\2&4\end{bmatrix}$ | $\frac15\begin{bmatrix}1&2\\2&4\end{bmatrix}$ | 同左(因 $A$ 对称) |
| $\begin{bmatrix}1&0\\0&1\\1&1\end{bmatrix}$ | $3\times2$,秩 2 | $\frac13\begin{bmatrix}2&-1&1\\-1&2&1\end{bmatrix}$ | $I_2$ | $\frac13\begin{bmatrix}2&-1&1\\-1&2&1\\1&1&2\end{bmatrix}$ |
| $\begin{bmatrix}1&0&1\\0&1&1\end{bmatrix}$ | $2\times3$,秩 2 | $\frac13\begin{bmatrix}2&-1\\-1&2\\1&1\end{bmatrix}$ | $\frac13\begin{bmatrix}2&-1&1\\-1&2&1\\1&1&2\end{bmatrix}$ | $I_2$ |
注意表中最后两行:$3\times2$ 的 $AA^{+}$ 与 $2\times3$ 的 $A^{+}A$ 恰好是同一个 $3\times3$ 矩阵。这不是巧合——因为这两个 $A$ 互为转置关系($A_2=A_1^{\mathsf T}$),而 $(A^{\mathsf T})^{+}=(A^{+})^{\mathsf T}$,所以 $A_2^{+}A_2=(A_1^{\mathsf T})^{+}A_1^{\mathsf T}=(A^{+})^{\mathsf T}A^{\mathsf T}=(AA^{+})^{\mathsf T}=AA^{+}$(投影矩阵对称)。这是一条好用的一般恒等式:$(A^{\mathsf T})^{+}=(A^{+})^{\mathsf T}$。
附录 E:$A^{+}$ 的四条 Moore–Penrose 条件的”翻译表”
每一条条件都有几何/物理含义,理解含义比背公式有用得多:
| 条件 | 代数形式 | 几何翻译 | 为什么需要它 |
|---|---|---|---|
| (1) | $AA^{+}A=A$ | $A^{+}$ 在 $A$ 的像上是 $A$ 的真逆 | 保证”能还原的部分精确还原” |
| (2) | $A^{+}AA^{+}=A^{+}$ | $A$ 在 $A^{+}$ 的像上也是 $A^{+}$ 的真逆 | 保证 $A^{+}$ 不引入额外成分(唯一性的一半) |
| (3) | $(AA^{+})^{\mathsf T}=AA^{+}$ | $AA^{+}$ 是正交投影(垂直投影,不是斜投影) | 保证”最小残差“(误差垂直于列空间) |
| (4) | $(A^{+}A)^{\mathsf T}=A^{+}A$ | $A^{+}A$ 是正交投影 | 保证”最小范数“(解垂直于零空间) |
用一张图串起来:
b ──────────────────────────────────────────────────────►
│ │
│ (3) 保证 AA⁺ 是正交投影 ⇒ b₂ ⊥ C(A) │
│ ⇒ ||b − Ax|| 在所有 x 中最小(最小二乘) │
│ │
▼ ▼
x̂ = A⁺b ─────────────────────────────────────────────────►
│
│ (4) 保证 A⁺A 是正交投影 ⇒ x̂ ⊥ N(A)
│ ⇒ ||x̂|| 在所有最小二乘解中最小(最小范数)
│
▼
(1)(2) 保证这套操作是"自洽的":A⁺ 与 A 在秩空间上互为真逆
唯一性定理(不必背证明,记住结论):满足四条条件的矩阵 $A^{+}$ 存在且唯一。存在性由 SVD 构造给出;唯一性来自:若 $X,Y$ 都满足,则 \(X=XAX=(XA)^{\mathsf T}X=(A^{\mathsf T}X^{\mathsf T})X=(YA)^{\mathsf T}X=YA X=YAX=Y.\) (脚本可先构造 $A^{+}$ 再验证四条,本讲所有例子都已通过。)
附录 F:应用速览——从病态问题到推荐系统
应用 1:病态线性系统的稳定求解 解 $A\mathbf{x}=\mathbf{b}$ 时,若 $\kappa(A)$ 巨大,直接用 $A^{-1}$ 会把噪声放大 $10^8$ 倍。用截断伪逆: \(A_k^{+}=\sum_{i=1}^{k}\frac{1}{\sigma_i}\mathbf{v}_i\mathbf{u}_i^{\mathsf T}\quad(\text{只保留前 } k \text{ 个大奇异值}),\) \(\hat{\mathbf{x}}=A_k^{+}\mathbf{b}.\) 这就是主成分回归(PCR)/ 截断 SVD 去噪。图像去噪、地震反演、CT 重建都用它。
应用 2:最小二乘的数值稳定实现 永远不要算 $(A^{\mathsf T}A)^{-1}A^{\mathsf T}$(条件数平方)。用 QR(列满秩)或 SVD(一般):
// 概念示意:截断 SVD 解最小二乘
function pinvSolve(A, b, tolRel = 1e-12) { // A: m×n, b: m
// 1. SVD: A = U Σ Vᵀ (用 LAPACK/数值库)
// 2. σmax = max(σ); tol = tolRel * max(m,n) * σmax
// 3. S⁺ = zeros(n,m); S⁺[σ > tol] = 1 ./ σ[σ > tol]
// 4. x̂ = V @ (S⁺ @ (Uᵀ @ b))
// 返回 x̂ —— 自动给出最小范数最小二乘解,且对病态稳健
}
对比: | 方法 | 条件数敏感度 | 能处理奇异 A | 代价 | |—|—|—|—| | 正规方程 $(A^{\mathsf T}A)^{-1}A^{\mathsf T}\mathbf{b}$ | $\kappa^2$(最差) | 不能 | $O(mn^2)$ 但最不稳定 | | QR:$R^{-1}Q^{\mathsf T}\mathbf{b}$ | $\kappa$(好) | 仅列满秩 | $2mn^2$ | | SVD:$V\Sigma^{+}U^{\mathsf T}\mathbf{b}$ | $\kappa$(好) | 可以(截断) | $O(mn^2)$,最稳 |
应用 3:压缩感知(compressed sensing) 若信号 $\mathbf{x}$ 在某个基下稀疏(只有 $k$ 个非零),则只需 $m\approx k\log(n/k)\ll n$ 次随机测量就能恢复 $\mathbf{x}$,方法是解 \(\min\vert \mathbf{x}\vert _1\quad\text{s.t.}\quad A\mathbf{x}=\mathbf{b}.\) 伪逆是这条路的”祖先”:$A^{+}$ 是在$\ell^2$ 范数下取最小($\min\vert \mathbf{x}\vert _2$ s.t. $A\mathbf{x}=\mathbf{b}$ 的解法),而压缩感知把 $\ell^2$ 换成 $\ell^1$——因为 $\ell^1$ 球有尖角,最优点会落在坐标轴上,从而自动”选稀疏”。这是从 2010 年代起信号处理最重要的突破之一。
应用 4:推荐系统与矩阵补全(Netflix Prize) 用户-电影评分矩阵 $M$($m$ 用户 $\times$ $n$ 电影)极度稀疏(大多数格子没评分)。假设 $M$ 近似低秩($\operatorname{rank}\approx k$,因为”用户口味”只有少数几个维度),则用 \(\min_{\operatorname{rank}(X)\le k}\ \sum_{(i,j)\in\Omega}(X_{ij}-M_{ij})^2\) 补齐缺失格。低秩约束的凸松弛是核范数最小化 $\vert X\vert _*=\sum_i\sigma_i(X)$——核范数就是奇异值之和,正是 $A^{+}$ 视角的核心量。低秩 + SVD 截断也是主成分分析(PCA)的数学基础。
应用 5:伪逆与”摩尔-彭罗斯广义逆”在控制/统计中的名字
- 控制论:$A^{+}$ 叫”最小二乘广义逆”,用于冗余机械臂的逆运动学(多余自由度 → 最小范数关节运动)。
- 统计:$A^{+}\mathbf{b}$ 就是”最小二乘估计”,$A^{+}$ 是”帽子矩阵”的一部分($H=AA^{+}$)。
- 机器学习:线性回归的闭式解 $\hat{\mathbf{w}}=X^{+}\mathbf{y}$,就是伪逆(scikit-learn 的
LinearRegression在solver='svd'时做的就是这件事)。
附录 G:三条延伸思考(不附答案,供自测)
- 设 $A=\begin{bmatrix}1&0\\0&2\\0&0\end{bmatrix}$($3\times2$)。求 $A^{+}$,并验证 $A^{+}A=I_2$、$AA^{+}=\operatorname{diag}(1,1,0)$。(提示:直接看出来 $A$ 的 SVD 就是 $\operatorname{diag}$ 形式加一列零,不需要算特征值。)
- 若 $A$ 与 $B$ 都是 $m\times n$ 且 $A^{\mathsf T}B=0$,那么 $(A+B)^{+}=A^{+}+B^{+}$ 成立吗?(提示:考察 $A=\begin{bmatrix}1\\0\end{bmatrix}$,$B=\begin{bmatrix}0\\1\end{bmatrix}$;两者 $A^{\mathsf T}B=0$,但 $(A+B)$ 是 $(1,1)^{\mathsf T}$,其伪逆是 $\frac12(1,1)$,而 $A^{+}+B^{+}=(1,0)^{\mathsf T}+(0,1)^{\mathsf T}=(1,1)^{\mathsf T}\neq\frac12(1,1)$。结论:不成立——伪逆不是线性的。)
- 设 $\mathbf{a}=(1,2,3)^{\mathsf T}$,$A=\mathbf{a}\mathbf{a}^{\mathsf T}$($3\times3$,秩 1)。求 $A^{+}$,并说明 $A^{+}\mathbf{b}$ 是怎样的向量。(提示:$A^{+}=\frac{1}{(\mathbf{a}^{\mathsf T}\mathbf{a})^2}\mathbf{a}\mathbf{a}^{\mathsf T}=\frac{1}{196}\mathbf{a}\mathbf{a}^{\mathsf T}$,因为 $\vert \mathbf{a}\vert ^2=14$,$\vert \mathbf{a}\vert ^4=196$。$A^{+}\mathbf{b}$ 总是 $\mathbf{a}$ 的倍数。)
