普通生成函数学习笔记

现在我们考虑有一个序列 \((a_1,a_2,a_3,\cdots,a_n,\cdots)\)。我们将这个序列作为形式幂级数 \(A(x)=\sum_{n\ge0}{a_{n} x^n}\) 的常数项序列。\(A(x)\) 就是序列 \(\{a_i\}\) 的生成函数。在生成函数中,类似形式幂级数,\(x\) 的具体取值是没有意义的,我们仅仅只是用 \(A(x)\) 作为一个承载序列的容器,用 \(x\) 的不同次幂来区分不同的位置。

生成函数之间的运算

考虑我们现在有两个生成函数 \(A(x)\)\(B(x)\),分别是序列 \(\{a_i\}\)\(\{b_i\}\) 的生成函数。

使用生成函数推导斐波那契数列的通项公式。

斐波那契数列是一个数列 \(\{f_i\}\) 满足 \(f_{i-2}+f_{i-1}=f_i,f_0=1,f_1=1\)

我们考虑它的生成函数 \(F(x)=\sum_{n\ge 0}f_n x^n\),明显的,\(f_{i-2}+f_{i-1}=f_i\) 意即 \(x^2F(x)+xF(x)+1=F(x)\)\(+1\) 是为了配平常数项为 \(1\))。

解此方程得 \(F(x)=\dfrac{1}{x^2+x-1}\)

通过有理分式的知识,我们知道,设

\[\phi_-=\dfrac{-\sqrt{5}+1}{2},\phi_+=\dfrac{\sqrt{5}+1}{2} \]

\[1-x-x^2=(1-\phi_+x)(1-\phi_-x) \]

\[F(x)=\dfrac{1}{x^2+x-1}=\dfrac{1}{(1-\phi_+x)(1-\phi_-x)} \]

则待定系数 \(a,b\)

\[F(x)=\dfrac{a}{(1-\phi_+x)}+\dfrac{b}{(1-\phi_-x)} \]

\[a(1-\phi_-x)+b(1-\phi_+x)=1 \]

解得 \(a=-\dfrac{1}{\sqrt{5}}\phi_-,b=\dfrac{1}{\sqrt{5}}\phi_+\)

由于 \(kA(x)=\sum_{n\ge 0}{ka_n x^n},(A(x)+B(x))=\sum_{n\ge 0}{(a_n+b_n)x^n}\)

以及 \(\dfrac{1}{1-ax}=\sum_{n\ge 0}a^nx^n\)

\[F(x)=a(\sum_{n\ge 0}{\phi_-^n x^n})+b(\sum_{n\ge 0}{\phi_+^n x^n})=\dfrac{1}{\sqrt{5}}\sum_{n\ge 0}{-\phi_-^{n+1} x^n}+\dfrac{1}{\sqrt{5}}\sum_{n\ge 0}{\phi_+^{n+1} x^n} \]

\[=\dfrac{1}{\sqrt{5}}\sum_{n\ge 0}{(\phi_+^{n+1}-\phi_-^{n+1}) x^n}=\sum_{n\ge 0}{\dfrac{(\phi_+^{n+1}-\phi_-^{n+1})}{\sqrt{5}} x^n} \]

展开 \(\phi_-\)\(\phi_+\),就得到我们的最终 \(\{f_n\}\)

\[f_n=\dfrac{(\dfrac{\sqrt{5}+1}{2})^{n+1}-(\dfrac{-\sqrt{5}+1}{2})^{n+1}}{\sqrt{5}} \]

posted @ 2023-02-16 18:48  jucason_xu  阅读(26)  评论(0编辑  收藏  举报