【数学】普通型生成函数
序列 \(a=[a_0,a_1,a_2,a_3,a_4,...]\) 的普通型生成函数,定义为形式幂级数: \(F(x)=\sum\limits_{i=0}^{n}a_ix^i\) 。
若序列 \(a\) 拥有通项公式,那么 \(a_i\) 就等于通项公式。
再设 \(G(x)=\sum\limits_{i=0}^{n}b_ix^i\) ,有
\(F(x)\pm G(x)=\sum\limits_{i=0}^{n}(a_i\pm b_i)x^i\)
\(F(x)G(x)=\sum\limits_{i=0}^{n}x^i\sum\limits_{j=0}^{i}a_jb_{i-j}\)
加减法是对应系数加减,乘法理所当然是卷积,除法要用多项式求逆。
封闭形式
常数序列 \([1,1,1,1,1...]\) 的生成函数,即 \(a_i=1\) 。
发现可以乘以一个 \(x\) ,再加上一个 \(1\) ,使得整个序列往右移动一个位置 \(xF(x)+1=F(x)\) ,解得 \(F(x)=\frac{1}{1-x}\) 。
等比数列的序列 \([1,p,p^2,p^3,p^4,...]\) 的生成函数 \(F(x)=\sum\limits_{i=0}^{n}p^ix^i\) ,即 \(a_i=p^i\) 。
发现可以乘以一个 \(px\) ,再加上一个 \(1\) ,使得整个序列往右移动一个位置 \(pxF(x)+1=F(x)\) ,解得 \(F(x)=\frac{1}{1-px}\) ,这个是等比数列的封闭形式。
练习
- 序列 \([0,1,1,1,1...]\) 的生成函数,即 \(a_i=[i\neq1]\) 。
这个看起来就是等比数列去掉了第0项,那么故技重施乘以一个 \(x\) ,再加上一个 \(x\) ,使得整个序列往右移动一个位置 \(xF(x)+x=F(x)\) ,解得 \(F(x)=\frac{x}{1-x}\)
- 序列 \(a_i=[i\equiv r\mod m]\) 。
右移 \(m\) 项(乘以 \(x^m\) ),再补上缺少的开头(加上 \(x^r\) ),使得整个序列往右移动两个位置 \(x^mF(x)+x^r=F(x)\) ,解得 \(F(x)=\frac{x^r}{1-x^m}\) 。
特别的,当m=2,r=0时,为偶数项:\(F(x)=\frac{1}{1-x^2}\),当m=2,r=1时,为奇数项 \(F(x)=\frac{x}{1-x^2}\) 。
- 序列 \([1,2,3,4,5,...]\) 的生成函数,即 \(a_i=i+1\) 。
这种系数是某个和 \(i\) 有关的,可能会和求导有关系。 \(F(x)=\sum\limits_{i=0}^{n}(i+1)x^i\) ,看起来是多项式 \(\sum\limits_{i=0}^{n}x^{i+1}=\frac{1}{1-x}\) 的导数,故解得 \(F(x)=(\frac{1}{1-x})'= \frac{1}{(1-x)^2}\) 。
- 序列 \([0,1,2,3,4,5,...]\) 的生成函数,即 \(a_i=i\) 。
这个序列先减去一个 \(1\) ,再除以一个 \(x\) ,使得整个序列往左移动一个位置,变成上面的结果,即 \(\frac{F(x)-1}{x}=\frac{1}{(1-x)^2}\) ,解得 \(F(x)=\frac{x}{(1-x)^2}+1\)
-
\(a_i=C_n^i\) :显然 \(F(x)=(1+x)^n\)
-
\(a_i=C_{n+i}^i\) :解得 \(F(x)=\frac{1}{(1-x)^{n+1}}\) ,要用归纳法证明 。
详见具体数学P281。