分块矩阵的Sherman-Morrison-Woodbury公式在多重低秩更新求逆中的应用
题目描述
假设我们有一个已知逆矩阵的大型分块矩阵 \(A \in \mathbb{R}^{n \times n}\),其逆矩阵 \(A^{-1}\) 已预先计算。现在需要对 \(A\) 进行多次低秩修正(例如 \(k\) 次修正),每次修正形式为 \(U_i V_i^T\),其中 \(U_i, V_i \in \mathbb{R}^{n \times r_i}\) 是低秩矩阵(\(r_i \ll n\))。目标是在避免直接对修正后的矩阵 \(A + \sum_{i=1}^k U_i V_i^T\) 求逆的情况下,高效计算其逆矩阵或求解相关线性方程组。
解题过程
- Sherman-Morrison-Woodbury (SMW) 公式基础
SMW 公式是矩阵求逆引理的推广,适用于单次低秩修正:
\[ (A + U V^T)^{-1} = A^{-1} - A^{-1} U (I + V^T A^{-1} U)^{-1} V^T A^{-1}, \]
其中 \(U, V \in \mathbb{R}^{n \times r}\),且 \(I + V^T A^{-1} U\) 可逆。该公式将 \(n \times n\) 矩阵的求逆转化为 \(r \times r\) 矩阵的求逆,显著降低计算量。
-
多重低秩更新的挑战
直接对 \(k\) 次修正 \(\sum_{i=1}^k U_i V_i^T\) 应用 SMW 公式需递归处理,但每次修正会改变矩阵结构,导致后续修正的 \(U_i, V_i\) 需重新与更新后的矩阵交互,计算复杂度可能增至 \(O(k^2 n^2)\)。需寻找一种整体处理方式。 -
整体化多重修正策略
将 \(k\) 次修正合并为单次修正:- 定义块矩阵 \(U = [U_1, U_2, \dots, U_k] \in \mathbb{R}^{n \times R}\),\(V = [V_1, V_2, \dots, V_k] \in \mathbb{R}^{n \times R}\),其中 \(R = \sum_{i=1}^k r_i\)。
- 修正后的矩阵可写为 \(A + U V^T\)。
此时可直接应用 SMW 公式:
\[ (A + U V^T)^{-1} = A^{-1} - A^{-1} U (I + V^T A^{-1} U)^{-1} V^T A^{-1}. \]
关键步骤转为计算 \(M = I + V^T A^{-1} U \in \mathbb{R}^{R \times R}\) 的逆。
-
高效计算 \(M^{-1}\)
- 计算 \(W = A^{-1} U\)(利用已知 \(A^{-1}\) 左乘 \(U\)),复杂度 \(O(n R^2)\)。
- 计算 \(V^T W \in \mathbb{R}^{R \times R}\),复杂度 \(O(n R^2)\)。
- 求 \(M = I + V^T W\) 的逆,复杂度 \(O(R^3)\)。
由于 \(R \ll n\),总复杂度 \(O(n R^2 + R^3)\) 远低于直接求逆的 \(O(n^3)\)。
-
算法步骤总结
- 输入:\(A^{-1}\), 修正对 \(\{ (U_i, V_i) \}_{i=1}^k\)。
- 步骤 1:构造 \(U = [U_1, \dots, U_k]\), \(V = [V_1, \dots, V_k]\)。
- 步骤 2:计算 \(W = A^{-1} U\)。
- 步骤 3:计算 \(M = I + V^T W\)。
- 步骤 4:求 \(M^{-1}\)。
- 步骤 5:计算逆矩阵:
\[ (A + U V^T)^{-1} = A^{-1} - W M^{-1} V^T A^{-1}. \]
- 输出:修正后矩阵的逆。
- 应用场景与注意事项
- 适用于动态更新系统(如机器学习中的在线学习、协方差矩阵修正)。
- 若 \(M\) 条件数大,需数值稳定技巧(如Cholesky分解或SVD)。
- 当 \(R\) 较大时,需权衡整体化与分步修正的效率。