伍德伯里矩阵恒等式(Woodbury matrix identity)

2023-10-19 07:20

本文主要是介绍伍德伯里矩阵恒等式(Woodbury matrix identity),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


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

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

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

1. 伍德伯里矩阵恒等式

( A + U C V ) − 1 = A − 1 − A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 \displaystyle \left(A+UCV\right)^{-1}=A^{-1}-A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1} (A+UCV)1=A1A1U(C1+VA1U)1VA1

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

2. 扩展

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

这里 U = A − 1 X \displaystyle U=A^{-1}X U=A1X, V = C Y \displaystyle V=CY V=CY

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

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

3. 特殊情况

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

如果 p = q p=q p=q U = V = I p U=V=I_p U=V=Ip 是单位矩阵,那么
( A + B ) − 1 = A − 1 − A − 1 ( B − 1 + A − 1 ) − 1 A − 1 \left({A}+{B}\right)^{-1} =A^{-1}-A^{-1}(B^{-1}+A^{-1})^{-1}A^{-1} (A+B)1=A1A1(B1+A1)1A1

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

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

它有一个递归结构:
( A − B ) − 1 = ∑ k = 0 ∞ ( A − 1 B ) k A − 1 \displaystyle \left({A}-{B}\right)^{-1}=\sum _{k=0}^{\infty }\left({A}^{-1}{B}\right)^{k}{A}^{-1} (AB)1=k=0(A1B)kA1

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

4. 推广

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

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

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

5. 延伸

公式可以通过检查 A + U C V A+UCV A+UCV 乘以伍德伯里恒等式右侧的所谓逆得到恒等式矩阵来证明:
( A + U C V ) [ A − 1 − A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 ] \left(A+UCV\right)\left[A^{-1}-A^{-1}U\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}\right] (A+UCV)[A1A1U(C1+VA1U)1VA1]
= { I − U ( C − 1 + V A − 1 U ) − 1 V A − 1 } + { U C V A − 1 − U C V A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 } = ={}\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\}={} ={IU(C1+VA1U)1VA1}+{UCVA1UCVA1U(C1+VA1U)1VA1}=
{ I + U C V A − 1 } − { U ( C − 1 + V A − 1 U ) − 1 V A − 1 + U C V A − 1 U ( C − 1 + V A − 1 U ) − 1 V A − 1 } = \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\}= {I+UCVA1}{U(C1+VA1U)1VA1+UCVA1U(C1+VA1U)1VA1}=
+ U C V A − 1 − ( U + U C V A − 1 U ) ( C − 1 + V A − 1 U ) − 1 V A − 1 = +UCVA^{-1}-\left(U+UCVA^{-1}U\right)\left(C^{-1}+VA^{-1}U\right)^{-1}VA^{-1}= +UCVA1(U+UCVA1U)(C1+VA1U)1VA1=
+ U C V A − 1 − U C ( C − 1 + V A − 1 U ) ( C − 1 + V A − 1 U ) − 1 V A − 1 + U C V A − 1 − U C V A − 1 ( A + B ) − 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} +UCVA1UC(C1+VA1U)(C1+VA1U)1VA1+UCVA1UCVA1(A+B)1 = A − 1 − A − 1 ( B − 1 + A − 1 ) − 1 A − 1 =A^{-1}-A^{-1}(B^{-1}+A^{-1})^{-1}A^{-1} =A1A1(B1+A1)1A1$
= A − 1 − A − 1 ( I + B A − 1 ) − 1 B A − 1 . ={A}^{-1}-{A}^{-1}\left({I}+{B}{A}^{-1}\right)^{-1}{B}{A}^{-1}. =A1A1(I+BA1)1BA1..

参考文献

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

往期文章链接:
最大比率发射(Maximum Ratio Transmission, MRT)

线性降维:主成分分析PCA原理分析与仿真验证

5G+AI:有哪些新的研究方向和新范式?

简述3D点云配准算法

5G为人工智能与工业互联网赋能|79页高清PPT

智能算法|以动物命名的算法

一份超全面的机器学习公共数据集

矩阵填充|奇异值阈值算法

可重构/大规模智能反射表面reconfigurable/large intelligent surface综述

迭代硬阈值类算法总结||IHT/NIHT/CGIHT/HTP

软阈值迭代算法(ISTA)和快速软阈值迭代算法(FISTA)

伍德伯里矩阵恒等式(Woodbury matrix identity)

压缩感知:一种新型亚采样技术

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

在这里插入图片描述

这篇关于伍德伯里矩阵恒等式(Woodbury matrix identity)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238244

相关文章

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

hdu 6198 dfs枚举找规律+矩阵乘法

number number number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description We define a sequence  F : ⋅   F0=0,F1=1 ; ⋅   Fn=Fn

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内存。我们开发了一种Int8矩阵乘法的过程,用于Transformer中的前馈和注意力投影层,这可以将推理所需

线性代数|机器学习-P35距离矩阵和普鲁克问题

文章目录 1. 距离矩阵2. 正交普鲁克问题3. 实例说明 1. 距离矩阵 假设有三个点 x 1 , x 2 , x 3 x_1,x_2,x_3 x1​,x2​,x3​,三个点距离如下: ∣ ∣ x 1 − x 2 ∣ ∣ 2 = 1 , ∣ ∣ x 2 − x 3 ∣ ∣ 2 = 1 , ∣ ∣ x 1 − x 3 ∣ ∣ 2 = 6 \begin{equation} ||x

【线性代数】正定矩阵,二次型函数

本文主要介绍正定矩阵,二次型函数,及其相关的解析证明过程和各个过程的可视化几何解释(深蓝色字体)。 非常喜欢清华大学张颢老师说过的一段话:如果你不能用可视化的方式看到事情的结果,那么你就很难对这个事情有认知,认知就是直觉,解析的东西可以让你理解,但未必能让你形成直觉,因为他太反直觉了。 正定矩阵 定义 给定一个大小为 n×n 的实对称矩阵 A ,若对于任意长度为 n 的非零向量 ,有 恒成

python科学计算:NumPy 线性代数与矩阵操作

1 NumPy 中的矩阵与数组 在 NumPy 中,矩阵实际上是一种特殊的二维数组,因此几乎所有数组的操作都可以应用到矩阵上。不过,矩阵运算与一般的数组运算存在一定的区别,尤其是在点积、乘法等操作中。 1.1 创建矩阵 矩阵可以通过 NumPy 的 array() 函数创建。矩阵的形状可以通过 shape 属性来访问。 import numpy as np# 创建一个 2x3 矩阵mat

【UVA】10003-Cutting Sticks(动态规划、矩阵链乘)

一道动态规划题,不过似乎可以用回溯水过去,回溯的话效率很烂的。 13988658 10003 Cutting Sticks Accepted C++ 1.882 2014-08-04 09:26:49 AC代码: #include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include

算法练习题17——leetcode54螺旋矩阵

题目描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。  代码 import java.util.*;class Solution {public List<Integer> spiralOrder(int[][] matrix) {// 用于存储螺旋顺序遍历的结果List<Integer> result = new ArrayList

线性代数 第六讲 特征值和特征向量_相似对角化_实对称矩阵_重点题型总结详细解析

文章目录 1.特征值和特征向量1.1 特征值和特征向量的定义1.2 特征值和特征向量的求法1.3 特征值特征向量的主要结论 2.相似2.1 相似的定义2.2 相似的性质2.3 相似的结论 3.相似对角化4.实对称矩阵4.1 实对称矩阵的基本性质4.2 施密特正交化 5.重难点题型总结5.1 判断矩阵能否相似对角化5.2 已知两个矩阵相似,求某个矩阵中的未知参数5.3 相似时,求可逆矩阵P,使

最大子矩阵和问题归纳总结

一,最大子矩阵问题: 给定一个n*n(0< n <=100)的矩阵,请找到此矩阵的一个子矩阵,并且此子矩阵的各个元素的和最大,输出这个最大的值。 Example: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其中左上角的子矩阵: 9 2 -4 1 -1 8 此子矩阵的值为9+2+(-4)+1+(-1)+8=15。 二,分析 子矩阵是在矩阵