生成函数就是母函数。
说的俗一点,生成函数可以理解为多维的卷积:$c_k=\sum_{i_1+i_2+...+i_n=k} A_{j,i_1}
具体怎么理解呢?举个栗子:我们有1¥,2¥,3¥的无数张纸币,求有多少种组成x¥的方案。
我们设生成函数$f_1(x)=(1+x^1+x^2+x^3+...)$,$f_2(x)=(1+x^2+x^4+x^5+...)$,$f_3(x)=(1+x^3+x^6+x^9+...)$
将他们全部乘起来,得到:$(1+x^1+x^2+x^3+...)(1+x^2+x^4+x^5+...)(1+x^3+x^6+x^9+...)$。
那么有多少种组成x¥的方案就是幂次是x的项的系数。这很好理解。
具体来说:生成函数有很多种,常见的有
1.普通生成函数:$k_n(x)=x^n$
2.指数生成函数: $k_n(x)=\frac{x^n}{n!}$
3.狄利克雷生成函数: $k_n(x)=\frac{1}{n^x}$
由于是入门级内容,我们优先说明普通生成函数。
普通生成函数:
简单来说多项式的系数表示序列的元素。由于不关心x的数值,所以称x为自由元的形式幂级数。
对于这个多项式,既可以有限又可以无穷。
听起来它并什么卵用。但细发掘发现:如果一个序列有通项公式,那么它的普通生成函数的系数就是该通项公式。
那么是否可以通过求生成函数来得到一个数列的通项公式呢?可以!说的更明白一点,就是利用生成函数可以求乱七八糟递推公式的通项公式,比如著名的斐波那契数列。
在说斐波那契数列之前,我们先看看简单的例子:
$\frac{1}{1-x}=\sum_{i=0}^{+\infty} x^i$
这是怎么做到的呢?我们发现后面的是一个等比数列,根据等比数列通项公式。当$-1<x<1$时,lim_{n→+∞}x^{n+1}=0,由此得到。
推论:$\frac{1}{1-kx}=\sum_{i=0}^{+\infty} k^ix^i$
斐波那契数列:$f_i=f_{i-1}+f_{i-2}$