拉格朗日反演 (Lagrange Inversion)

拉格朗日反演 (Lagrange Inversion)

复合逆

对于 \(F(G(x))=x (\Leftrightarrow G(F(x))=x)\),则称 \(F(x)\)\(G(x)\) 互为复合逆,下文中记为 \(\hat F(x)\)

存在复合逆的条件为 \([x^0]F(x)=0,[x^1]F(x)\ne 0\)

拉格朗日反演

对于 \(G(x)=\hat F(x)\) 得到关于 \(F(x)\) 的拉格朗日反演表达式。

\(\displaystyle [x^n]G(x)=\frac{1}{n}[x^{-1}](\frac{1}{F(x)})^n\)

由于 \([x^0]F(x)=0\) 无法求逆,所以上式更通用的形式是:

\(\displaystyle [x^n]G(x)=\frac{1}{n}[x^{n-1}](\frac{x}{F(x)})^n\)


### 求解复合逆

对于给定的 \(F(x)\),求其复合逆 \(G(x)=\hat F(x)\)

带入拉格朗日反演的式子:

\(\displaystyle G(x)=\sum \frac{1}{i}[x^{i-1}](\frac{x}{F(x)})^i x^i\)

求这个式子的核心是 分块+暴力:

\(i=a\cdot S+b,S=\sqrt n\),对于每个\(a,b\)卷积求出\(\displaystyle (\frac{x}{F(x)})^{Sa},(\frac{x}{F(x)})^b\)

然后直接对于每个位置把两个式子暴力 \(O(n)\) 合并即可。

两部分复杂度总和为 \(O(n\sqrt n\log n+n^2)\)


### 扩展拉格朗日反演

对于 \(G(x)=\hat F(x)\),有 \(\displaystyle [x^n]H(G(x))=\frac{1}{n}[x^{n-1}]H'(x) (\frac{x}{F(x)})^n\)

特殊情况例如:

\(\displaystyle [x^n]G^k(x)=\frac{k}{n}[u^{n-k}](\frac{u}{F(u)})^n=\frac{k}{n}[u^{-k}]F(u)^{-n}\)

也就是 \(\displaystyle n[x^n]G^k(x)=k[x^{-k}]F(x)^{-n}\)



该式子也可以用于处理 \(F(G(x))=H(x)\) 的情况。

此时,有 \(\hat H(F(G(x)))=x\)\(G(x)=\widehat {\hat G(F(x))}=H(\hat F(x))\)

带入得到 \(\displaystyle [x^n]G(x)=[x^n]H(\hat F(x))=\frac{1}{n}[x^{n-1}]H'(x)(\frac{x}{F(x)})^n\)

\(\displaystyle [x^n]G(x)=\frac{1}{n}[u^{n-1}]H'(u)(\frac{u}{F(u)})^n\)


另类拉格朗日反演

依然设 \(G(x)=\hat F(x)\),则:

\(\displaystyle [x^n]G^k(x)=[x^{-k-1}]\frac{F'(x)}{F^{n+1}(x)}\)

改一下是:

\(\displaystyle [x^n]G^k(x)=[x^{n-k}] F'(x)(\frac{x}{F(x)})^{n+1}\)

更一般的:

\(\displaystyle [x^n]H(G(x))=[x^n]H(x)F'(x)(\frac{x}{F(x)})^{n+1}\)

用途:

你会发现对于不同的 \(k\)\([x^n]G^k(x)\) 对应的系数居然来自同一个函数 \(\displaystyle \frac{F'(x)}{F^{n+1}(x)}\)

因此用于处理求多个 \(k\) 的问题。




后记:

明明自己什么都不会还要写博客。。。