宜言饮酒,与子偕老。琴瑟在御,莫不静好。

更多精彩内容请关注微信公众号 “优化与算法

在数学(特别是线性代数)中,Woodbury矩阵恒等式是以Max A.Woodbury命名的,它 可以通过对原矩阵的逆进行秩k校正来计算某个矩阵的秩k校正的逆。这个公式的另一个名字是矩阵逆引理,谢尔曼-莫里森-伍德伯里(Sherman–Morrison–Woodbury formula)公式或只是伍德伯里公式。然而,在伍德伯里发现之前,这一等式出现在其他文献中。

1. 伍德伯里矩阵恒等式

\[\displaystyle \left(A+UCV\right)^{-1}=A^{-1}-A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\]

其中\(A\)、\(U\)、\(C\) 和 \(V\)都表示适形尺寸的矩阵。具体来说,\(A\) 的大小为 \(n×n\),\(U\) 为 \(n×k\),\(C\) 为 \(k×k\),\(V\) 为 \(k×n\)。

2. 扩展

不失一般性,可用单位矩阵替换矩阵A和C:
\[\displaystyle \left(I+UV\right)^{-1}=I-U\left(I+VU\right)^{-1}V\]

这里\(\displaystyle U=A^{-1}X\), \(\displaystyle V=CY\)。

这个等式本身可以看作是两个简单等式的组合,即等式
\[\displaystyle (I+P)^{-1}=I-(I+P)^{-1}P=I-P(I+P)^{-1}\]

和所谓的 push-through 等式
\[\displaystyle (I+UV)^{-1}U=U(I+VU)^{-1}\]的结合。

3. 特殊情况

当 \(\displaystyle V,U\) 是向量时,伍德伯里恒等式退化为谢尔曼-莫里森公式,在标量情况下,它(简化版)只是:
\[\displaystyle {\frac {1}{1+uv}}=1-{\frac {uv}{1+uv}}\]

如果 \(p=q\) 和 \(U=V=I_p\) 是单位矩阵,那么
\[ \left({A}+{B}\right)^{-1} =A^{-1}-A^{-1}(B^{-1}+A^{-1})^{-1}A^{-1}\]

\[={A}^{-1}-{A}^{-1}\left({I}+{B}{A}^{-1}\right)^{-1}{B}{A}^{-1}.\]
继续合并上述方程最右边的项,就可以得到一下恒等式:
\[\displaystyle \left({A}+{B}\right)^{-1}={A}^{-1}-\left({A}+{A}{B}^{-1}{A}\right)^{-1}\]

此等式的另一个有用的形式是:
\[\displaystyle \left({A}-{B}\right)^{-1}={A}^{-1}+{A}^{-1}{B}\left({A}-{B}\right)^{-1}\]

它有一个递归结构:
\[\displaystyle \left({A}-{B}\right)^{-1}=\sum _{k=0}^{\infty }\left({A}^{-1}{B}\right)^{k}{A}^{-1}\]

这种形式可用于微扰展开式,其中 \(B\) 是 \(A\) 的微扰。

4. 推广

二项式逆定理(Binomial Inverse Theorem)
如果 \(A\),\(U\),\(B\),\(V\) 分别是 \(p×p\),\(p×q\),\(q×q\),\(q×p\)的矩阵,那么:
\[\displaystyle \left(A+UBV\right)^{-1}=A^{-1}-A^{-1}UB\left(B+BVA^{-1}UB\right)^{-1}BVA^{-1}\]

前提是 \(A\) 和 \(B+BVA-1UB\) 是非奇异的。后者的非奇异性要求 \(B^{-1}\) 存在,因为它等于 \(B(I+VA=1ub)\),并且后者的秩不能超过 \(B\) 的秩。由于 \(B\) 是可逆的,所以在右手边的附加量逆的两边的两个 \(B\) 项可以被 \((B^{-1})^{-1}\) 替换,从而得到原始的Woodbury恒等式:
\[\displaystyle (A+UBV)^{-1}=A^{-1}-A^{-1}U(I+BVA^{-1}U)^{-1}BVA^{-1}\]

在某些情况下,\(A\) 是有可能是奇异的。

5. 延伸

公式可以通过检查 \(A+UCV\) 乘以伍德伯里恒等式右侧的所谓逆得到恒等式矩阵来证明:
\(\left(A+UCV\right)\left[A^{-1}-A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right]\)
\(={}\left\{I-U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right\}+\left\{UCVA^{-1}-UCVA^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right\}={}\)
\(\left\{I+UCVA^{-1}\right\}-\left\{U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}+UCVA^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right\}=\)
\(+UCVA^{-1}-\left(U+UCVA^{-1}U\right)\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}=\)
\(+UCVA^{-1}-UC\left(C^{-1}+VA^{-1}U\right)\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}+UCVA^{-1}-UCVA^{-1}\left({A}+{B}\right)^{-1}\) \(=A^{-1}-A^{-1}(B^{-1}+A^{-1})^{-1}A^{-1}\)$
\[={A}^{-1}-{A}^{-1}\left({I}+{B}{A}^{-1}\right)^{-1}{B}{A}^{-1}.\].

参考文献

https://en.wikipedia.org/wiki/Woodbury_matrix_identity

更多精彩内容请关注微信公众号 “优化与算法

最新文章

  1. 【BZOJ 4547】【HDU 5157】小奇的集合
  2. php中0," ",null和false的区别
  3. Objective-C编码规范:26个方面解决iOS开发问题(转)
  4. Struts2 框架下 session 读出来为null
  5. ubuntu 64位android项目报错的解决方案,打开64位 Ubuntu 的32位支持功能
  6. [转载] C++ typedef 用法详解
  7. Servlet & JSP - Form-based Authentication
  8. IntelliJ IDEA 15.0.1配置jrebel6.5.2实现热部署
  9. JUC全景图
  10. Redis介绍
  11. sql数值显示成千分位分隔符的形式
  12. 从零开始学 iOS 开发的15条建议
  13. 读Zepto源码之fx_methods模块
  14. 实现select联动效果,数据从后台获取
  15. maven项目导入依赖jar包并打包为可运行的jar包
  16. WebStorm Goland PyCharm 等JetBrains验证服务器
  17. 对Android系统权限的认识
  18. dbca时报错:ORA-12705(NLS_LANG=AMERICAN_AMERICA.UTF8);
  19. vmware 安装 kali linux 系统到U盘 启动错误(initramfs:) 修复方法
  20. zabbix 报错汇总

热门文章

  1. linux USB 编程
  2. SQLSEVER刚建表时主键自增
  3. RestFramework之视图组件
  4. sed初级教程
  5. SpringBoot自定义servlet、注册自定义的servlet、过滤器、监听器、拦截器、切面、webmvcconfigureradapter过时问题
  6. TortoiseSVN “*/SendRpt.exe not found”?
  7. 【Java】Eclipse+环境安装及新建Project
  8. 文件读写(三)利用FileStream类操作字节数组byte[]、BinaryFormatter、内存流MemoryStream
  9. 利用Linux自带的logrotate管理日志
  10. Kubernetes 从懵圈到熟练 – 集群网络详解(转)