Have a Question?
舒尔补 | Schur’s complement
1 定义
给定任意的矩阵块 \mathbf{M},其分块定义如下:
\mathbf{M}=\left[\begin{array}{ll}\mathbf{A} & \mathbf{B} \\\mathbf{C} & \mathbf{D}\end{array}\right]\tag{1}
- 如果矩阵块 \mathbf{D} 是可逆的,则 \Delta_{\mathbf{D}}\mathbf{A}-\mathbf{B D}^{-1} \mathbf{C} 称之为 \mathbf{D} 关于 \mathbf{M} 的舒尔补。
- 如果矩阵块 \mathbf{A} 是可逆的,则 \Delta_{\mathbf{A}}=\mathbf{D}-\mathbf{C A}^{-1} \mathbf{B} 称之为 \mathbf{A} 关于 \mathbf{M} 的舒尔补。
舒尔补的来源是高斯消元法分块求解线性方程。
2 舒尔补应用
2.1 矩阵三角化、对角化
在矩阵上下三角化时,结果矩阵包含舒尔补,例如:
\begin{aligned}&{\left[\begin{array}{cc}\mathbf{I} & \mathbf{0} \\-\mathbf{C A}^{-1} & \mathbf{I}\end{array}\right]\left[\begin{array}{cc}\mathbf{A} & \mathbf{B} \\\mathbf{C} & \mathbf{D}\end{array}\right]=\left[\begin{array}{cc}\mathbf{A} & \mathbf{B} \\\mathbf{0} & \Delta_{\mathbf{A}}\end{array}\right]} \\&{\left[\begin{array}{cc}\mathbf{A} & \mathbf{B} \\\mathbf{C} & \mathbf{D}\end{array}\right]\left[\begin{array}{cc}\mathbf{I} & -\mathbf{A}^{-1} \mathbf{B} \\\mathbf{0} & \mathbf{I}\end{array}\right]=\left[\begin{array}{cc}\mathbf{A} & 0 \\\mathbf{C} & \Delta_{\mathbf{A}}\end{array}\right]}\end{aligned}\tag{2}
二者联合起来可以将矩阵 \mathbf{M} 变为对角形:
\left[\begin{array}{cc}\mathbf{I} & \mathbf{0} \\-\mathbf{C A}^{-1} & \mathbf{I}\end{array}\right]\left[\begin{array}{cc}\mathbf{A} & \mathbf{B} \\\mathbf{C} & \mathbf{D}\end{array}\right]\left[\begin{array}{cc}\mathbf{I} & -\mathbf{A}^{-1} \mathbf{B} \\\mathbf{0} & \mathbf{I}\end{array}\right]=\left[\begin{array}{cc}\mathbf{A} & \mathbf{0} \\\mathbf{0} & \Delta_{\mathrm{A}}\end{array}\right]\tag{3}
从对角形恢复成 \mathbf{M} 操作如下:
\left[\begin{array}{cc}\mathbf{I} & \mathbf{0} \\\mathbf{C A}^{-1} & \mathbf{I}\end{array}\right]\left[\begin{array}{cc}\mathbf{A} & \mathbf{0} \\\mathbf{0} & \Delta_{\mathbf{A}}\end{array}\right]\left[\begin{array}{cc}\mathbf{I} & \mathbf{A}^{-1} \mathbf{B} \\\mathbf{0} & \mathbf{I}\end{array}\right]=\left[\begin{array}{cc}\mathbf{A} & \mathbf{B} \\\mathbf{C} & \mathbf{D}\end{array}\right]\tag{4}
2.2 矩阵求逆
通过上述公式:
\left[\begin{array}{cc}\mathbf{A} & \mathbf{B} \\\mathbf{C} & \mathbf{D}\end{array}\right]=\left[\begin{array}{cc}\mathbf{I} & \mathbf{0} \\\mathbf{C A}^{-1} & \mathbf{I}\end{array}\right]\left[\begin{array}{cc}\mathbf{A} & \mathbf{0} \\\mathbf{0} & \Delta_{\mathbf{A}}\end{array}\right]\left[\begin{array}{cc}\mathbf{I} & \mathbf{A}^{-\mathbf{1}} \mathbf{B} \\\mathbf{0} & \mathbf{I}\end{array}\right]\tag{5}
可以将矩阵进行分块求逆:
\left[\begin{array}{cc}\mathbf{A} & \mathbf{B} \\\mathbf{C} & \mathbf{D}\end{array}\right]^{-1}=\left[\begin{array}{cc}\mathbf{I} & -\mathbf{A}^{-1} \mathbf{B} \\\mathbf{0} & \mathbf{I}\end{array}\right]\left[\begin{array}{cc}\mathbf{A}^{-1} & \mathbf{0} \\\mathbf{0} & \Delta_{\mathbf{A}}^{-1}\end{array}\right]\left[\begin{array}{cc}\mathbf{I} & \mathbf{0} \\-\mathbf{C A}^{-1} & \mathbf{I}\end{array}\right]\tag{6}
这里利用了:
\left[\begin{array}{cc}\mathbf{I} & -\mathbf{A}^{-1} \mathbf{B} \\\mathbf{0} & \mathbf{I}\end{array}\right]\left[\begin{array}{cc}\mathbf{I} & \mathbf{A}^{-1} \mathbf{B} \\\mathbf{0} & \mathbf{I}\end{array}\right]=\mathbf{I}\tag{7}
以及:
\left[\begin{array}{cc}\mathbf{I} & \mathbf{0} \\\mathbf{C A}^{-1} & \mathbf{I}\end{array}\right]\left[\begin{array}{cc}\mathbf{I} & \mathbf{0} \\-\mathbf{C A}^{-1} & \mathbf{I}\end{array}\right]=\mathbf{I}\tag{8}
2.3 求解线性方程
设 \mathbf{x} 和 \mathbf{y} 对于如下线性方程组:
\begin{aligned}&\mathbf{A} \mathbf{x}+\mathbf{B} \mathbf{y}=\mathbf{a} \\&\mathbf{C} \mathbf{x}+\mathbf{D} \mathbf{y}=\mathbf{b}\end{aligned}\tag{9}
采用矩阵形式表示:
\left[\begin{array}{cc}\mathbf{A} & \mathbf{B} \\\mathbf{C} & \mathbf{D}\end{array}\right]\left[\begin{array}{c}\mathbf{x} \\\mathbf{y}\end{array}\right]=\left[\begin{array}{c}\mathbf{a} \\\mathbf{b}\end{array}\right]\tag{10}
这样这个线性方程就可以利用舒尔补求解:
\left(\mathbf{A}-\mathbf{B} \mathbf{D}^{-1} \mathbf{C}\right) \mathbf{x}=\mathbf{a}-\mathbf{B} \mathbf{D}^{-1} \mathbf{b}\tag{11}
2.4 协方差
假设有分别属于 R_n 以及 R_m 的随机列向量 X, Y ,并且 R_{n+m} 中的向量对 (X, Y)具有多维正态分布,其方差矩阵是对称的正定矩阵:
V=\left[\begin{matrix} A & B \\ B^T & C \end{matrix}\right].\tag{12}那么 X 在 Y 给定时的条件方差是矩阵 C 在 V 中的舒尔补:
\operatorname{var}(X\mid Y) = A-BC^{-1}B^T.\tag{13}参考文献
[1] 《从零开始手写VIO》
[2] https://zh.wikipedia.org/wiki/%E8%88%92%E5%B0%94%E8%A1%A5