定义
序列 (a) 的普通生成函数(ordinary generating function,OGF)定义为形式幂级数:
(a) 既可以是有穷序列,也可以是无穷序列。常见的例子(假设 (a) 以 (0) 为起点):
- 序列 (a=langle 1,2,3 angle) 的普通生成函数是 (1+2x+3x^2) 。
- 序列 (a=langle 1,1,1,cdots angle) 的普通生成函数是 (sum_{nge 0}x^n) 。
- 序列 (a=langle 1,2,4,8,16,cdots angle) 的生成函数是 (sum_{nge 0}2^nx^n) 。
- 序列 (a=langle 1,3,5,7,9,cdots angle) 的生成函数是 (sum_{nge 0}(2n+1)x^n) 。
换句话说,如果序列 (a) 有通项公式,那么它的普通生成函数的系数就是通项公式。
基本运算
考虑两个序列 (a,b) 的普通生成函数,分别为 (F(x),G(x)) 。那么有
因此 (F(x)pm G(x)) 是序列 (langle a_npm b_n angle) 的普通生成函数。
考虑乘法运算,也就是卷积:
因此 (F(x)G(x)) 是序列 (langle sum_{i=0}^n a_ib_{n-i} angle) 的普通生成函数。
封闭形式
在运用生成函数的过程中,我们不会一直使用形式幂级数的形式,而会适时地转化为封闭形式以更好地化简。
例如 (langle 1,1,1,cdots angle) 的普通生成函数 (F(x)=sum_{nge 0}x^n) ,我们可以发现
那么解这个方程得到
这就是 (sum_{nge 0}x^n) 的封闭形式。
考虑等比数列 (langle 1,p,p^2,p^3,p^4,cdots angle) 的生成函数 (F(x)=sum_{nge 0}p^nx^n) ,有
等比数列的封闭形式与展开形式是常用的变换手段。
常用的封闭形式与展开形式的转化(方式)
1、用已知封闭形式转换
2、代入已知封闭形式
3、求导(也可以用5式推出)
4、二项式定理:
5、常用
广义牛顿二项式定理
我们重新定义组合数的运算:
注:(r^{underline{k}}=r*(r-1)*(r-2)*...*(r-k+1))
注意 (r) 的范围是复数域。在这种情况下。对于 (alphainmathbf{C}) ,有广义牛顿二项式定理
二项式定理其实是广义牛顿二项式定理的一个特殊情况,而广义牛顿二项式定理是在生成函数的运算中经常要用到的公式。