Skip to content

普通生成函数

Ordinary generating function

把序列编码为形式幂级数 Σ a_n x^n。

条目类型
定义

形式陈述

序列 (an)n0 的普通生成函数是形式幂级数

A(x)=n0anxn.

若系数位于交换含幺环 R,则 A(x)R[[x]]。加法逐系数进行,乘法由 Cauchy 卷积定义:

[A(x)B(x)]xn=k=0nakbnk.

作为形式级数时,x 是记号,等式指每个系数相等,不要求级数在任何数值 x 处收敛。

直觉

普通生成函数把索引 n 变成幂次,使序列的平移、卷积和递推分别变成乘 x、函数乘法和代数方程。这里首先是形式幂级数:只比较每个系数,未必关心数值 x 处是否收敛。组合中,一个因子常代表独立选择一种部件数量,乘积则自动汇总总大小。

例子与边界

常数序列 an=1 的 OGF 满足形式恒等式

A(x)=1+x+x2+=11x,

因为 (1x)A(x)=1 在系数层面成立。数值解释只在 |x|<1 收敛;形式恒等式则在 R[[x]] 中无需这一条件。普通生成函数用权重 xn 并产生普通卷积,指数生成函数用 xn/n! 并把标号分配的二项式系数带入乘法,两者编码的组合结构不同。

Fibonacci 递推 Fn+2=Fn+1+Fn 在系数层面变成

F(x)=x+xF(x)+x2F(x),

于是 F(x)=x/(1xx2)。这里先得到的是形式幂级数恒等式;只有在需要代入具体数值时,才另外讨论收敛半径。

推论与应用

序列嵌入形式幂级数后,线性递推对应有理生成函数,Catalan 数对应代数生成函数。整数分拆用无限乘积编码部件重数;标号结构通常改用指数生成函数,因为普通卷积不包含标号分配的二项式因子。当目标从形式计数转向渐近估计时,才进一步链接解析幂级数,研究收敛半径与复平面奇点如何控制系数增长。

参考资料
  • Ronald L. Graham, Donald E. Knuth, and Oren Patashnik, Concrete Mathematics, 2nd ed., Addison-Wesley, 1994,Ch. 7。
  • Richard P. Stanley, Enumerative Combinatorics, Vol. 1, 2nd ed., Cambridge University Press, 2011,Ch. 4。
关系图谱13 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系