文章目录

矩阵伪逆Moore-Penrose的奇异值分解计算及最小范数解

发布于 2026-06-27 06:51:28 · 浏览 98 次 · 评论 0 条

矩阵伪逆Moore-Penrose的奇异值分解计算及最小范数解

当面对一个方程组 $Ax = b$,矩阵 $A$ 不是方阵或者不可逆时,通常的逆矩阵 $A^{-1}$ 就不存在了。此时,我们希望通过一个矩阵 $A^+$ 来近似求解,并且希望这个解具有某种“最优”性质(比如长度最小)。这个 $A^+$ 就被称为 Moore-Penrose 伪逆。本文将使用奇异值分解(SVD)这一强大工具,手把手 你计算任意矩阵的伪逆,并用它求出最小范数解。


1. 理解核心概念:伪逆解决什么问题?

简单来说,对于一个可能无解或有无穷多解的线性方程组 $Ax = b$:

  • 如果有无穷多解,伪逆 能帮你找到其中长度(范数)最小的那个解。
  • 如果无解,伪逆 能帮你找到一个最接近解的向量 $x$,使得 $\| Ax - b \|$ 最小。这个解被称为最小二乘解。

关键思想:将矩阵 $A$ 的作用分解为“旋转-缩放-旋转”三个步骤,然后对缩放步骤取“倒数”(对零元素特殊处理),最后组合回来。这个“倒数”过程就是伪逆的核心。


2. 执行核心步骤:奇异值分解(SVD)

任何矩阵 $A$($m \times n$)都可以进行 SVD分解,这是计算伪逆的基石。

  1. 计算 矩阵 $A$ 的奇异值分解,将其表示为:

    $$A = U \Sigma V^T$$

    • $U$ 是一个 $m \times m$ 的正交矩阵(它的列向量称为左奇异向量)。
    • $V$ 是一个 $n \times n$ 的正交矩阵(它的列向量称为右奇异向量)。
    • $\Sigma$ 是一个 $m \times n$ 的“对角”矩阵。其主对角线上的元素 $\sigma_1 \geq \sigma_2 \geq ... \geq \sigma_r > 0$ 称为奇异值,其余位置为零。$r$ 是矩阵 $A$ 的秩。
  2. 理解 这个分解的几何意义:$V^T$ 将输入向量旋转/反射到一个新的坐标系,$\Sigma$ 在这个新坐标系里对各个坐标轴进行独立的缩放(拉伸或压缩),最后 $U$ 再将结果旋转/反射到输出空间。


3. 计算伪逆 $A^+$ 的具体步骤

基于SVD,计算 Moore-Penrose 伪逆 $A^+$ 的过程如下。

  1. 构建 伪逆的核心矩阵 $\Sigma^+$。这是一个 $n \times m$ 的矩阵,形状与 $\Sigma$ 的转置相同。

    • $\Sigma$ 主对角线上每个非零奇异值 $\sigma_i$ 的倒数 $1/\sigma_i$。
    • 这些倒数 $1/\sigma_i$ 放到 $\Sigma^+$ 对应的主对角线位置上。
    • 保持 $\Sigma^+$ 中其他所有位置为零。
    • 这一步的核心逻辑是:对于非零的缩放因子,我们取倒数;对于零缩放因子(对应零空间),我们保持为零,这相当于过滤掉无用的方向。
  2. 组合 得到完整的伪逆。将SVD的三个部分按以下顺序“反着”组合起来:

    $$A^+ = V \Sigma^+ U^T$$

    直观理解:先由 $U^T$ 处理输出空间,然后由 $\Sigma^+$ 进行“逆缩放”(只对非零部分),最后由 $V$ 回到输入空间。


4. 使用伪逆求最小范数解

现在,对于方程组 $Ax = b$,我们使用计算出的伪逆 $A^+$ 来求解。

  1. 计算 最小范数解 $x_{min}$:

    $$x_{min} = A^+ b$$

  2. 验证 解的最优性(可选,用于理解):

    • 最小二乘性:如果方程组无解,那么 $x_{min}$ 使得残差 $\| Ax_{min} - b \|$ 达到所有可能 $x$ 中的最小值。
    • 最小范数性:在所有使残差达到最小值的解中,$x_{min}$ 具有最小的欧几里得范数 $\| x_{min} \|$。

5. 一个完整的手动计算示例

假设矩阵 $A = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}$,向量 $b = \begin{pmatrix} 1 \\ 1 \end{pmatrix}$。我们求解 $Ax = b$ 的最小范数解。

  1. 执行 SVD分解 $A = U \Sigma V^T$(具体计算过程通常由计算机完成)。
    假设得到的结果为:
    $U = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}$, $\Sigma = \begin{pmatrix} \sqrt{2} & 0 & 0 \\ 0 & 1 & 0 \end{pmatrix}$, $V = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 0 & 1 \\ 0 & \sqrt{2} & 0 \\ -1 & 0 & 1 \end{pmatrix}$。

  2. 构建 $\Sigma^+$。$\Sigma$ 的对角元为 $\sqrt{2}$ 和 $1$,均非零。
    $$\Sigma^+ = \begin{pmatrix} \frac{1}{\sqrt{2}} & 0 \\ 0 & 1 \\ 0 & 0 \end{pmatrix}$$

  3. 计算 $A^+ = V \Sigma^+ U^T$。
    代入计算得到 $A^+ = \frac{1}{2} \begin{pmatrix} 1 & 0 \\ 0 & 2 \\ 1 & 0 \end{pmatrix}$。

  4. 求解 $x_{min} = A^+ b = \frac{1}{2} \begin{pmatrix} 1 & 0 \\ 0 & 2 \\ 1 & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 1 \end{pmatrix} = \begin{pmatrix} 0.5 \\ 1 \\ 0.5 \end{pmatrix}$。

  5. 检查:$Ax_{min} = \begin{pmatrix} 1 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix} \begin{pmatrix} 0.5 \\ 1 \\ 0.5 \end{pmatrix} = \begin{pmatrix} 1 \\ 1 \end{pmatrix} = b$。这个解精确满足方程,并且在所有满足 $x_1 + x_3 = 1$ 和 $x_2 = 1$ 的解向量中,$(0.5, 1, 0.5)^T$ 的长度 $\sqrt{0.5^2 + 1^2 + 0.5^2} = \sqrt{1.5}$ 是最小的。

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文