分块矩阵求逆的Schur补方法
题目描述
考虑一个分块矩阵 \(M = \begin{bmatrix} A & B \\ C & D \end{bmatrix}\),其中 \(A\) 和 \(D\) 是方阵,且 \(A\) 可逆。我们的目标是利用Schur补方法,高效地计算分块矩阵 \(M\) 的逆矩阵 \(M^{-1}\)。这种方法通过将大矩阵的求逆问题分解为几个较小矩阵的求逆问题,可以显著降低计算复杂度,尤其适用于 \(A\) 的逆易于计算或 \(D - CA^{-1}B\) 的维数远小于 \(M\) 的情况。
解题过程
步骤1: 引入Schur补概念
Schur补是分块矩阵理论中的核心概念。对于分块矩阵 \(M\),当 \(A\) 可逆时,矩阵 \(S = D - CA^{-1}B\) 称为 \(A\) 在 \(M\) 中的Schur补。Schur补 \(S\) 包含了 \(M\) 中未被 \(A\) 捕获的、与其余部分相关的信息。可以证明,原矩阵 \(M\) 可逆当且仅当其Schur补 \(S\) 可逆。
步骤2: 对矩阵 \(M\) 进行块分解
我们的目标是找到矩阵 \(M\) 的逆矩阵 \(M^{-1}\),使其满足 \(M M^{-1} = I\)。我们假设 \(M^{-1}\) 也具有分块形式,记为 \(M^{-1} = \begin{bmatrix} W & X \\ Y & Z \end{bmatrix}\),其中 \(W, X, Y, Z\) 是待定的块矩阵,其维度分别与 \(A, B, C, D\) 相对应。
步骤3: 建立方程系统
根据逆矩阵的定义,有:
\[M M^{-1} = \begin{bmatrix} A & B \\ C & D \end{bmatrix} \begin{bmatrix} W & X \\ Y & Z \end{bmatrix} = \begin{bmatrix} I & 0 \\ 0 & I \end{bmatrix} = I \]
将乘法展开,我们得到四个矩阵方程:
- \(AW + BY = I\) (左上角块等于单位矩阵)
- \(AX + BZ = 0\) (右上角块等于零矩阵)
- \(CW + DY = 0\) (左下角块等于零矩阵)
- \(CX + DZ = I\) (右下角块等于单位矩阵)
步骤4: 求解块 \(W, X, Y, Z\)
我们按顺序求解这些方程。
- 从方程2求解 \(X\):
方程2为 \(AX + BZ = 0\)。
因为 \(A\) 可逆,我们可以将 \(X\) 表示为:
\[ X = -A^{-1}BZ \]
(方程A)
- 将方程A代入方程4求解 \(Z\):
方程4为 \(CX + DZ = I\)。
将方程A代入:\(C(-A^{-1}BZ) + DZ = I\)。
整理得:\((-CA^{-1}B + D)Z = I\)。
括号内的项 \(D - CA^{-1}B\) 正是Schur补 \(S\)。
所以方程变为:\(S Z = I\)。
因此,只要Schur补 \(S\) 可逆,我们就可以解出 \(Z\):
\[ Z = S^{-1} \]
(方程B)
- 将方程B代入方程A求解 \(X\):
将 \(Z = S^{-1}\) 代入方程A:
\[ X = -A^{-1}B S^{-1} \]
(方程C)
- 从方程3求解 \(Y\):
方程3为 \(CW + DY = 0\)。
我们可以将 \(Y\) 表示为:
\[ Y = -D^{-1}CW \]
但这里我们假设 $ D $ 可能不可逆,所以采用另一种策略。我们回到方程1。
- 从方程1和方程3联立求解 \(W\) 和 \(Y\):
我们有方程1: \(AW + BY = I\)
和方程3: \(CW + DY = 0\)
这可以写成一个关于块 \(\begin{bmatrix} W \\ Y \end{bmatrix}\) 的线性系统:
\[ \begin{bmatrix} A & B \\ C & D \end{bmatrix} \begin{bmatrix} W \\ Y \end{bmatrix} = \begin{bmatrix} I \\ 0 \end{bmatrix} \]
注意到左边的分块矩阵就是 $ M $。我们可以利用已经得到的结果。考虑 $ M^{-1} $ 的第一列块 $ \begin{bmatrix} W \\ Y \end{bmatrix} $ 应该满足 $ M \begin{bmatrix} W \\ Y \end{bmatrix} = \begin{bmatrix} I \\ 0 \end{bmatrix} $。
我们可以通过构造一个辅助矩阵来求解。考虑方程 $ M \begin{bmatrix} I \\ -S^{-1}CA^{-1} \end{bmatrix} $。
计算:
\[ \begin{bmatrix} A & B \\ C & D \end{bmatrix} \begin{bmatrix} I \\ -S^{-1}CA^{-1} \end{bmatrix} = \begin{bmatrix} A - B S^{-1}CA^{-1} \\ C - D S^{-1}CA^{-1} \end{bmatrix} \]
我们需要证明右边等于 $ \begin{bmatrix} A^{-1} \\ 0 \end{bmatrix} $ 的某种形式。
一个更系统的方法是使用我们已经得到的 $ X $ 和 $ Z $。我们知道 $ M^{-1} = \begin{bmatrix} W & X \\ Y & Z \end{bmatrix} $ 满足 $ M M^{-1} = I $。
因此,$ \begin{bmatrix} W \\ Y \end{bmatrix} $ 就是 $ M^{-1} $ 的第一列块,它使得 $ M \begin{bmatrix} W \\ Y \end{bmatrix} = \begin{bmatrix} I \\ 0 \end{bmatrix} $。
我们可以通过 $ M^{-1} $ 的表达式来反推 $ W $ 和 $ Y $。一个经典的推导是利用块高斯消元的思想。
对矩阵 $ M $ 进行行变换:
\[ \begin{bmatrix} I & 0 \\ -CA^{-1} & I \end{bmatrix} \begin{bmatrix} A & B \\ C & D \end{bmatrix} = \begin{bmatrix} A & B \\ 0 & S \end{bmatrix} \]
其中 $ S = D - CA^{-1}B $。
这个变换矩阵的逆是 $ \begin{bmatrix} I & 0 \\ CA^{-1} & I \end{bmatrix} $。
因此,$ M $ 可以分解为:
\[ M = \begin{bmatrix} I & 0 \\ CA^{-1} & I \end{bmatrix}^{-1} \begin{bmatrix} A & B \\ 0 & S \end{bmatrix} = \begin{bmatrix} I & 0 \\ -CA^{-1} & I \end{bmatrix}^{-1} \begin{bmatrix} A & B \\ 0 & S \end{bmatrix} \quad \text{(注意:这里应为 } \begin{bmatrix} I & 0 \\ CA^{-1} & I \end{bmatrix} \begin{bmatrix} A & B \\ 0 & S \end{bmatrix} = M \text{,所以 } M = \begin{bmatrix} I & 0 \\ CA^{-1} & I \end{bmatrix}^{-1} \begin{bmatrix} A & B \\ 0 & S \end{bmatrix}^{-1} \text{ 的逆需小心处理)} \]
更标准的分解放置是:
\[ M = \begin{bmatrix} I & 0 \\ CA^{-1} & I \end{bmatrix} \begin{bmatrix} A & B \\ 0 & S \end{bmatrix} \]
(请验证乘法:$ \begin{bmatrix} I & 0 \\ CA^{-1} & I \end{bmatrix} \begin{bmatrix} A & B \\ 0 & S \end{bmatrix} = \begin{bmatrix} A & B \\ CA^{-1}A + 0 & CA^{-1}B + S \end{bmatrix} = \begin{bmatrix} A & B \\ C & CA^{-1}B + (D - CA^{-1}B) \end{bmatrix} = \begin{bmatrix} A & B \\ C & D \end{bmatrix} $)
那么,$ M $ 的逆为:
\[ M^{-1} = \begin{bmatrix} A & B \\ 0 & S \end{bmatrix}^{-1} \begin{bmatrix} I & 0 \\ CA^{-1} & I \end{bmatrix}^{-1} \]
首先,$ \begin{bmatrix} I & 0 \\ CA^{-1} & I \end{bmatrix}^{-1} = \begin{bmatrix} I & 0 \\ -CA^{-1} & I \end{bmatrix} $ (因为这是一个下三角单位矩阵,其逆就是负的次对角线块)。
其次,求 $ \begin{bmatrix} A & B \\ 0 & S \end{bmatrix}^{-1} $。这是一个块上三角矩阵,其逆也具有类似形式。设 $ \begin{bmatrix} A & B \\ 0 & S \end{bmatrix}^{-1} = \begin{bmatrix} P & Q \\ R & T \end{bmatrix} $。
则有 $ \begin{bmatrix} A & B \\ 0 & S \end{bmatrix} \begin{bmatrix} P & Q \\ R & T \end{bmatrix} = \begin{bmatrix} I & 0 \\ 0 & I \end{bmatrix} $。
展开得:
$ AP + BR = I $
$ AQ + BT = 0 $
$ S R = 0 $
$ S T = I $
由 $ S T = I $ 得 $ T = S^{-1} $。
由 $ S R = 0 $ 且 $ S $ 可逆,得 $ R = 0 $。
由 $ AP + B*0 = I $ 得 $ P = A^{-1} $。
由 $ A Q + B S^{-1} = 0 $ 得 $ Q = -A^{-1} B S^{-1} $。
所以,$ \begin{bmatrix} A & B \\ 0 & S \end{bmatrix}^{-1} = \begin{bmatrix} A^{-1} & -A^{-1}B S^{-1} \\ 0 & S^{-1} \end{bmatrix} $.
现在,计算 $ M^{-1} $:
\[ M^{-1} = \begin{bmatrix} A^{-1} & -A^{-1}B S^{-1} \\ 0 & S^{-1} \end{bmatrix} \begin{bmatrix} I & 0 \\ -CA^{-1} & I \end{bmatrix} \]
进行矩阵乘法:
\[ M^{-1} = \begin{bmatrix} A^{-1}I + (-A^{-1}B S^{-1})(-CA^{-1}) & A^{-1}*0 + (-A^{-1}B S^{-1})I \\ 0*I + S^{-1}(-CA^{-1}) & 0*0 + S^{-1}I \end{bmatrix} \]
\[ M^{-1} = \begin{bmatrix} A^{-1} + A^{-1}B S^{-1}CA^{-1} & -A^{-1}B S^{-1} \\ -S^{-1}CA^{-1} & S^{-1} \end{bmatrix} \]
步骤5: 得到最终公式
通过与最初假设的 \(M^{-1} = \begin{bmatrix} W & X \\ Y & Z \end{bmatrix}\) 对比,我们得到:
\[W = A^{-1} + A^{-1}B S^{-1} C A^{-1} \]
\[ X = -A^{-1}B S^{-1} \]
\[ Y = -S^{-1} C A^{-1} \]
\[ Z = S^{-1} \]
其中 \(S = D - C A^{-1} B\) 是Schur补。
因此,分块矩阵 \(M\) 的逆矩阵为:
\[M^{-1} = \begin{bmatrix} A^{-1} + A^{-1}B S^{-1} C A^{-1} & -A^{-1}B S^{-1} \\ -S^{-1} C A^{-1} & S^{-1} \end{bmatrix} \]
总结
Schur补方法将一个大矩阵 \(M\) 的求逆问题,转化为对两个较小矩阵 \(A\) 和 \(S\) 的求逆问题。计算过程主要涉及矩阵乘法和加法。当 \(A\) 的逆易于计算(例如是对角矩阵或小型矩阵),且Schur补 \(S\) 的维度远小于 \(M\) 时,这种方法能极大地节省计算量和存储空间。