母函数求递推的通项公式(一)-尊龙官方平台

母函数求递推的通项公式(一)

el/2024/3/25 17:49:42

 

总是看到有人问递推的通项公式如何求,母函数(generating function)是一个很好用的工具,

现总结如下以供学习

 

母函数是组合数学里面的概念,其实就是这坨东西

         是不是看不明白,确实有些生疏,再看这一坨

恍然大悟,这不就是久负盛名的数列求和公式么!既然如此,看看它是如何应用于通项公式的

 

        首先来看看如下的二阶齐次递推公式

        f(n) = af(n-1) bf(n-2)                          ------------------------------  (1)

(1)式可通过有名的差错法来求,将f(n)作为a(k),构造

g(x) = ∑f(n)*x^n

展开g(x) = f(0) f(1)*x f(2)*x^2 f(3)*x^3.....

 

-g(x)           = -f(0) - f(1)*x -      f(2)*x^2      -  f(3)*x^3.....

a*x*g(x)    =           f(0)*a*x f(1)*x^2*a   f(3)*x^3*a......

        b*x^2*g(x)    =                        f(0)*x^2*b   f(2)*x^3*b..........

 

3式相加得

( b*x^2 a*x - 1 )*g(x)   =  -f(0) ( f(0)*a - f(1) ) *x

g(x) = (-f(0) ( f(0)*a - f(1) ) *x) / ( b*x^2 a*x - 1 )

 

这里的b*x^2 a*x - 1 = c(x) 也被称为特征方程,将分母拆分

 

g(x) = a/1-r1*x b/1-r2*x,r1,r2为b*x^2 a*x - 1 = 0 的两根,使用待定系数法可求出a,b

 

这里就可以利用母函数得

g(x) = a*∑(r1*x)^n b*∑(r2*x)^n

既得

f(n) = a*r1^n b*r2^n   ----------------------------------------------(2)

似乎是万事大吉了,不过还没有,

当r1 = r2 = r  时

g(x) = a/1-r*x b/(1-r*x)^2

则得

g(x) = a*∑(r*x)^n b*∑(n 1)(r*x)^n

f(n) = a*r^n b*(n 1)r^n   ------------------------------------------(3)

 

(2),(3)即为所求解

        其中a =( f(0)*a - f(1) - f(0)*r1) / ( r1 - r2 )

b = ( f(0)*r2 f(1) - f(0)*a)/ ( r1 - r2 )

 

本文主要主要关注的是二阶齐次递推公式,而母函数是应用很广的概念,如果有兴趣可进一步参见组合数学相关的教材

 

 


http://www.ngui.cc/el/5127377.html

相关文章

the art of conclusion

总结是一门艺术,之所以这么说,是因为会总结的人,所展现在我们面前的东西,往往都是知识的结晶,都可以称之为艺术品。怕一下子说开了,收不住,赞美之词我就不多说了,直接进入正题吧。 咋…

dancing links - 舞蹈的链表

看了donald e. knuth关于dancing links的原文后,不得不说文章中处处透漏着艺术气息,knuth不亏是一代大师。 本文不能算是深入的总结,或者说连翻译也算不上,权当是学习dancing links的笔记。 首先解释一下什么是dancing links 对于…

六月份总结

工作越来越忙碌,总觉得剩下的时间应该用来休息,不知不觉的就给了自己的挺大的压力,剩下的时间用来思考的越来越不足。恍惚中总觉得似乎少了些什么,原来有2个月没有总结了......仔细想想,这两个月的东西还是需要好好复习…

制定计划

很多人都知道有了好的计划,才能够更好的达到目标。每个人都会告诉你要制定好计划,但制定计划对于每个人来说都是难题,虽说是难题,这其中仍然有章可循,下面是我的一些见解。 好的计划要有张有弛。当任务很多的时候&…

八月份总结

一晃眼八月份过去了,回想七月份给八月份制定的计划,没有几项是切实完成的。武汉的鬼天气真让人恼火,八月份有一半的时间都在生病...其中八月份有一项很重要的工作没有完成,就是关于 计划制定 的总结, 原本计划完成后会…

九、十月份总结

九月份在uml上面纠结了很久,因为基本没有做过快速开发,对uml的理解十分模糊,白板的应用也只限于系统架构上面,感觉ibm的rose并不是很好用,翻到了together,并没有达到预想中的效果,而且没有太大的…

如何使自己更专业

想了半天,还是决定用这个标题--如何使自己更专业,这个"自己"可以指你也可以是我,这个感觉很好。那么,我们从哪里开始呢。 为什么想写这个题目呢,关于这个方面,突然感觉自己有很多的话想说&#x…

antipattern-反面模式

antipattern从字面意思讲就是违背了设计原则的设计模式. 在wiki上不小心翻到了繁体的解释,感觉很不错, 确切的说很有意思,不管是翻译还是原文,呵呵,挑出几条能够理解的,后边的是原文以及连接 从天而降的责任…

11、12月总结

总感觉这两个月过了很久很久....十一月份主要是纠结在项目的结项工作中,阅读了opengl红宝书,计算几何等,工作还是在按部就班的进行...十一月份就说这么多吧。 十二月份主要是gdc的移植工作,对硬件框架的学习,说到这里就…

opengl es渲染流程

上图为渲染管线 显示列表:显示相关操作数据的缓冲区,优化效率使用 光栅化:将装配好的图元片断化,相当于绘制到物理像素 求值器:处理图形函数生成到图元的计算 像素操作:像素格式的转换组织。 绘制流程 视图…
网站地图