距离中考 \(122\) 天。
生成函数是很强的东西。同时还算简单。
这边文章以推斐波那契的通项公式为目标进行书写。
对于一个形式幂级数 , \(\text F(x)=\sum\limits^{\infty}_{i=0} x^i=1+x+x^2 \dots x^{\infty}\)。
我们可以求出一个在定义域里的式子。
简单来说 , \(\text F(x)=1+x+x^2 \dots x^{\infty}\) , 那么 \(x \times \text F(x)=x+x^2+x^3 \dots x^{\infty}\) ,
会发现一个简单的化简 :
\(\text F(x)-x \times \text F(x)=(1+x+x^2 \dots x^{\infty})-(x+x^2+x^3 \dots x^{\infty})=1\) , 那么我们可以写成 :
\(\text F(x)-x \times \text F(x)=1\) , \(\text F(x)=\frac 1 {1-x}\)。
你会发现这个式子很神奇。
比如 , \(x\) 代入 \(-1\) , 得到 \(1-1+1-1+1-1 \dots =\frac 1 2\) , 而这明显等于 \(0\)。 得到 \(\frac 1 2=0\)。
所以这个有定义域 , \(x \in (-1,1)\)
只有一个例子肯定不够 , 我们加点系数和次数。
用一些加减的方法可以得到这样的式子 , 比如 :
\[\begin{aligned}
\text F(x) =\sum\limits^{\infty}_{i=0} 2^ix^2 & =1+2x+4x^2+8x^3 \dots \\
2x \times \text F(x) & =2x+4x^2+8x^3 \dots \\
\text F(x)-2x \times \text F(x) & =1\\
\text F(x)& =\frac 1 {1-2x} \\
\end{aligned}\]
再来一个练手 :
\[\begin{aligned}
x^{-1} \times \sum\limits^{\infty}_{i=0} x^{3i} & =x^{-1}+x^2+x^5 \dots \\
\text F(x)=\sum\limits^{\infty}_{i=0} x^{3i} & =1+x^3+x^6 \dots \\
x \times \sum\limits^{\infty}_{i=0} x^{3i} & =x+x^4+x^7 \dots\\
(x^{-1}+x+1)\text F(x)-x^{-1} =\frac 1 {1-x} & =1+x+x^2+x^3 \dots \\
\text F(x) & =\frac 1 {x-x^2} \div (x^{-1}+x+1) \\
\text F(x) & =\frac 1 {1-x^3}
\end{aligned}\]
其实有两个结论记住即可 :
\[\frac 1 {1-ax^b}=\sum\limits^{\infty}_{i=0} a^ix^{bi}
\]
\[\frac 1 {(1-x)^k}=\sum\limits^{\infty}_{i=0}\text C^{i-1}_{i+k-1} x^i
\]
接下来就是如何求斐波那契数列的通项公式了。
直接开推 :
\[\begin{aligned}
\text F(x) = 1+x+ 2&x^2+3x^3+5x^4+8x^5 \dots \\
x \times \text F(x) = x+& x^2+ 2x^3+3x^4+5x^5+8x^6 \dots \\
x^2 \times \text F(x) = &x^2+\ \ x^3+2x^4+ 3x^5+5x^6+8x^7 \dots \\
\text F(x)-x\text F(x)-x^2\text F(x) & =1 \\
\text F(x) & =\frac 1 {1-x-x^2} \\
\end{aligned}\]
然鹅这个东西好像不那么好搞 , 我们可以把它光翼展开为一个只有上面两种结论形式的多项式。
可以将它裂开成 \(\frac 1 {(1-k_1x)(1-k_2x)}\) 的形式 , 即:
\[\begin{aligned}
1-x-x^2 & =(1-k_1x)(1-k_2x) \\
1-x-x^2 & =1-k_1x-k_2x+k_1k_2x^2 \\
-1-x & =-k_1x-k_2x+k_1k_2x \\
\end{aligned}\]
然后可以列出简单的二元一次方程 : \(-k_1-k_2=-1\) , \(k_1k_2=-1\) , 可以解得 : (相反也可以)
\[k_1=\frac{1+\sqrt 5} 2 , k_2=\frac{1-\sqrt 5} 2
\]
这不就是传说中的黄金分割率吗 , 直接写成 \(\phi=k_1 , \hat\phi=k_2\)。
现在我们考虑如何把一个 \(\frac 1 {(1-\phi x)(1-\hat\phi x)} \implies \frac{q_1}{1-\phi x}+\frac{q_2}{1-\hat\phi x}\) 的多项式。
这个东西可以直接看成一个方程 , 因为光翼展开以后就是分子乘上分母 : (因为未知数大于方程数, 所以就乱搞吧)
\[\begin{aligned}
q_1(1-\hat\phi x)+q_2(1-\phi x)=1 \\
q_1+q_2-q_1\hat\phi x-q_2\phi x=1 \\
(q_1+q_2-1)-(q_1\hat\phi x+q_2\phi x)=0 \\
\end{aligned}\]
只需要合法即可 , 我们可以认为这两个式子都是 \(0\) , 则又得到方程 :
\(q_1+q_2=1\) , \(q_1\hat\phi+q_2\phi =0\) , 由此又可以解出 :
\[q_1=5^{-\frac 1 2}\phi , q_2=-5^{-\frac 1 2} \hat\phi
\]
回到原来的式 , \(\frac 1 {(1-k_1x)(1-k_2x)}=5^{-\frac 1 2}(\frac 1 {1-\phi x}-\frac 1 {1-\hat\phi x})\) , 再代入我们数值的幂级数。
\[\begin{aligned}
5^{-\frac 1 2}(\frac 1 {1-\phi x}-\frac 1 {1-\hat\phi x}) & =5^{-\frac 1 2}(\sum\limits^{\infty}_{i=0} \phi^nx^i-\sum\limits^{\infty}_{i=0} \hat\phi^nx^i ) \\
& =\sum\limits^{\infty}_{i=0} 5^{-\frac 1 2}(\phi^n-\hat\phi^n)x^i \\
\end{aligned}\]
也就是说 , 对于一个幂级数来说 , \(5^{-\frac 1 2}(\phi^n-\hat\phi^n)\) 就是其系数 ,
然后我们就愉快的推出来啦!
\[\text{Fibonacci}(n)=5^{-\frac 1 2}(\phi^n-\hat\phi^n)
\]