前面我写到了求解常系数二阶线性递推式的特殊情况的求通项法——特征根法,这里我们对其进行推广,介绍一下生成函数。
定义
对于一个数列 {an}\{a_n\}{an},我们定义其的生成函数 (又名母函数)g(x)=∑i=0naixig(x)=\sum_{i=0}^na_ix^ig(x)=i=0∑naixi
即原数列的幂级数的和的形式。
这里我采用从 000 开始的数列表达法,中学教材中常常介绍的是从 111 开始的,这无伤大雅。
注
对于常系数线性递推式,生成函数是一个有理分式,我们将这个分式的分母称作其特征多项式。之前我们讲的特征方程就是特征多项式的特例。我们可以通过求解特征多项式来解出系数举证进而求通项。
举例
例1
数列 {Cni}(i=0,2,...,n)\{C_n^i\}(i=0,2,...,n){Cni}(i=0,2,...,n) 的生成函数为 g(x)=(x+1)ng(x)=(x+1)^ng(x)=(x+1)n
此定理被称作二项式定理。
例2
数列 1,1,1,1,...1,1,1,1,...1,1,1,1,... 的生成函数为 g(x)=∑i=0∞xi=limi→∞1−xi1−xg(x)=\sum_{i=0}^\infty x^i=\lim_{i\to\infty}\frac{1-x^i}{1-x}g(x)=i=0∑∞xi=i→∞lim1−x1−xi
当 x∈(0,1)x \in (0,1)x∈(0,1) 时,有 g(x)=11−xg(x)=\frac{1}{1-x}g(x)=1−x1
例3
数列 1,2,3,4,5,...n+11,2,3,4,5,... n+11,2,3,4,5,...n+1 的生成函数为 g(x)=∑i=0n(i+1)xig(x)=\sum_{i=0}^n (i+1)x^ig(x)=i=0∑n(i+1)xi
运用错位相减法,我们知道(1−x)g(x)=∑i=0n−1xi−nxn=1−xn1−x−nxn(1-x)g(x)=\sum_{i=0}^{n-1}x^i-nx^n=\frac{1-x^n}{1-x}-nx^n(1−x)g(x)=i=0∑n−1xi−nxn=1−x1−xn−nxn
当 x∈(0,1)x \in (0,1)x∈(0,1) 且 n→∞n \to \inftyn→∞ 时
g(x)=1(1−x)2g(x)=\frac{1}{(1-x)^2}g(x)=(1−x)21
应用
求通项公式,具体实例可以上网搜索“生成函数求 FibonacciFibonacciFibonacci 通项式 ”、“生成函数求 HanoiHanoiHanoi 塔通项式”等。
方法归结起来,就是通过数列的特殊性质来求其生成函数的表达式,然后通过幂级数展开推导原数列的通项公式。