分块矩阵的Sherman-Morrison-Woodbury公式求逆算法
字数 1483 2025-11-02 17:11:24
分块矩阵的Sherman-Morrison-Woodbury公式求逆算法
题目描述
假设我们有一个已知逆矩阵 \(A^{-1}\) 的 \(n \times n\) 可逆矩阵 \(A\),现需对 \(A\) 进行低秩修正,得到新矩阵 \(B = A + U V^T\),其中 \(U\) 是 \(n \times k\) 矩阵,\(V\) 是 \(n \times k\) 矩阵(通常 \(k \ll n\))。Sherman-Morrison-Woodbury(SMW)公式提供了一种高效计算 \(B^{-1}\) 的方法,避免直接对 \(B\) 求逆(复杂度 \(O(n^3)\)),而是利用 \(A^{-1}\) 和低维矩阵运算(复杂度 \(O(k^2n + k^3)\))快速求解。
解题过程
-
问题分析
- 直接求 \(B^{-1}\) 需要 \(O(n^3)\) 计算量,当 \(n\) 很大时成本高昂。
- SMW 公式将问题转化为求 \(k \times k\) 矩阵的逆(\(k \ll n\)),显著降低计算复杂度。
- 公式的推导基于分块矩阵求逆和恒等式变换。
-
公式推导
- 从恒等式出发:
\[ B = A + U V^T = A (I + A^{-1} U V^T) \]
- 利用矩阵求逆引理:若 \(I + P Q\) 可逆,则
\[ (I + P Q)^{-1} = I - P (I + Q P)^{-1} Q \]
其中 $ P = A^{-1} U $,$ Q = V^T $。
- 代入恒等式:
\[ B^{-1} = (I + A^{-1} U V^T)^{-1} A^{-1} = A^{-1} - A^{-1} U (I + V^T A^{-1} U)^{-1} V^T A^{-1} \]
这里 $ I + V^T A^{-1} U $ 是 $ k \times k $ 矩阵。
-
算法步骤
- 输入:\(A^{-1}\)、\(U\)、\(V\)(\(k \ll n\))。
- 步骤1:计算 \(P = A^{-1} U\)(矩阵乘法,复杂度 \(O(n^2 k)\))。
- 步骤2:计算 \(Q = V^T P\)(即 \(V^T A^{-1} U\),复杂度 \(O(n k^2)\))。
- 步骤3:构造 \(k \times k\) 矩阵 \(M = I_k + Q\),并求逆 \(M^{-1}\)(复杂度 \(O(k^3)\))。
- 步骤4:计算 \(B^{-1} = A^{-1} - P M^{-1} V^T A^{-1}\)(通过组合矩阵乘法,复杂度 \(O(n^2 k)\))。
- 总复杂度:\(O(n^2 k + k^3)\),远优于 \(O(n^3)\)。
-
数值稳定性考虑
- 当 \(A\) 条件数较大时,\(A^{-1}\) 的误差可能放大。建议使用数值稳定的矩阵分解(如LU分解)隐式计算 \(A^{-1} U\) 和 \(V^T A^{-1}\)。
- 若 \(M\) 接近奇异,需采用正则化或截断策略。
-
应用场景
- 动态系统参数更新(如卡尔曼滤波)。
- 机器学习中的在线学习(如线性回归的增量更新)。
- 有限元分析中的局部矩阵修正。
通过SMW公式,我们实现了高效、低复杂度的矩阵逆更新,特别适用于大规模稀疏或结构化矩阵的低秩修正场景。