矩阵的MP逆&条件数

MP逆的数学形式

设矩阵 $A \in \mathbb{R}^{m\times n}$,若存在矩阵 $A^+ \in \mathbb{R}^{n\times m}$ 满足以下四个 Penrose 条件:

  1. $AA^+A = A$
  2. $A^+AA^+ = A^+$
  3. $(AA^+)^T = AA^+$
  4. $(A^+A)^T = A^+A$

则称 $A^+$ 为矩阵 $A$ 的 Moore—Penrose 逆,也称为 $A$ 的 MP逆。

满足上述四个条件的矩阵是唯一的,因此 MP逆具有唯一性。当 $A$ 可逆时,有 $A^+ = A^{-1}$,所以 MP逆可以看作普通逆在非方阵或奇异矩阵情形下的推广。

MP逆的常见数值求解算法

MP逆的数值计算中,最常见、最稳定的方法是奇异值分解(SVD)。若

其中 $U$ 和 $V$ 为正交矩阵,$\Sigma$ 为奇异值对角矩阵,则

其中 $\Sigma^+$ 由 $\Sigma$ 中所有非零奇异值取倒数后再转置得到。

常见数值求解方法主要有:

  1. 基于SVD的方法

    • 适用于任意矩阵,是计算 MP逆的标准方法;
    • 数值稳定性好,特别适合处理病态矩阵或秩亏矩阵。
  2. 基于正规方程的方法

    • 当 $A$ 满列秩时,
    • 当 $A$ 满行秩时,
    • 这种方法公式简单,但数值稳定性通常不如 SVD。
  3. 基于QR分解的方法

    • 对满秩矩阵可先做 QR 分解,再转化为上三角系统求解;
    • 相比直接求逆,数值性质更好,常用于最小二乘问题。
  4. 迭代算法

    • 对大规模矩阵,可采用 Newton-Schulz 迭代、最小残量类方法等近似求解;
    • 适合稀疏矩阵或不便显式分解的情形。

在实际计算中,若强调通用性与稳定性,通常优先采用 SVD;若矩阵具有特殊结构且规模较大,则常结合 QR 分解或迭代算法提高效率。

矩阵的条件数

矩阵的条件数用于描述线性系统对数据扰动的敏感程度。对可逆方阵 $A$,在给定矩阵范数下,其条件数定义为

在 2-范数下,条件数可以写成奇异值的形式:

其中 $\sigma{\max}(A)$ 和 $\sigma{\min}(A)$ 分别表示矩阵 $A$ 的最大奇异值和最小奇异值。

条件数满足 $\kappa(A)\ge 1$。当 $\kappa(A)$ 较大时,说明矩阵是病态的,输入数据中的微小误差或舍入误差都会在计算结果中被明显放大;当 $\sigma_{\min}(A)$ 很小时,矩阵就接近奇异,数值计算会变得不稳定。

条件数对矩阵求逆有直接影响。若 $A$ 的条件数很大,则计算 $A^{-1}$ 时对浮点误差非常敏感,得到的逆矩阵可能包含较大的相对误差;相应地,求解线性方程组 $Ax=b$ 时,右端项 $b$ 或系数矩阵 $A$ 中很小的扰动都可能引起解的明显变化。

条件数对 MP逆的计算同样重要。由奇异值分解

可得

如果矩阵存在很小的非零奇异值,则在构造 $\Sigma^+$ 时需要对这些奇异值取倒数,从而产生很大的系数,这会放大数据误差和舍入误差。因此,对于病态矩阵或接近秩亏的矩阵,MP逆的数值计算往往不稳定。

这也是为什么在计算 MP逆时通常优先采用 SVD 方法:它能够直接反映奇异值的分布,并识别那些过小的奇异值。在实际数值计算中,常常通过截断过小奇异值或加入正则化来改善稳定性。