当前位置:网站首页>schur completement
schur completement
2022-07-30 07:49:00 【sunset stained ramp】
目的:Study the derivation of some formulas,schur Complement formulas are often encountered in matrix multiplication,So write down the derivation formula to deepen your understanding
舒尔补(schur completement)定义
in linear algebra or matrix theory,Schur complement Written in matrix block form,表示如下:
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,qare two non-negative integers.因此可以看到 M M M为 ( p + q ) × ( p + q ) (p+q) \times (p+q) (p+q)×(p+q)的方正.
如果 D D D是可逆(invertible),then the matrix block Schur completement 被定义为:
M / D : = A − B D − 1 C M/D:=A-BD^{-1}C M/D:=A−BD−1C
如果 A A A是可逆(invertible),then the matrix block 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 The matrix becomes upper triangular or lower triangular, respectively.
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]
证明一:
If you want to get the diagonal matrix,First use Gaussian elimination,消去 C C C,Obtained using the formula(It is multiplied by the right,Indicates row elimination,这样 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]
The obtained equation is as follows
C + D X = 0 = > X = − D − 1 C C+DX=0=>X=-D^{-1}C C+DX=0=>X=−D−1C
将 X X XBring in the formula for the matrix above 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]
Now use the elimination method to eliminate B B B,Use row elimination.In the formula it is left multiplication.
[ 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]
The obtained equation is as follows:
B + D X = 0 = > X = − D − 1 B B+DX=0=>X=-D^{-1}B B+DX=0=>X=−D−1B
将 X X Xinto the equation to get
[ 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]
Summarizing the two formulas can be obtained:
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]
证明二:
Use the algebra of linear systems to find
[ 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
Bring in 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)
After converting the above into vector form,in converting to a matrix.
2)Quickly find matrices 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]
Known from the formula,when finding the inverse of a matrix,可以通过先获取 ( M / D ) (M/D) (M/D),Then get its inverse.
边栏推荐
- Proftpd配置文件
- Network Protocol 03 - Routing and NAT
- STL源码剖析:bound friend template friend代码测试和理解
- kubernetes搭建SonarQube进行代码扫描
- Test the basics 01
- 测试开发工程师成长日记018 - 测试面试必备题记录(持续更新)
- 测试开发工程师成长日记003 - 接口自动化框架搭建
- Test Development Engineer Growth Diary 008 - Talking About Some Bugs/Use Case Management Platform/Collaboration Platform
- prometheus-basic_auth加密配置
- GAIA-IR:GraphScope 上的并行化图查询引擎
猜你喜欢

Redis6的数据类型

kubernetes搭建SonarQube进行代码扫描

(GGG)JWT

Rapidly develop GraphScope graph analysis applications

Test Development Engineer Growth Diary 018 - Record of Required Questions for Test Interview (Continuous Update)

事件传递和响应者链条

flask项目快速搭建部署gunicorn+supervisor

测试开发工程师成长日记001 - 敏捷测试、CI/CD/CT、DecOps的一些介绍

05-Theos

GAIA-IR:GraphScope 上的并行化图查询引擎
随机推荐
SE_01
GNNLab:基于空间共享思想设计的新型 GNN 系统
软件测试术语 - 场景测试
From installation to compilation: 10 minutes to teach you to use and develop GraphScope locally
GadgetInspector principle analysis
proftpd 配置文件说明
删除openstack中的僵尸实例
libgrape-lite: 提供 GraphScope 的图分析能力
向量叉乘的几何意义及其模的计算
向量三重积的等式推导证明
Network Protocol 03 - Routing and NAT
Multithreading basics (concept, create, interrupt)
测试开发工程师成长日记002 - 从0开始做接口自动化
DHCP principle and configuration
npm安装nodejs环境配置
Swagger使用方式,告别postman
libgrape-lite on GPUs: GPU helps accelerate graph analysis tasks
测试开发工程师成长日记007 - Bug的优先级定义及填写规范
How to import matlab data into modelsim simulation
GCD timer