在之前的许多次接触中感到了矩阵求逆引理的强大可谓在通信中无处不在。然而稍显繁琐的表达式让我总是没能完整记忆,每次都要对着矩阵论的书才得以使用。痛定思痛,恰好今天看了维基上对其的介绍,觉得太过优雅,就以这篇博客记录一下。

Woodbury 恒等式 :
(A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1(A+U C V)^{-1}=A^{-1}-A^{-1} U\left(C^{-1}+V A^{-1} U\right)^{-1} V A^{-1} (A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1

我直接无脑记忆的方法是先把A和C换位加逆,U和V换位,得到右式中间那项,然后U,V各自乘在远离自己的一侧,左右外层再各套上A的逆。。

接下来介绍维基给出的精彩证明。

我们首先证明两个恒等式:

(I+P)−1=I−(I+P)−1P=I−P(I+P)−1(I+P)^{-1}=I-(I+P)^{-1} P=I-P(I+P)^{-1} (I+P)−1=I−(I+P)−1P=I−P(I+P)−1

证明如下:I=(I+P)−1(I+P)=(I+P)−1+(I+P)−1PI=(I+P)^{-1}(I+P)=(I+P)^{-1}+(I+P)^{-1} P I=(I+P)−1(I+P)=(I+P)−1+(I+P)−1P
第二个恒等式:

(I+UV)−1U=U(I+VU)−1(I+U V)^{-1} U=U(I+V U)^{-1} (I+UV)−1U=U(I+VU)−1
也叫作push-through identity

注意到这个恒等式本身也很有用,例如有个m×nm\times nm×n的矩阵H\mathbf{H}H,其中m≫nm\gg nm≫n,那么:
(I+HHH)−1H=HH(I+HHH)−1(I+HH^H)^{-1}H=H^H(I+H^HH)^{-1}(I+HHH)−1H=HH(I+HHH)−1
这样就将对m×mm\times mm×m的矩阵求逆变为了对n×nn\times nn×n的矩阵求逆,大幅降低了复杂度。

证明如下:显然有U(I+VU)=(I+UV)UU(I+V U)=(I+U V) U U(I+VU)=(I+UV)U
两边均乘以(I+UV)−1(I+U V)^{-1}(I+UV)−1和(I+VU)−1(I+V U)^{-1}(I+VU)−1即得结论。

结合这两恒等式,我们有:

(I+UV)−1=I−U(I+VU)−1V(I+U V)^{-1}=I-U(I+V U)^{-1} V (I+UV)−1=I−U(I+VU)−1V

事实上这已经是最后Woodbury公式的简化版了,将U=A−1UU=A^{-1}UU=A−1U,V=CVV=CVV=CV代入,有:

(I+A−1UCV)−1=I−A−1U(I+CVA−1U)−1CV(I+A^{-1}U CV)^{-1}=I-A^{-1}U(I+CVA^{-1}U)^{-1} CV (I+A−1UCV)−1=I−A−1U(I+CVA−1U)−1CV

式子两边均乘以A−1A^{-1}A−1,有:

(A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1(A+U C V)^{-1}=A^{-1}-A^{-1} U\left(C^{-1}+V A^{-1} U\right)^{-1} V A^{-1} (A+UCV)−1=A−1−A−1U(C−1+VA−1U)−1VA−1

也即Woodbury求逆公式。

再探矩阵求逆引理 : Woodbury恒等式的证明相关推荐

  1. 矩阵求逆引理(Matrix Inversion Lemma)的意义

    矩阵求逆引理: (Z+UWV)−1=Z−1−Z−1U(W−1+VZ−1U)−1VZ−1(Z+UWV)^{-1} = Z^{-1} - Z^{-1}U(W^{-1}+V Z^{-1}U)^{-1}V Z ...

  2. 矩阵求逆引理(Matrix inversion lemma)推导

      矩阵求逆引理(Matrix inversion lemma):   现有矩阵AAA可以写为如下分块矩阵形式: A=[A11A21A12A22](m+n)×(m+n)A=[A11A12A21A22] ...

  3. 再探C#类与结构体究竟谁快——考虑栈变量、栈分配、64位整数、密封类

    上次我对C#类与结构体做了一次速度评测(http://blog.csdn.net/zyl910/article/details/6788417).经过一段时间思索,发现还可以进一步探讨-- 第一.栈变 ...

  4. SAP MM 工序委外场景再探 – 相关采购申请单据中的总账科目确定

    SAP MM 工序委外场景再探 – 相关采购申请单据中的总账科目确定 如下的采购申请,是工序委外场景的采购申请, 它在工单1000030 Release的时候被自动触发. 问题是:这个PR上的总账科目 ...

  5. 【Vue.js 牛刀小试】:第九章 - 组件基础再探(data、props)

    系列目录地址 一.基础知识概览 第一章 - 一些基础概念(posted at 2018-10-31) 第二章 - 常见的指令的使用(posted at 2018-11-01) 第三章 - 事件修饰符的 ...

  6. RxSwift学习--核心逻辑再探

    前言 通过上一篇内容RxSwift学习--核心逻辑初探,对RxSwift有了些初步的认知,下面通过源码来看一下RxSwift到底有多骚 RxSwift核心逻辑再探 先把上篇中的例子代码搬过来: //第 ...

  7. 【CTF大赛】2021 DASCTF July cybercms 一探再探

    引言 在前不久结束的 2021 DASCTF July X CBCTF 4th 比赛中,有一道名为 cybercms 的 web 题目. 预期解是从后台登录处进行 SQL 注入写入一句话木马,然而咱在 ...

  8. 联发科mtk手机处理器怎么样_5G手机价格将再探新低!联发科天玑700芯片发布:入门级5G处理器...

    ↑↑↑点击上方蓝字订阅每日最新国产手机资讯 今年5G手机的普及之所以能进展的如此迅速,联发科在5G芯片领域的的活跃功不可没.今天一早,联发科发布的全新的天玑700移动平台,标志着5G手机的价格将进一步 ...

  9. C++ 类的知识 | 构造函数再探、匿名对象、友元函数、内部类、类的const成员、类的static成员

    文章目录 构造函数再探 以下代码共调用多少次拷贝构造函数 委托构造函数 概念 形式 匿名对象 友元 友元的声明 友元类 令成员函数作为友元 函数重载和友元 注意 内部类 特性 类的const成员 可变 ...

最新文章

  1. 感冒了,头晕晕沉沉的,什么时候能好啊!
  2. 虚拟机ping不通主机,但是主机可以ping通虚拟机(转载)
  3. PAT (Basic Level) 1091 N-自守数(模拟+stl)
  4. 怎样实现linux的网络通信协议是,一种基于Linux系统的TCP/IP协议栈的实现
  5. 取消IDEA保存文件,默认删除行尾空格
  6. Pycharm快捷键及常用设置【建议收藏】
  7. NullReferenceException
  8. HCIE Security AC访客管理和终端安全 备考笔记(幕布)
  9. ssh-key生成密钥及SSH无密码登录的配置(转载)
  10. FFmpeg编码详细流程
  11. 聚类分析 matlab
  12. 【区块链实战】区块链在哪些行业得到了应用
  13. #1163 : 博弈游戏·Nim游戏(数学博弈)
  14. 四旋翼飞行器室内编队飞行项目整理
  15. 【sping boot】run as maven install 和buid fat jar打包不一样 后者运行不起来
  16. linux网络编程大杂烩==Linux应用编程7
  17. listen函数详解
  18. 趣图:当计算机可以更新的时候
  19. python环境jieba分词的安装
  20. a problem occurred with this webpage so it was reloaded问题研究

热门文章

  1. Nginx proxy_pass指令(代理配置)
  2. perl 一行命令 2021-09-02
  3. python中val的意思_python中val是什么
  4. 代码详解设计模式--观察者模式
  5. 创建一个子进程,子进程向无名管道中写入数据,父进程打印输出。
  6. 安卓逆向013之DDMS去广告(车来了)
  7. CS5801|替代LT6711A|HDMI转DP转接线方案|HDMI转DP带供电芯片方案
  8. Python小记:14.数据分析基础知识点汇总
  9. 关于使用2d照片进行3d建模
  10. python开发autocad_利用Python自动化操作AutoCAD的实现