舒尔补/schur补

本文详细解析了分块矩阵的舒尔补概念,包括其在矩阵非奇异性和行列式计算中的应用,以及如何利用舒尔补求解分块矩阵的逆。对于理解和操作大型矩阵具有重要的理论意义。

在这里插入图片描述

本文地址:https://blog.youkuaiyun.com/itnerd/article/details/83385817

n x n 的矩阵可以写成分块形式: M = [ A B C D ] n × n M = \left[\begin{matrix} A & B \\ C & D \end{matrix} \right]_{n \times n} M=[ACBD]n×n其中 A 和 D 为方阵。

  • 若 A 是非奇异的,则 A 在 M 中的舒尔补为: D − C A − 1 B D - CA^{-1}B DCA1B
  • 若 D 是非奇异的,则 D 在 M 中的舒尔补为: A − B D − 1 C A - BD^{-1}C ABD1C

要记住上面的形式很容易,只要记住字母顺序 DCAB、ABDC 都是在 M 中顺时针排列的。


若 A 非奇异,则有

[ I 0 − C A − 1 I ] [ A B C D ] [ I − A − 1 B 0 I ] = [ A 0 0 D − C A − 1 B ] (1) \left[\begin{matrix} I & 0 \\ -CA^{-1} & I \end{matrix} \right] \left[\begin{matrix} A & B \\ C & D \end{matrix} \right] \left[\begin{matrix} I & -A^{-1}B \\ 0 & I \end{matrix} \right] =\left[\begin{matrix} A & 0 \\ 0 & D-CA^{-1}B \end{matrix} \right]\tag{1} [ICA10I][ACBD][I0A1BI]=[A00DCA1B](1)
上式可以看作对矩阵 M 实施分块矩阵的初等行列变换。由 (1) 可得 ∣ A B C D ∣ = ∣ A 0 0 D − C A − 1 B ∣ = ∣ A ∣ ∣ D − C A − 1 B ∣ \left|\begin{matrix} A & B \\ C & D \end{matrix} \right| = \left|\begin{matrix} A & 0 \\ 0 & D-CA^{-1}B \end{matrix} \right| = |A||D-CA^{-1}B| ACBD=A00DCA1B=ADCA1B此时 M 非 奇 异 ⟺ D − C A − 1 B 非 奇 异 M 非奇异 \Longleftrightarrow D-CA^{-1}B 非奇异 MDCA1B
同理,当 D 非奇异时 M 非 奇 异 ⟺ A − B D − 1 C 非 奇 异 。 M 非奇异 \Longleftrightarrow A-BD^{-1}C 非奇异。 MABD1C


分块矩阵的逆

由式 (1) 还可以方便地求得分块矩阵的逆。
[ I − A − 1 B 0 I ] − 1 [ A B C D ] − 1 [ I 0 − C A − 1 I ] − 1 = [ A − 1 0 0 ( D − C A − 1 B ) − 1 ] \left[\begin{matrix} I & -A^{-1}B \\ 0 & I \end{matrix} \right]^{-1} \left[\begin{matrix} A & B \\ C & D \end{matrix} \right]^{-1} \left[\begin{matrix} I & 0 \\ -CA^{-1} & I \end{matrix} \right]^{-1} =\left[\begin{matrix} A^{-1} & 0 \\ 0 & (D-CA^{-1}B)^{-1} \end{matrix} \right] [I0A1BI]1[ACBD]1[ICA10I]1=[A100(DCA1B)1]因而 [ A B C D ] − 1 = [ I − A − 1 B 0 I ] [ A − 1 0 0 ( D − C A − 1 B ) − 1 ] [ I 0 − C A − 1 I ] \left[\begin{matrix} A & B \\ C & D \end{matrix} \right]^{-1} =\left[\begin{matrix} I & -A^{-1}B \\ 0 & I \end{matrix} \right] \left[\begin{matrix} A^{-1} & 0 \\ 0 & (D-CA^{-1}B)^{-1} \end{matrix} \right] \left[\begin{matrix} I & 0 \\ -CA^{-1} & I \end{matrix} \right] [ACBD]1=[I0A1BI][A100(DCA1B)1][ICA10I]

在这里插入图片描述

舒尔引理(Schur Complement Lemma)是一个在线性代数中的重要概念,主要用于矩阵分解与优化理论等领域。以下是关于其数学原理的详细介绍: --- ### 舒尔定义 对于一个分块方阵 \( M \) 的形式如下: \[ M = \begin{bmatrix} A & B \\ C & D \end{bmatrix}, \] 其中 \( A, B, C, D \) 是子矩阵,\( A \) 和 \( D \) 分别是左上角和右下角的主对角块。 若 \( A \) 可逆,则可以定义 **D 关于 A 的舒尔** 为: \[ S_D = D - CA^{-1}B. \] 类似地,若 \( D \) 可逆,则可以定义 **A 关于 D 的舒尔** 为: \[ S_A = A - BD^{-1}C. \] --- ### 舒尔引理的核心思想 舒尔引理主要描述了正定性的传递关系。具体来说: - 若 \( M \) 是半正定矩阵 (\( M \succeq 0 \)),则以下条件等价: 1. 子矩阵 \( A \) 半正定 (\( A \succeq 0 \)). 2. 舒尔 \( S_D = D - CA^{-1}B \) 半正定 (\( S_D \succeq 0 \)). 这一性质广泛应用于凸优化、控制论以及统计推断领域。 --- ### 应用场景举例 #### 场景一:约束优化问题 在二次规划 (Quadratic Programming) 中,目标函数通常涉及矩阵的形式化表示。利用舒尔引理可以帮助简化约束条件,从而更高效地求解最优值。 #### 场景二:概率分布建模 高斯过程模型中经常需要处理协方差矩阵的分解。通过计算某些特定块的舒尔,能够有效降低维度复杂度。 #### 场景三:控制系统稳定性分析 研究动态系统的渐近稳定时,常需验证李雅普诺夫不等式的成立情况。此时引入舒尔技巧可以使证明更加直观简洁。 --- ### 示例代码实现 下面展示如何使用 Python 计算给定矩阵舒尔。 ```python import numpy as np # 定义输入矩阵 A = np.array([[4., 1.], [1., 3.]]) B = np.array([[2.], [-1.]]) C = B.T D = np.array([[5.]]) # 检查是否可逆 if np.linalg.det(A) != 0: # 计算舒尔 schur_complement = D - C @ np.linalg.inv(A) @ B print("Schur complement:", schur_complement) else: print("Matrix A is not invertible.") ``` ---
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

颹蕭蕭

白嫖?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值