生成函数求通项公式

本文介绍了通过生成函数求解斐波那契数列通项公式的详细过程。利用生成函数将递推关系转化为代数表达式,并通过泰勒展开找到通项公式。
生成函数求通项公式:

不妨以斐波那契数列生成函数求斐波那契数列为例子,斐波那契数列为

fi=fi−1+fi−2,f0=0,f1=1 f_{i}=f_{i-1}+f_{i-2},f_{0}=0,f_{1}=1 fi=fi1+fi2,f0=0,f1=1

设他的生成函数为F(x),那么有

F(x)=f0+f1x+f2x2+.....xF(x)=f0x+f1x2+f2x3+....x2F(x)=f0x2+f1x3+f2x4+.... F(x)=f_{0}+f_{1}x+f_{2}x^2+.....\\xF(x)=f_{0}x+f_{1}x^2+f_{2}x^3+....\\x^2F(x)=f_{0}x^2+f_{1}x^3+f_{2}x^4+.... F(x)=f0+f1x+f2x2+.....xF(x)=f0x+f1x2+f2x3+....x2F(x)=f0x2+f1x3+f2x4+....

由于fn=fn−1+fn−2f_{n}=f_{n-1}+f_{n-2}fn=fn1+fn2,原式为

(1+x+x2)F(x)=f0+f1x+f0x+2×(f2x2+f3x3+....) (1+x+x^2)F(x)=f_{0}+f_{1}x+f_{0}x+2\times(f_{2}x^2+f_{3}x^3+....) (1+x+x2)F(x)=f0+f1x+f0x+2×(f2x2+f3x3+....)

配凑得到

(1+x+x2)F(x)=f0x−f0−f1x+2×(f0+f1x+f2x2+...) (1+x+x^2)F(x)=f_{0}x-f_{0}-f_{1}x+2\times(f_{0}+f_{1}x+f_{2}x^2+...) (1+x+x2)F(x)=f0xf0f1x+2×(f0+f1x+f2x2+...)

(1+x+x2)F(x)=−x+2×F(x) (1+x+x^2)F(x)=-x+2\times F(x) (1+x+x2)F(x)=x+2×F(x)

F(x)=x1−x−x2 F(x)=\frac{x}{1-x-x^2} F(x)=1xx2x

有了生成函数,我们只需要把他转换为如下的幂级数形式,我们就可以知道通项公式,幂级数形如

a0+a1x+a2x2+.... a_{0}+a_{1}x+a_{2}x^2+.... a0+a1x+a2x2+....

这恰好就是函数的麦克劳林展开式,那么接下来的任务就是对F(x)F(x)F(x)泰勒展开,这个形式是非常困难的,并且我们只需要展开分母,分子是已经展开好的,也就是我们需要展开f(x)=11−x−x2f(x)=\frac{1}{1-x-x^2}f(x)=1xx21

考虑对分母因式分解,设方程1−x−x2=01-x-x^2=01xx2=0的两个根为x1,x2x_{1},x_{2}x1,x2,那么就有

f(x)=1(x−x1)(x−x2)=−1x1−x2×(1x−x1−1x−x2) f(x)=\frac{1}{(x-x_{1})(x-x_{2})}=-\frac{1}{x_{1}-x_{2}}\times (\frac{1}{x-x_{1}}-\frac{1}{x-x_{2}}) f(x)=(xx1)(xx2)1=x1x21×(xx11xx21)

容易求得两根为

x=−1±52 x=\frac{-1\pm\sqrt{5}}{2} x=21±5

麦克劳林展开时,有如下展开式

11−x=1+x+x2+x3+..... \frac{1}{1-x}=1+x+x^2+x^3+..... 1x1=1+x+x2+x3+.....

从而原式中1x−x1\frac{1}{x-x_{1}}xx11这一项可以展开为

1x−x1=−1x1−x=−1x1×11−xx1=−1x1×∑i=0∞(xx1)i \frac{1}{x-x_{1}}=-\frac{1}{x_{1}-x}=-\frac{1}{x_{1}}\times \frac{1}{1-\frac{x}{x_{1}}}=-\frac{1}{x_{1}}\times \sum_{i=0}^{\infty}(\frac{x_{}}{x1})^i xx11=x1x1=x11×1x1x1=x11×i=0(x1x)i

因此,原式展开为

F(x)=−1x1−x2×(−1x1×∑i=0∞(xx1)i+1x2×∑i=0∞(xx2)i) F(x)=-\frac{1}{x_{1}-x_{2}}\times(-\frac{1}{x_{1}}\times \sum_{i=0}^{\infty}(\frac{x}{x_{1}})^i+\frac{1}{x_{2}}\times \sum_{i=0}^{\infty}(\frac{x}{x_{2}})^i) F(x)=x1x21×(x11×i=0(x1x)i+x21×i=0(x2x)i)

因为F(x)=xf(x)F(x)=xf(x)F(x)=xf(x),所以

F(x)=−1x1−x2×(−1x1×∑i=0∞(xx1)i+1x2×∑i=0∞(xx2)i)×x F(x)=-\frac{1}{x_{1}-x_{2}}\times(-\frac{1}{x_{1}}\times \sum_{i=0}^{\infty}(\frac{x}{x_{1}})^i+\frac{1}{x_{2}}\times \sum_{i=0}^{\infty}(\frac{x}{x_{2}})^i)\times x F(x)=x1x21×(x11×i=0(x1x)i+x21×i=0(x2x)i)×x

要求第nnn项系数,取i=n−1i=n-1i=n1,系数为

−1x1−x2×(−1x1n+1x2n)=15×(−(1−52)n+(1+52)n) -\frac{1}{x_{1}-x_{2}}\times(-\frac{1}{x_{1}^{n}}+\frac{1}{x_{2}^{n}})=\frac{1}{\sqrt{5}}\times (-(\frac{1-\sqrt{5}}{2})^n+(\frac{1+\sqrt{5}}{2})^n) x1x21×(x1n1+x2n1)=51×((215)n+(21+5)n)

最后即

fn=15×((1+52)n−(1−52)n) f_{n}=\frac{1}{\sqrt{5}}\times ((\frac{1+\sqrt{5}}{2})^n-(\frac{1-\sqrt{5}}{2})^n) fn=51×((21+5)n(215)n)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值