生成函数法推导自然数幂求和公式
本文主要介绍用生成函数推导形如
之前在知乎、博客园看到各种奇奇怪怪的推导【平方和】、【立方和】等自然数幂求和公式的方法,甚至还有什么【伸缩级数法】「看了才知道类似于《具体数学》中的扰动法」。
不过,似乎少有对生成函数法推导自然数幂求和公式的详细介绍。
于是,就趁着这个短暂的高二寒假,用生成函数详细推导了一下,并总结了一套较为完善的模板。
本来想再顺便总结一下拉格朗日插值法和下降幂法,但看样子没时间了……以后找时间再更吧qwq……
文章内容均为本人原创,转载请注明出处,谢谢~
另:毕竟写了快五千多字,可能会有一些纰漏和不足,还请谅解并在评论区指出「或【私信我】」,本人不胜感激~
别急,先看看这些前置芝士你掌握了没有~
前置知识
求导的基本运算
这里只需要用到最基本的幂函数求导和复合函数求导。
所用公式非常简单,没有超出高中数学选择性必修二范围,如下:
「这都不会我也救不了你辣qwq……」
生成函数的基本用法
详见【生成函数法求斐波那契数列通项公式】。
生成函数的求和性质
已知两个数列
设数列
则有:
-
证明一「提取公因式」
-
证明二「错位相减法」
不妨证明
。错位相减:
由于
,且 ,故:因此:
-
应用「
」已知数列
的生成函数为 ,设 为 的前 项和,则数列 的生成函数为:这就相当于,对原数列的生成函数乘一个
就相当于求一次和。
广义二项式定理
我们熟知的二项式定理:
不仅在
-
广义组合数
为了后面的计算,我们有必要扩充一下组合数的定义。
我们用到的是
且 的情形。此时:「其中,
为下降幂,读作 直降 次,更多用法见《具体数学》。」 -
应用「
」后面的推导过程常常遇到这种形式的式子:
我们经常需要将其展开:
对
稍作处理:代回原式:
于是,我们愉快地将
消掉,得到了这个每一项都是正数、简洁而优雅的式子~「注:最后一步将
中的 转化为常数 ,方便计算。」
公式推导
正片开始!
我们不妨先从简单的
推导一
-
目标
-
:求出目标数列的生成函数「前置知识:【求导的基本运算】、【生成函数的基本用法】」不妨先考虑生成函数最简单的形式。
数列
的生成函数为:我们想要得到的数列
是 「这里默认 ,下文不再说明」其生成函数为:
显然,对
求导一次即可:两边同乘
:于是:
至此,我们轻松求得了数列
的生成函数 。 -
:将原数列求和转化为新数列系数「前置知识:【生成函数的求和性质】」我们已经得到了待求和数列
的生成函数 ,那么如何求该数列的前 项和 呢?常用的操作方法是:
- 用
构造新的数列 ,其中 ,求出 的生成函数 。「 」 - 将数列
的生成函数 展开,取出 对应的 的系数。「 」
先考虑求出数列
的生成函数 。根据前置知识中证明过的结论,对
的生成函数 乘个 即可得到 的生成函数 。于是:
即:
- 用
-
:取出目标和式对应的生成函数系数「前置知识:【广义二项式定理】」容易发现,
中 的系数为 ,这就是我们要求的和式!由于等式左右两边
的系数相等,我们可以用广义二项式定理将 展开,取出其中 的系数即可。根据前置知识中推导的式子:
将
代入:则:
显然,
的系数为 。因此:即:
至此,我们成功推导了
看到这里,可能你还不是很熟悉这一过程。别急,我们再推导一下
推导二
- 目标
推导步骤与前面基本相同,重复内容此处不再赘述。
-
:求出目标数列的生成函数数列
的生成函数为:目标数列
是 ,其生成函数为:先按照之前的步骤,对
求导一次:两边同乘
:显然这还不是我们想要的结果。
容易发现,每次求导并同乘
后,各项系数的指数都会加 。因此,我们在两边再次求导:
两边同乘
:这便得到了
。至此,我们轻松求得了数列
的生成函数 。 -
:将原数列求和转化为新数列系数根据结论,对
的生成函数 乘个 即可得到 的生成函数 。即:
-
:取出目标和式对应的生成函数系数容易发现,
中 的系数为 ,这就是我们要求的和式。由于等式左右两边
的系数相等,我们可以用广义二项式定理将 展开,取出其中 的系数即可。根据结论:
将
代入:则:
显然,
的系数为 。因此:即:
是不是有点感觉了?
这就是生成函数法求
不妨趁热打铁,练习一下
「建议先自己按照上面的方法尝试推导一下,再看下面的详细推导。」
推导三
-
目标
下面给出精炼的推导过程,文字叙述将尽可能简洁。「不理解的回去看推导一、推导二。」
-
:求出目标数列的生成函数数列
的生成函数为:目标数列
是 ,其生成函数为:对
求导一次后,两边同乘 :两边再次求导并同乘
:两边再次求导并同乘
:因此:
-
:将原数列求和转化为新数列系数根据结论:
-
:取出目标和式对应的生成函数系数容易发现,
中 的系数 即为所求和式。根据结论:
则:
显然,
的系数为 。因此:即:
算到这里,你会发现套路都是一样的,按照三个步骤很容易就能求得结果。
下面推导一下
「提示:计算量可能稍微有点大,但也不是很难算。」
推导四
-
目标
-
:求出目标数列的生成函数数列
的生成函数为:目标数列
是 ,其生成函数为:对
求导一次后,两边同乘 :两边再次求导并同乘
:两边再次求导并同乘
:两边再次求导并同乘
:因此:
-
:将原数列求和转化为新数列系数根据结论:
-
:取出目标和式对应的生成函数系数容易发现,
中 的系数 即为所求和式。根据结论:
则:
显然,
的系数为 。因此:即:
对于
限于篇幅,这里不再讨论。若想了解更多公式,可以参考我整理的【前14个自然数幂求和公式】。
感兴趣的读者可自行推导~
模板「方法总结」
-
目标
-
:求出目标数列的生成函数「前置知识:【求导的基本运算】、【生成函数的基本用法】」数列
的生成函数为:目标数列
是 ,其生成函数为:重复对
两边求导后两边同乘 的操作 次,即可得到 :其中
是关于 的 次多项式。「因为最后一次求导后同乘了
,所以 不含常数项。」 -
:将原数列求和转化为新数列系数「前置知识:【生成函数的求和性质】」考虑求
的前 项和 ,方法如下:- 用
构造新的数列 ,其中 ,求出 的生成函数 。「 」 - 将数列
的生成函数 展开,取出 对应的 的系数。「 」
根据前置知识中证明过的结论,对
的生成函数 乘个 即可得到 的生成函数 。 - 用
-
:取出目标和式对应的生成函数系数「前置知识:【广义二项式定理】」容易发现,
中 的系数 即为所求和式。由于等式左右两边
的系数相等,我们可以用广义二项式定理将 展开,取出其中 的系数即可。根据前置知识中推导的式子:
将
的值代入:则:
显然,
的系数为 。因此:即:
The End
以上,便是我对推导自然数幂求和公式的一点点思考,希望能帮到你~
其实,还有一点点思考没来得及写,比如扰动法、拉格朗日插值法、下降幂法、误差积分法等等。
「当然,这些就不是和本文生成函数法一样是原创的了,大多在《具体数学》和【知乎】上都能找到。」
这些方法各有特色,几乎每种方法都能写下如本文一样的篇幅。
希望高考后能有时间,再次享受一下这种沉浸在离散数学中的快感~
「还有我一定要把《具体数学》读完!!!」
都看到这了,不点个赞,发个评论再走嘛:)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 精选 4 款免费且实用的数据库管理工具,程序员必备!
· Cursor:一个让程序员“失业”的AI代码搭子
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(6)
· 重生之我是操作系统(七)----内存管理(上)
· .NET 阻止关机机制以及关机前执行业务