舒尔补(schur completement)
目的:研究一些公式的推导,schur 补公式在矩阵乘法中经常遇到,因此记下推导公式加深理解
舒尔补(schur completement)定义
在线性代数或者矩阵论中,Schur complement 写成矩阵块的形式,表示如下:
M = [ A B C D ] M = \begin{bmatrix} A&B\\C&D \end{bmatrix} M=[ACBD]
其中 A , B , C , D A, B, C, D A,B,C,D分别表示 p × p , p × q , q × p , q × q p × p, p × q, q × p, q × q p×p,p×q,q×p,q×q 维度的矩阵, p , q p,q p,q为两个非负整数。因此可以看到 M M M为 ( p + q ) × ( p + q ) (p+q) \times (p+q) (p+q)×(p+q)的方正。
如果 D D D是可逆(invertible),则矩阵块的 Schur completement 被定义为:
M / D : = A − B D − 1 C M/D:=A-BD^{-1}C M/D:=A−BD−1C
如果 A A A是可逆(invertible),则矩阵块的 Schur completement 被定义为:
M / A : = D − C A − 1 B M/A:=D-CA^{-1}B M/A:=D−CA−1B
A B C D ABCD ABCD: 它都是顺时针方向。
作用
1)将 M M M 矩阵分别变成上三角或者下三角形。
M = [ A B C D ] = [ I p B D − 1 0 I q ] [ A − B D − 1 C 0 0 D ] [ I p 0 D − 1 C I q ] M=\begin{bmatrix} A&B\\C&D \end{bmatrix}=\begin{bmatrix} I_p&BD^{-1}\\0&I_q \end{bmatrix} \space \begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} \space \begin{bmatrix} I_p&0\\D^{-1}C&I_q \end{bmatrix} M=[ACBD]=[Ip0BD−1Iq] [A−BD−1C00D] [IpD−1C0Iq]
证明一:
如果想获取对角矩阵,先用高斯消元法,消去 C C C,使用公式得到(它是通过右乘,表示行消元,这样 B D BD BD不变)
[ A B C D ] [ I p 0 X I q ] = [ A ∗ B 0 D ] \begin{bmatrix} A&B\\C&D \end{bmatrix} \begin{bmatrix} I_p&0\\X&I_q \end{bmatrix}= \begin{bmatrix} A^*&B\\0&D \end{bmatrix} [ACBD][IpX0Iq]=[A∗0BD]
获取的等式如下
C + D X = 0 = > X = − D − 1 C C+DX=0=>X=-D^{-1}C C+DX=0=>X=−D−1C
将 X X X带入上面矩阵的式子 A ∗ = A + B X A^*=A+BX A∗=A+BX得到:
[ A B C D ] [ I p 0 − D − 1 C I q ] = [ A − B D − 1 C B 0 D ] \begin{bmatrix} A&B\\C&D \end{bmatrix} \begin{bmatrix} I_p&0\\-D^{-1}C&I_q \end{bmatrix}= \begin{bmatrix} A-BD^{-1}C&B\\0&D \end{bmatrix} [ACBD][Ip−D−1C0Iq]=[A−BD−1C0BD]
现在用消元法去消除 B B B,使用行消元法。在公式中是左乘。
[ I p X 0 I q ] [ A − B D − 1 C B 0 D ] = [ A − B D − 1 C 0 0 D ] \begin{bmatrix} I_p&X\\0&I_q \end{bmatrix} \begin{bmatrix} A-BD^{-1}C&B\\0&D \end{bmatrix}=\begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} [Ip0XIq][A−BD−1C0BD]=[A−BD−1C00D]
获取的等式如下:
B + D X = 0 = > X = − D − 1 B B+DX=0=>X=-D^{-1}B B+DX=0=>X=−D−1B
将 X X X带入方程得到
[ I p − D − 1 B 0 I q ] [ A − B D − 1 C B 0 D ] = [ A − B D − 1 C 0 0 D ] \begin{bmatrix} I_p&-D^{-1}B\\0&I_q \end{bmatrix} \begin{bmatrix} A-BD^{-1}C&B\\0&D \end{bmatrix}=\begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} [Ip0−D−1BIq][A−BD−1C0BD]=[A−BD−1C00D]
总结两个公式可以得到:
M = [ A B C D ] = [ I p B D − 1 0 I q ] [ A − B D − 1 C 0 0 D ] [ I p 0 D − 1 C I q ] M=\begin{bmatrix} A&B\\C&D \end{bmatrix}=\begin{bmatrix} I_p&BD^{-1}\\0&I_q \end{bmatrix} \space \begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} \space \begin{bmatrix} I_p&0\\D^{-1}C&I_q \end{bmatrix} M=[ACBD]=[Ip0BD−1Iq] [A−BD−1C00D] [IpD−1C0Iq]
证明二:
使用线性系统的代数来求得
[ A B C D ] [ X p X q ] = [ Y p Y q ] \begin{bmatrix} A&B\\C&D \end{bmatrix}\begin{bmatrix} X_p\\X_q \end{bmatrix}=\begin{bmatrix} Y_p\\Y_q \end{bmatrix} [ACBD][XpXq]=[YpYq]
因为 [ Y p Y q ] = ( [ A B C D ] ) − 1 [ X p X q ] \begin{bmatrix} Y_p\\Y_q \end{bmatrix}=(\begin{bmatrix} A&B\\C&D \end{bmatrix})^{-1}\begin{bmatrix} X_p\\X_q \end{bmatrix} [YpYq]=([ACBD])−1[XpXq]
因为 D D D可逆,得到下面公式
X q = Y q − D − 1 C X p X_q=Y_q-D^{-1}CX_p Xq=Yq−D−1CXp
带入方式 A X p + B X q = Y p AX_p+BX_q=Y_p AXp+BXq=Yp得到 X p X_p Xp
X p = ( A − B D − 1 C ) − 1 ( Y p − B Y q ) X_p=(A-BD^{-1}C)^{-1}(Y_p-BY_q) Xp=(A−BD−1C)−1(Yp−BYq)
在将 X p X_p Xp带入 X q = Y q − D − 1 C X p X_q=Y_q-D^{-1}CX_p Xq=Yq−D−1CXp:
X q = Y q − D − 1 C ( A − B D − 1 C ) − 1 ( Y p − B Y q ) X_q=Y_q-D^{-1}C(A-BD^{-1}C)^{-1}(Y_p-BY_q) Xq=Yq−D−1C(A−BD−1C)−1(Yp−BYq)
在将上述转化为向量形式,在转化为矩阵。
2)快速求得矩阵 M M M的逆。
M − 1 = [ A B C D ] − 1 = ( [ I p B D − 1 0 I q ] [ A − B D − 1 C 0 0 D ] [ I p 0 D − 1 C I q ] ) − 1 = [ I p 0 − D − 1 C I q ] [ ( A − B D − 1 C ) − 1 0 0 D − 1 ] [ I p − B D − 1 0 I q ] = [ ( A − B D − 1 C ) − 1 − ( A − B D − 1 C ) − 1 B D − 1 − D − 1 C ( A − B D − 1 C ) − 1 D − 1 C ( A − B D − 1 C ) − 1 B D − 1 + D − 1 ] = [ ( M / D ) − 1 − ( M / D ) − 1 B D − 1 − D − 1 C ( M / D ) − 1 D − 1 + D − 1 C ( M / D ) − 1 B D − 1 ] M^{-1} =\begin{bmatrix} A&B\\C&D \end{bmatrix} ^{-1}= (\begin{bmatrix} I_p&BD^{-1}\\0&I_q \end{bmatrix} \space \begin{bmatrix} A-BD^{-1}C&0\\0&D \end{bmatrix} \space \begin{bmatrix} I_p&0\\D^{-1}C&I_q \end{bmatrix})^{-1} \\ \\ \\ =\begin{bmatrix} I_p&0\\-D^{-1}C&I_q \end{bmatrix}\space \begin{bmatrix} (A-BD^{-1}C)^{-1}&0\\0&D^{-1} \end{bmatrix} \space \begin{bmatrix} I_p&-BD^{-1}\\0&I_q \end{bmatrix} \space \\ \\ \\ =\begin{bmatrix} (A-BD^{-1}C)^{-1}& -(A-BD^{-1}C)^{-1}BD^{-1}\\-D^{-1}C (A-BD^{-1}C)^{-1}&D^{-1}C(A-BD^{-1}C)^{-1}BD^{-1} + D^{-1} \end{bmatrix} \\ \\ \\ =\begin{bmatrix} (M/D)^{-1}&-(M/D)^{-1}BD^{-1}\\-D^{-1}C(M/D)^{-1}&D^{-1} + D^{-1}C(M/D)^{-1}BD^{-1} \end{bmatrix} M−1=[ACBD]−1=([Ip0BD−1Iq] [A−BD−1C00D] [IpD−1C0Iq])−1=[Ip−D−1C0Iq] [(A−BD−1C)−100D−1] [Ip0−BD−1Iq] =[(A−BD−1C)−1−D−1C(A−BD−1C)−1−(A−BD−1C)−1BD−1D−1C(A−BD−1C)−1BD−1+D−1]=[(M/D)−1−D−1C(M/D)−1−(M/D)−1BD−1D−1+D−1C(M/D)−1BD−1]
从公式得知,在求矩阵的逆的时候,可以通过先获取 ( M / D ) (M/D) (M/D),然后获取它的逆.
舒尔补(schur completement)相关推荐
- 舒尔补理论Schur Compliment
在做slam的时候经常遇到的一个概念就是schur complement,了解这个概念,对于理解slam的优化过程也会有很大的帮助: 首先给出的是舒尔补的定义: 舒尔补的由来其实就是将一个矩阵变成对角 ...
- 块矩阵(Block Matrix)、舒尔补(Schur complement)
1.块矩阵(Block Matrix).舒尔补(Schur complement) 1.1 块矩阵 作用:来自百度百科 可使高阶矩阵的运算可以转化为低阶矩阵的运算 同时也使原矩阵的结构显得简单而清晰, ...
- 舒尔补(Schur Complement)
舒尔补 设 M \mathbf{M} M是一个 n × n n\times n n×n的矩阵 M = ( A B C D ) \mathbf{M}=\begin{pmatrix} \mathbf{A} ...
- 舒尔补在SLAM中的应用
舒尔补在SLAM中的应用 1.舒尔补的定义 2.舒尔补的由来 3.舒尔补在多元高斯分布中的应用 3.1 多元变量的高斯分布 3.2 边缘概率和条件概率的协方差矩阵 3.3 边缘概率和条件概率的信息矩阵 ...
- SLAM基础——舒尔补介绍
文章目录 1:book: 舒尔补介绍 1-1:bookmark: 舒尔补定义 1-2:bookmark: 舒尔补的定理推导 1-3 :bookmark: 用途:快速求矩阵的逆 1-4:bookmark ...
- 数学_使用舒尔补简化矩阵求逆
1. 舒尔补概念 将矩阵化成上三角矩阵 将矩阵化成上三角矩阵,左乘 ,示例解方程如下: 将矩阵化成下三角矩阵 将矩阵化成上三角矩阵,左乘 ,示例解方程如下:
- schur补(schur complement)
1. schur补的定义及性质 2. schur补的应用 2.1 在矩阵方程求解中的应用 2. 概率论和统计学中的应用 https://blog.csdn.net/itnerd/article/det ...
- PRML - Chapter 02 Probability Distributions
PRML - Chapter 02 Probability Distributions 提纲 重点 密度估计 充分统计量 高斯分布 ( 建议充分熟悉 ) 难点 贝叶斯估计 多元高斯分布 指数族分布 共 ...
- 凸优化学习笔记 11:对偶原理 拉格朗日函数
前面讲了凸优化问题的定义,以及一些常见的凸优化问题类型,这一章就要引入著名的拉格朗日函数和对偶问题了.通过对偶问题,我们可以将一些非凸问题转化为凸优化问题,还可以求出原问题的非平凡下界,这对复杂优化问 ...
最新文章
- Y项目轶事之入场半个月
- PAT甲级1152 Google Recruitment :[C++题解]判质数
- 逻辑回归模型详解(Logistic Regression)
- Python命令行选项参数解析策略
- Sqoop 1.99.3 hadoop-1.2.1 安装配置
- ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N O)
- HH SaaS电商系统的商品营销角标功能模块设计
- eclipse中tomcat能正常启动,在浏览器中不能打开问题
- 《编程珠玑(续)(修订版)》—第2章2.1节Awk中的关联数组
- 第1届ICPC青少年程序设计竞赛(正式赛)A 题 - Divide
- 安全开发Java:日志注入,并没那么简单
- 使用wireshark抓包分析实战
- Polar SI9000阻抗计算
- 计算机八进制 算法视频,八进制算法
- 解决 | 点击任务栏没有反应
- 【WAF技巧拓展】————4、web应用防火墙逃逸技术(一)
- STM32-----TFTLCD驱动原理
- 笔记本电脑外接显示器接口类型
- 微软输入法简体与繁体切换快捷键
- MySQL8高级优化,持续更新......
热门文章
- 利用matlab对彩色图像打马赛克
- sqlserver 2017 ctp 2 linux,[SQL Server]On Linux奇幻旅程(三) SQLCLR
- java 中decode函数_decode()函数使用技巧
- android电影分类布局,活动布局:片段类:vs android:name属性
- ASP.NET中的Inherits、CodeFile、CodeBehind的总结比较
- java 面向对象实现贪吃蛇小游戏
- java内存优化之SoftReference
- 苹果iCloud转区指南-最新教程
- 用计算机生成或打印机,因为打印机只是输出设备,所以同一台打印机可以根据需要连接在涉密计算机或非涉密计算机上使用 - 作业在线问答...
- 花300天深度体验20款任务管理软件,我最后选了飞项