( ext{Definition})
给定一个集合(U),一个交换群(<G,+>),一个环(<R,+, imes>)。
其中(R)是由(Gmapsto G)的映射构成的集合,(forall f,gin R,(f+g)(x)=f(x)+g(x),(f imes g)(x)=g(f(x)))。
记(G)的单位元为(0),(F)的零元为(epsilon),一元为(I)。
设(n=|U|-1),构造一个(Umapsto[0,n]capmathbb Z)的双射(t),其逆映射为(r)。
给定(Umapsto G)的映射(f,g),之后我们默认(f(x),g(x))为(f(r(x)),g(r(x)))。
(也就是把(f,g)的定义域挪到({0,cdots,n})上)
若(f,g)满足(g=h(f))即(g(m)=sumlimits_{i=0}^na_{m,i}(f(i))),其中(a_{i,j}in F)。
求(h^{-1})使得(f=h^{-1}(g))即(f(m)=sumlimits_{i=0}^nb_{m,i}(g(i))),其中(b_{i,j}in F)。
将(h,h^{-1})写成(n+1)阶矩阵(mathbf A,mathbf B),(mathbf A_{i,j}=a_{i,j},mathbf B_{i,j}=b_{i,j})。
要解的就是(mathbf {BA}=mathbf I)。
(mathbf B)存在的充要条件是(operatorname{rank}(mathbf A)=n+1)。
且解(mathbf B)满足(sumlimits_{k=0}^na_{i,k}b_{k,j}=[i=j])。
这里的Iverson括号为([p]=egin{cases}epsilon&p ext{ is false}\I&p ext{ is true}end{cases})
注意如果满足(R)是一个交换环,那么(mathbf A,mathbf B)是互逆的,且(mathbf{A^TB^T}=mathbf{B^TA^T}=mathbf I)。
这样可以得到一些小小的Extension,下面就不强调了。
一般的应用中(G)为复数和复数意义下加法构成的交换群,(R)为数乘及其加法、复合构成的交换群。
Some Examples
二项式反演
根据公式:
(sumlimits_{k=j}^i(-1)^{k-j}{i-jchoose k-j}=[i=j])(或者说(sumlimits_{k=j}^i(-1)^{i-k}{i-jchoose k-j}=[i=j]))
可以得到:
(a_{i,j}={ichoose j}Leftrightarrow b_{i,j}=(-1)^{i-j}{ichoose j})
(a_{i,j}=(-1)^j{ichoose j}Leftrightarrow b_{i,j}=(-1)^j{ichoose j})
写成映射形式就是:
(f(m)=sumlimits_{i=0}^n{mchoose i}g(i)Leftrightarrow g(m)=sumlimits_{i=0}^n(-1)^{m-i}{mchoose i}f(i))
(f(m)=sumlimits_{i=0}^n(-1)^i{mchoose i}g(i)Leftrightarrow g(m)=sumlimits_{i=0}^n(-1)^i{mchoose i}f(i))
Mobiüs反演
根据公式:
(sumlimits_{d|n}mu(d)=[n=1])
可以得到:
(a_{i,j}=[j|i]Leftrightarrow b_{i,j}=[j|i]mu(frac ij))
写成映射形式就是:
(f(m)=sumlimits_{d|m}g(d)Leftrightarrow g(m)=sumlimits_{d|m}mu(frac md)f(d))
子集反演
根据公式:
(sumlimits_{Tsubseteq S}(-1)^{|T|}=[S=varnothing])
可以得到:
(a_{S,T}=[Tsubseteq S]Leftrightarrow b_{S,T}=[Tsubseteq S](-1)^{|S|-|T|})
写成映射形式就是:
(f(S)=sumlimits_{Tsubseteq S}g(T)Leftrightarrow g(S)=sumlimits_{Tsubseteq S}(-1)^{|S|-|T|}f(T))
Stirling反演
根据公式:
(sumlimits_{k=0}^n(-1)^{i-k}left{iatop k
ight}left[katop j
ight]=sumlimits_{k=0}^n(-1)^{i-k}left[iatop k
ight]left{katop j
ight}=[i=j])
可以得到:
(a_{i,j}=left{iatop j
ight}Leftrightarrow b_{i,j}=(-1)^{i-j}left[iatop j
ight])
(a_{i,j}=left[iatop j
ight]Leftrightarrow b_{i,j}=(-1)^{i-j}left{iatop j
ight})
写成映射形式就是:
(f(m)=sumlimits_{i=0}^nleft{matop i
ight}g(i)Leftrightarrow g(m)=sumlimits_{i=0}^n(-1)^{m-k}left[matop i
ight]f(i))
(f(m)=sumlimits_{i=0}^nleft[matop i
ight]g(i)Leftrightarrow g(m)=sumlimits_{i=0}^n(-1)^{m-k}left{matop i
ight}f(i))
快速Walsh–Hadamard变换
这里我们认为下标为(0,cdots,n-1)。
利用Hadamard矩阵的性质:
(frac1nsumlimits_{i=0}^{n-1}(-1)^{operatorname{bit}(ioperatorname{and}x)}=[x=0])
可以得到:
(a_{i,j}=(-1)^{operatorname{bit}(ioperatorname{and}j)}Leftrightarrow b_{i,j}=frac1n(-1)^{operatorname{bit}(ioperatorname{and}j)})
写成映射形式就是:
(f(m)=sumlimits_{i=0}^{n-1}(-1)^{operatorname{bit}(ioperatorname{and}m)}g(i)Leftrightarrow g(m)=frac1nsumlimits_{i=0}^{n-1}(-1)^{operatorname{bit}(ioperatorname{and}m)}f(i))
快速Fourier变换
这里我们认为下标为(0,cdots,n-1)。
根据公式:
(frac1nsumlimits_{k=0}^{n-1}omega_n^{k(i-j)}=[i=j])
可以得到:
(a_{i,j}=omega_n^{ij}Leftrightarrow b_{i,j}=frac1nomega_n^{(n-i)j})
写成映射形式就是:
(f(m)=sumlimits_{i=0}^{n-1}omega_n^{mi}g(i)Leftrightarrow g(m)=frac1nsumlimits_{i=0}^{n-1}omega_n^{(n-m)i}f(i))
单位根反演
其实就是快速Fourier变换的扩展。
根据公式:
(frac1nsumlimits_{i=0}^{n-1}omega_n^{ki}=[n|k])
可以得到:
(f(x)=sumlimits_{i=0}^nx^ig(i)Leftrightarrowsumlimits_{i=0}^n[k|i]g(i)=frac1ksumlimits_{i=0}^{k-1}f(omega_k^i))
Lagrange反演
有两个多项式(F(x),G(x)),若满足(G(F(x))equiv xpmod{x^n}),则称(F(x),G(x))互为复合逆。
充要条件是([x^0]G(x)=[x^0]F(x)=0,[x^1]F(x)[x^1]G(x)equiv1pmod p)。
一次多项式除外,自己手玩。
([x^n]F(x)=frac1n[x^{-1}]frac1{G(x)^n})
([x^n]H(F(x))=frac1n[x^{-1}]frac{H'(x)}{G(x)^n})
我们发现([x^{-1}])不在我们的数组内,所以进行一些小小的变形。
([x^n]F(x)=frac1n[x^{n-1}](frac x{G(x)})^n)
([x^n]H(F(x))=frac1n[x^{n-1}]H'(x)(frac x{G(x)})^n)
Min-Max容斥(最值反演)
这其实应该是简单容斥。
与子集反演一样,根据公式:
(sumlimits_{Tsubseteq S}(-1)^{|T|}=[S=varnothing])
可以得到:
(max(S)=sumlimits_{Tsubseteq S}(-1)^{|T|-1}min(T))
(min(S)=sumlimits_{Tsubseteq S}(-1)^{|T|-1}max(T))
(operatorname{Kthmax}(S)=sumlimits_{Tsubseteq S}(-1)^{|T|-k}{|T|-1choose k-1}min(T))
(operatorname{Kthmin}(S)=sumlimits_{Tsubseteq S}(-1)^{|T|-k}{|T|-1choose k-1}max(T))
并且这些式子在期望意义下也成立。