Have a Question?

舒尔补 | Schur’s complement

You are here:

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}

那么 XY 给定时的条件方差是矩阵 CV 中的舒尔补:

\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

Add a Comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Table of Contents