ARTICLE

广义逆矩阵

广义逆矩阵(generalized inverse matrix),又称伪逆(pseudoinverse),是经典逆矩阵概念在非方阵或奇异矩阵情形下的推广。对于任意矩阵 A R^m n (或 C^m n ),当 m n 或 A 不满秩时,传统逆矩阵 A^-1 不存在,但广义逆 A^+ 或 A^- 可提供类似逆的代数性质,广泛应用于最小二乘问题、线性方程组求解

浏览 0 更新 2025-12-04

广义逆矩阵(generalized inverse matrix),又称伪逆(pseudoinverse),是经典逆矩阵概念在非方阵或奇异矩阵情形下的推广。对于任意矩阵 ARm×n A \in \mathbb{R}^{m \times n} (或 Cm×n \mathbb{C}^{m \times n} ),当 mn m \neq n A A 不满秩时,传统逆矩阵 A1 A^{-1} 不存在,但广义逆 A+ A^+ A A^- 可提供类似逆的代数性质,广泛应用于最小二乘问题、线性方程组求解、统计学、控制论与机器人学等领域。最著名的广义逆是 Moore–Penrose 伪逆 A+ A^+ ,它对于每个矩阵都是唯一存在的。

1. 定义与 Penrose 条件

广义逆的概念最早由 Fredholm 于 1903 年在积分方程中萌芽,1920 年 Moore 给出了系统性定义,但其表述过于抽象。1955 年 Penrose 独立地以四条显式条件重新定义并证明了存在性与唯一性,奠定了现代理论。Penrose 条件为:

AA+A=A,  A+AA+=A+,  (AA+)=AA+,  (A+A)=A+AA A^+ A = A,\; A^+ A A^+ = A^+,\; (A A^+)^* = A A^+,\; (A^+ A)^* = A^+ A

其中 () (\cdot)^* 表示共轭转置。满足全部四条的 A+ A^+ 称为 Moore–Penrose 逆,唯一存在。仅满足条件 1 的称为 {1} \{1\} -逆或 g-逆(记作 A A^- ),不唯一但足以求解相容线性方程组。

2. 计算方法

奇异值分解法 是最稳定通用的方法。设 A=UΣV A = U \Sigma V^* Σ \Sigma 的对角元 σ1σr>0 \sigma_1 \ge \cdots \ge \sigma_r > 0 为非零奇异值,则 A+=VΣ+U A^+ = V \Sigma^+ U^* Σ+ \Sigma^+ 由非零 σi \sigma_i 取倒数并转置得到(零奇异值保持为零)。MATLAB、NumPy 的 \texttt{pinv} 均基于 SVD 实现。

特殊情形:列满秩时 A+=(AA)1A A^+ = (A^* A)^{-1} A^* (左逆);行满秩时 A+=A(AA)1 A^+ = A^*(A A^*)^{-1} (右逆);可逆方阵时 A+=A1 A^+ = A^{-1} ;零矩阵的伪逆为其转置形状的零矩阵。

3. 线性方程组求解

对于 Ax=b Ax = b ,若方程组相容(b b A A 的值域中),x=A+b x = A^+ b 给出最小 2 \ell_2 范数解;若不相容(超定),x=A+b x = A^+ b 为最小二乘解,即使残差 Axb2 \|Ax - b\|_2 达到最小。这也是伪逆在回归分析中的核心地位——线性回归 y=Xβ+ε y = X\beta + \varepsilon 的最小二乘估计 β^=(XX)1Xy \hat{\beta} = (X^* X)^{-1} X^* y 正是 X X 列满秩时的伪逆形式。

4. 广义逆类型

除 Moore–Penrose 逆外,还有:{1} \{1\} -逆(g-逆,仅满足条件 1)、{1,2} \{1,2\} -逆(自反广义逆)、{1,3} \{1,3\} -逆(最小二乘解)、{1,4} \{1,4\} -逆(最小范数解)和 Drazin 逆(方阵,用于矩阵函数与差分方程理论)。不同类型反映了实际应用中对解的不同需求——有时只需一个解,有时需最小范数或最小残差。

5. 应用领域

  • 统计学与数据科学:回归分析、多元分析中奇异协方差矩阵的处理、PCA 和 CCA 等降维方法均涉及伪逆运算。
  • 机器人学:逆运动学中 Jacobian 伪逆 q˙=J+x˙ \dot{q} = J^+ \dot{x} 用于奇异位形处的平滑控制,加权变体可实现冗余机器人的多任务优先级控制。
  • 信号处理:伪逆用于反卷积与图像去模糊;截断 SVD(TSVD)正则化用截断伪逆替代完整伪逆以抑制噪声,与 Tikhonov 正则化紧密相关。

6. 数值注意事项

避免直接计算 AA A^* A 再求逆(病态时放大舍入误差),应优先使用基于 SVD 的算法。LAPACK 的 \texttt{DGESVD}/\texttt{DGESDD} 提供稳定 SVD 实现;Python、MATLAB、Julia 的 \texttt{pinv} 均基于 SVD,但默认阈值各有差异,使用时需注意容差是否适合具体问题的尺度。