反演:已知有对向量 →u 的线性变换:A→u=→v。现在已知 →v 要反解 →u 的过程称为反演。
反演相当于做线性变换:A−1→v=→u,于是一般我们需要知道 A−1 的形式。
部分转置问题:由于 (AT)−1=(A−1)T,于是 AT→u=→v⇔(A−1)T→v=→u。
注:下文 A−1i,j 表示 (A−1)i,j,(Ai,j)−1 表示求逆。部分除法用 /。
写成数列形式:fi=∑jAi,jgj⇔gi=∑jA−1i,jfj。
转置形式:fi=∑jAj,igj⇔gi=∑jA−1j,ifj。
或者你可以理解为下面要对一些特殊矩阵写出其求逆后的形式。
子集反演#
用这个简单点的引入。下面集合符号均在二进制下考虑,线性变换矩阵:Ai,j=[j⊆i],其中 i,j∈[0,2n)。
注意到这其实就是 or 卷积的 DFT 矩阵。反演矩阵 A−1 就自然是 IDFT 矩阵了。
有 A−1i,j=(−1)|i|−|j|[j⊆i],其中 |i|=popcount(i)。
写成数列形式应该更好理解:fS=∑T⊆SgT⇔gS=∑T⊆S(−1)|S|−|T|fT,就是一个简答的容斥。
转置形式:Ai,j=[i⊆j]⇔A−1i,j=(−1)|j|−|i[i⊆j],fS=∑S⊆TgT⇔gS=∑S⊆T(−1)|T|−|S|fT。
莫比乌斯反演#
这个数列形式极其常见,先写:fn=∑d∣ng(d)⇔gn=∑d∣nμ(n/d)f(d)。
太典啦,去 OI-wiki 自己学吧,懒得写啦。
矩阵形式:Ai,j=[j∣i]⇔A−1i,j=μ(i/j)[j∣i]。转置形式略。
二项式反演#
线性变换矩阵为 Ai,j=(ij),即变换 g→f:fn=n∑i=0(ni)gi。
直接亮结论:逆矩阵 A−1i,j=(−1)i−j(ij)。数列形式:fn=n∑i=0(ni)gi⇔gn=n∑i=0(−1)n−i(ni)fi。转置形式略。
代数证法#
(A×A−1)i,j=∑k(ik)(kj)(−1)k−j=i−j∑k=0(ik+j)(k+jj)(−1)k=(ij)i−j∑k=0(i−jk)(−1)k={1(i=j)0(i≠j)。
于是 A×A−1=I。
多项式证法#
已知:fn=n∑i=0(ni)gi,写成 EGF 形式:fnn!=n∑i=0gii!×1(n−i)!。
设出 EGF:令 f(x)=n∑i=0fixii!,g(x)=n∑i=0gixii!,则有 f(x)=g(x)×(∑i≥0xii!)=exg(x)。
于是 g(x)=e−xf(x)⇔gn=n∑i=0(−1)n−i(ni)fi。
斯特林反演#
线性变换矩阵为 Ai,j={ij},即变换 g→f:fn=n∑i=0{ni}gi。
直接亮结论:逆矩阵 A−1i,j=(−1)i−j[ij]。数列形式:fn=n∑i=0{ni}gi⇔gn=n∑i=0(−1)n−i[ni]fi。
类似的,有:Ai,j=[ij]⇔A−1i,j=(−1)i−j{ij},数列形式:fn=n∑i=0[ni]gi⇔gn=n∑i=0(−1)n−i{ni}fi。
由于两者形式相似下文会证明第一种(有的是证明第一种转置形式)。
下面证明参考 dwt 博客,mol dwt。
多项式证法 1#
首先要介绍几个经典的斯特林数恒等式。首先考虑组合意义,有:
xn=n∑k=0{nk}xk–– x¯¯¯n=n∑k=0[nk]xk
同时做代换:x¯¯¯n=(−1)nxn––,有:
xn=∑k{nk}(−1)n−kx¯¯¯kxn––=∑k[nk](−1)n−kxk
考虑转置命题:已知 fn=∑i≥n{in}gi,考虑下降幂多项式:f(x)=n∑i=0fixi–,有:
f(x)=n∑i=0∑j≥i{ji}gjxi–=n∑j=0gj∑i≤j{ji}xi–=n∑j=0gjxj。
提取两边 xn 系数,有:gn=∑i≥n(−1)i−n[in]fi。就证明了转置形式。
多项式证法 2#
考虑斯特林数 EGF,有:{nm}=[xnn!](ex−1)mm!,[nm]=[xnn!](−ln(1−x))mm!。
已知 fn=n∑i=0{ni}gi,设 F,G 分别为 f,g 的 EGF,有:
F(x)=∑kfkxkk!=∑kxkk!k∑i=0{ki}gi=∑igi∑k≥i{ki}xkk!=∑i=0gi(ex−1)ii!=G(ex−1)
G(−x)=F(ln(1−x))=∑i≥0filn(1−x)ii!=∑i≥0(−1)ifi(−ln(1−x))ii!=∑i≥0(−1)ifi∑j≥i1j![ji]xj=∑jxjj!∑i≤j(−1)ifi[ji]
提取两边 [xnn!] 系数,有:(−1)ngn=n∑i=0(−1)i[ni]fi,把 (−1)n 移项即可。
代数证法#
请拜读 dwt 博客,有空补,多项式证法好。
由于本人没有系统总结过,于是请参考 cmd 博客,也附一下 dwt 反演博客。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)