生成函数法推导自然数幂求和公式
本文主要介绍用生成函数推导形如 \(\sum_{k=1}^nk^a,a\in N^+\) 的【自然数幂求和公式】的方法。
之前在知乎、博客园看到各种奇奇怪怪的推导【平方和】、【立方和】等自然数幂求和公式的方法,甚至还有什么【伸缩级数法】「看了才知道类似于《具体数学》中的扰动法」。
不过,似乎少有对生成函数法推导自然数幂求和公式的详细介绍。
于是,就趁着这个短暂的高二寒假,用生成函数详细推导了一下,并总结了一套较为完善的模板。
本来想再顺便总结一下拉格朗日插值法和下降幂法,但看样子没时间了……以后找时间再更吧qwq……
文章内容均为本人原创,转载请注明出处,谢谢~
另:毕竟写了快五千多字,可能会有一些纰漏和不足,还请谅解并在评论区指出「或【私信我】」,本人不胜感激~
别急,先看看这些前置芝士你掌握了没有~
前置知识
求导的基本运算
这里只需要用到最基本的幂函数求导和复合函数求导。
所用公式非常简单,没有超出高中数学选择性必修二范围,如下:
「这都不会我也救不了你辣qwq……」
生成函数的基本用法
详见【生成函数法求斐波那契数列通项公式】。
生成函数的求和性质
已知两个数列 \(\set{a_n},\set{b_n},n\in N\),其中 \(b_n=\sum_{k=0}^na_k\)。
设数列 \(\set{a_n},\set{b_n}\) 的生成函数分别为:
则有:
-
证明一「提取公因式」
\[\begin{aligned} B(x)&=b_0+b_1x+b_2x^2+\ldots+b_nx^n+\ldots \\&=a_0+(a_0+a_1)x+(a_0+a_1+a_2)x^2+\ldots+(a_0+a_1+\ldots+a_n)x^n+\ldots \\&=a_0(1+x+x^2+\ldots+x^n+\ldots)+a_1(1+x+\ldots)+a_2(1+x+\ldots)+\ldots \\&=(1+x+x^2+\ldots+x^n+\ldots)(a_0+a_1+a_2\ldots+a_n+\ldots) \\&=\frac{1}{1-x}A(x) \end{aligned} \] -
证明二「错位相减法」
不妨证明 \((1-x)B(x)=A(x)\)。
\[\begin{aligned} (1-x)B(x)&=(1-x)(b_0+b_1x+b_2x^2+\ldots+b_nx^n+\ldots) \\&=(b_0+b_1x+b_2x^2+\ldots+b_nx^n+\ldots)-x(b_0+b_1x+b_2x^2+\ldots+b_nx^n+\ldots) \end{aligned} \]错位相减:
\[\begin{aligned} (1-x)B(x)=(b_0+&b_1x+b_2x^2+b_3x^3+\ldots+b_nx^n+\ldots) \\-(&b_0x+b_1x^2+b_2x^3+\ldots+b_{n-1}x^n+\ldots) \end{aligned} \]由于 \(b_n-b_{n-1}=a_n\),且 \(b_0=a_0\),故:
\[(1-x)B(x)=a_0+a_1x+a_2x^2+\ldots+a_nx^n+\ldots=A(x) \]因此:
\[B(x)=\frac{1}{1-x}A(x) \] -
应用「\(\color{red}important!!!\)」
已知数列 \(\set{a_n}\) 的生成函数为 \(f(x)\),设 \(S_n\) 为 \(a_n\) 的前 \(n\) 项和,则数列 \(S_n\) 的生成函数为:
\[\frac{1}{1-x}f(x) \]这就相当于,对原数列的生成函数乘一个 \(\frac{1}{1-x}\) 就相当于求一次和。
广义二项式定理
我们熟知的二项式定理:
不仅在 \(n\in N^+\) 时成立,还能推广至 \(a\in R\):
-
广义组合数
为了后面的计算,我们有必要扩充一下组合数的定义。
我们用到的是 \(n\in Z\) 且 \(n<0\) 的情形。此时:
\[\newcommand\down[2]{{#1}^{\underline{#2}}} C_n^m=\frac{n(n-1)(n-2)\ldots(n-m+1)}{m(m-1)(m-2)\ldots2\times1}=\frac{\down{n}{m}}{m!} \]「其中,\(\down{n}{m}\) 为下降幂,读作 \(n\) 直降 \(m\) 次,更多用法见《具体数学》。」
-
应用「\(\color{red}important!!!\)」
后面的推导过程常常遇到这种形式的式子:
\[\frac1{(1-x)^a}\qquad(a\in Z,a<0) \]我们经常需要将其展开:
\[\frac1{(1-x)^a}=(1-x)^{-a}=\sum_{k=0}^\infty C_{-a}^k(-x)^k \]对 \(C_{-a}^k\) 稍作处理:
\[\begin{aligned} C_{-a}^k&=\frac{(-a)(-a-1)(-a-2)\ldots(-a-k+1)}{k(k-1)(k-2)\ldots2\times1} \\&=(-1)^k\cdot\frac{a(a+1)(a+2)\ldots(a+k-1)}{k(k-1)(k-2)\ldots2\times1} \\&=(-1)^k\cdot\frac{(a+k-1)(a+k-2)\ldots(a+2)(a+1)a}{k(k-1)(k-2)\ldots2\times1} \\&=(-1)^k\cdot C_{a+k-1}^k \end{aligned} \]代回原式:
\[\begin{aligned} \frac1{(1-x)^a}=&\sum_{k=0}^\infty C_{-a}^k(-x)^k \\=&\sum_{k=0}^\infty(-1)^kC_{a+k-1}^k\cdot(-1)^kx^k \\=&\sum_{k=0}^\infty C_{a+k-1}^kx^k \\=&\sum_{k=0}^\infty C_{a+k-1}^{a-1}x^k \end{aligned} \]于是,我们愉快地将 \((-1)^k\) 消掉,得到了这个每一项都是正数、简洁而优雅的式子~
「注:最后一步将 \(C_{a+k-1}^k\) 中的 \(k\) 转化为常数 \(a-1\),方便计算。」
公式推导
正片开始!
我们不妨先从简单的 \(\sum_{k=1}^nk\) 开始,熟悉一下推导过程。
推导一
-
目标
\[\sum_{k=1}^nk=\frac{n(n+1)}2 \] -
\(\text{step1}\):求出目标数列的生成函数「前置知识:【求导的基本运算】、【生成函数的基本用法】」
不妨先考虑生成函数最简单的形式。
数列 \(\set{1,1,1,\ldots}\) 的生成函数为:
\[f(x)=1+x+x^2+\ldots+x^n+\ldots=\frac{1}{1-x} \]我们想要得到的数列 \(\set{a_n}\) 是 \(\set{1,2,3,\ldots,n,\ldots}\)「这里默认 \(a_0=0\),下文不再说明」
其生成函数为:
\[g(x)=x+2x^2+3x^3+\ldots+nx^n+\ldots \]显然,对 \(f(x)\) 求导一次即可:
\[\frac{df}{dx}=1+2x+3x^2+\ldots+nx^{n-1}+\ldots=\frac{d}{dx}\left[\frac{1}{1-x}\right]=\frac{1}{(1-x)^2} \]两边同乘 \(x\):
\[x+2x^2+3x^3+\ldots+nx^{n}+\ldots=\frac{x}{(1-x)^2} \]于是:
\[g(x)=x+2x^2+3x^3+\ldots+nx^n+\ldots=\frac{x}{(1-x)^2} \]至此,我们轻松求得了数列 \(\set{1,2,3,\ldots,n,\ldots}\) 的生成函数 \(g(x)\)。
-
\(\text{step2}\):将原数列求和转化为新数列系数「前置知识:【生成函数的求和性质】」
我们已经得到了待求和数列 \(\set{a_n}\) 的生成函数 \(g(x)\),那么如何求该数列的前 \(n\) 项和 \(S_n\) 呢?
常用的操作方法是:
- 用 \(\set{a_n}\) 构造新的数列 \(\set{S_n}\),其中 \(S_n=\sum_{k=0}^na_k\),求出 \(\set{S_n}\) 的生成函数 \(G(x)\)。「\(\text{step2}\)」
- 将数列 \(\set{S_n}\) 的生成函数 \(G(x)\) 展开,取出 \(S_n\) 对应的 \(x\) 的系数。「\(\text{step3}\)」
先考虑求出数列 \(\set{S_n}\) 的生成函数 \(G(x)\)。
根据前置知识中证明过的结论,对 \(\set{a_n}\) 的生成函数 \(g(x)\) 乘个 \(\frac{1}{1-x}\) 即可得到 \(\set{S_n}\) 的生成函数 \(G(x)\)。
于是:
\[G(x)=\frac{1}{1-x}g(x)=\frac{x}{(1-x)^3} \]即:
\[G(x)=x+(1+2)x^2+(1+2+3)x^3+\ldots+(1+2+\ldots+n)x^n+\ldots=\frac{x}{(1-x)^3} \] -
\(\text{step3}\):取出目标和式对应的生成函数系数「前置知识:【广义二项式定理】」
容易发现,\(G(x)\) 中 \(x^{n}\) 的系数为 \(1+2+\ldots+n\),这就是我们要求的和式!
由于等式左右两边 \(x^n\) 的系数相等,我们可以用广义二项式定理将 \(\frac{1}{(1-x)^3}\) 展开,取出其中 \(x^{n}\) 的系数即可。
根据前置知识中推导的式子:
\[\frac1{(1-x)^a}=\sum_{k=0}^\infty C_{a+k-1}^{a-1}x^k \]将 \(a=3\) 代入:
\[\frac1{(1-x)^3}=\sum_{k=0}^\infty C_{3+k-1}^{3-1}x^k=\sum_{k=0}^\infty C_{k+2}^2x^k \]则:
\[\frac{x}{(1-x)^3}=x\sum_{k=0}^\infty C_{k+2}^2x^k=\sum_{k=0}^\infty C_{k+2}^2x^{k+1} \]显然,\(x^{n}\) 的系数为 \(C_{n+1}^2\)。因此:
\[1+2+\ldots+n=C_{n+1}^2=\frac{(n+1)n}{2\times1} \]即:
\[\sum_{k=1}^nk=\frac{n(n+1)}2 \]
至此,我们成功推导了 \(\sum_{k=1}^nk=\frac{n(n+1)}2\) 这个式子。
看到这里,可能你还不是很熟悉这一过程。别急,我们再推导一下 \(\sum_{k=1}^nk^2\) 作为练习。
推导二
- 目标\[\sum_{k=1}^nk^2=\frac{n(n+1)(2n+1)}6 \]
推导步骤与前面基本相同,重复内容此处不再赘述。
-
\(\text{step1}\):求出目标数列的生成函数
数列 \(\set{1,1,1,\ldots}\) 的生成函数为:
\[f(x)=1+x+x^2+\ldots+x^n+\ldots=\frac{1}{1-x} \]目标数列 \(\set{a_n}\) 是 \(\set{1^2,2^2,3^2,\ldots,n^2,\ldots}\),其生成函数为:
\[g(x)=1^2x+2^2x^2+3^2x^3+\ldots+n^2x^n+\ldots \]先按照之前的步骤,对 \(f(x)\) 求导一次:
\[\frac{df}{dx}=1+2x+3x^2+\ldots+nx^{n-1}+\ldots=\frac{d}{dx}\left[\frac{1}{1-x}\right]=\frac{1}{(1-x)^2} \]两边同乘 \(x\):
\[x+2x^2+3x^3+\ldots+nx^{n}+\ldots=\frac{x}{(1-x)^2} \]显然这还不是我们想要的结果。
容易发现,每次求导并同乘 \(x\) 后,各项系数的指数都会加 \(1\)。
因此,我们在两边再次求导:
\[1^2+2^2x+3^2x^2+\ldots+n^2x^{n-1}+\ldots=\frac{d}{dx}\left[\frac{x}{(1-x)^2}\right]=\frac{(1-x)^2+x\cdot2(1-x)}{(1-x)^4}=\frac{x+1}{(1-x)^3} \]两边同乘 \(x\):
\[1^2x+2^2x^2+3^2x^3+\ldots+n^2x^{n}+\ldots=\frac{x^2+x}{(1-x)^3} \]这便得到了 \(g(x)\)。
\[g(x)=1^2x+2^2x^2+3^2x^3+\ldots+n^2x^{n}+\ldots=\frac{x^2+x}{(1-x)^3} \]至此,我们轻松求得了数列 \(\set{1^2,2^2,3^2,\ldots,n^2,\ldots}\) 的生成函数 \(g(x)\)。
-
\(\text{step2}\):将原数列求和转化为新数列系数
根据结论,对 \(\set{a_n}\) 的生成函数 \(g(x)\) 乘个 \(\frac{1}{1-x}\) 即可得到 \(\set{S_n}\) 的生成函数 \(G(x)\)。
\[G(x)=\frac{1}{1-x}g(x)=\frac{x^2+x}{(1-x)^4} \]即:
\[G(x)=1^2x+(1^2+2^2)x^2+(1^2+2^2+3^2)x^3+\ldots+(1^2+2^2+\ldots+n^2)x^n+\ldots=\frac{x^2+x}{(1-x)^4} \] -
\(\text{step3}\):取出目标和式对应的生成函数系数
容易发现,\(G(x)\) 中 \(x^{n}\) 的系数为 \(1^2+2^2+\ldots+n^2\),这就是我们要求的和式。
由于等式左右两边 \(x^n\) 的系数相等,我们可以用广义二项式定理将 \(\frac{1}{(1-x)^4}\) 展开,取出其中 \(x^{n}\) 的系数即可。
根据结论:
\[\frac1{(1-x)^a}=\sum_{k=0}^\infty C_{a+k-1}^{a-1}x^k \]将 \(a=4\) 代入:
\[\frac1{(1-x)^4}=\sum_{k=0}^\infty C_{4+k-1}^{4-1}x^k=\sum_{k=0}^\infty C_{k+3}^3x^k \]则:
\[\frac{x^2+x}{(1-x)^4}=(x^2+x)\sum_{k=0}^\infty C_{k+3}^3x^k=\sum_{k=0}^\infty C_{k+3}^3(x^{k+2}+x^{k+1}) \]显然,\(x^{n}\) 的系数为 \(C_{n+1}^3+C_{n+2}^3\)。因此:
\[\begin{aligned} 1^2+2^2+\ldots+n^2&=C_{n+1}^3+C_{n+2}^3 \\&=\frac{(n+1)\cdot n\cdot (n-1)}{3\times2\times1}+\frac{(n+2)\cdot (n+1)\cdot n}{3\times2\times1} \\&=\frac{n(n+1)}6(n-1+n+2) \\&=\frac{n(n+1)(2n+1)}6 \end{aligned} \]即:
\[\sum_{k=1}^nk^2=\frac{n(n+1)(2n+1)}6 \]
是不是有点感觉了?
这就是生成函数法求 \(\sum_{k=1}^nk^a,a\in N^+\) 的全部过程,无论 \(a\) 为多少,步骤都是一样的。
不妨趁热打铁,练习一下 \(a=3,4\) 的情形吧~
「建议先自己按照上面的方法尝试推导一下,再看下面的详细推导。」
推导三
-
目标
\[\sum_{k=1}^nk^3=\frac{n^2(n+1)^2}4 \]
下面给出精炼的推导过程,文字叙述将尽可能简洁。「不理解的回去看推导一、推导二。」
-
\(\text{step1}\):求出目标数列的生成函数
数列 \(\set{1,1,1,\ldots}\) 的生成函数为:
\[f(x)=1+x+x^2+\ldots+x^n+\ldots=\frac{1}{1-x} \]目标数列 \(\set{a_n}\) 是 \(\set{1^3,2^3,3^3,\ldots,n^3,\ldots}\),其生成函数为:
\[g(x)=1^3x+2^3x^2+3^3x^3+\ldots+n^3x^n+\ldots \]对 \(f(x)\) 求导一次后,两边同乘 \(x\):
\[x+2x^2+3x^3+\ldots+nx^{n}+\ldots=\frac{x}{(1-x)^2} \]两边再次求导并同乘 \(x\):
\[1^2x+2^2x^2+3^2x^3+\ldots+n^2x^{n}+\ldots=\frac{x^2+x}{(1-x)^3} \]两边再次求导并同乘 \(x\):
\[\begin{aligned} &1^3x+2^3x^2+3^3x^3+\ldots+n^3x^{n}+\ldots=x\cdot\frac{d}{dx}\left[\frac{x^2+x}{(1-x)^3}\right] \\=&x\cdot\frac{(2x+1)(1-x)^3+(x^2+x)\cdot3(1-x)^2}{(1-x)^6}=\frac{x^3+4x^2+x}{(1-x)^4} \end{aligned} \]因此:
\[g(x)=1^3x+2^3x^2+3^3x^3+\ldots+n^3x^n+\ldots=\frac{x^3+4x^2+x}{(1-x)^4} \] -
\(\text{step2}\):将原数列求和转化为新数列系数
根据结论:
\[\begin{aligned} G(x)&=1^3x+(1^3+2^3)x^2+(1^3+2^3+3^3)x^3+\ldots+(1^3+2^3+\ldots+n^3)x^n+\ldots \\&=\frac{1}{1-x}g(x)=\frac{x^3+4x^2+x}{(1-x)^5} \end{aligned} \] -
\(\text{step3}\):取出目标和式对应的生成函数系数
容易发现,\(G(x)\) 中 \(x^{n}\) 的系数 \(1^3+2^3+\ldots+n^3\) 即为所求和式。
根据结论:
\[\frac1{(1-x)^5}=\sum_{k=0}^\infty C_{5+k-1}^{5-1}x^k=\sum_{k=0}^\infty C_{k+4}^4x^k \]则:
\[\frac{x^3+4x^2+x}{(1-x)^5}=(x^3+4x^2+x)\sum_{k=0}^\infty C_{k+4}^4x^k=\sum_{k=0}^\infty C_{k+4}^4(x^{k+3}+4x^{k+2}+x^{k+1}) \]显然,\(x^{n}\) 的系数为 \(C_{n+1}^4+4C_{n+2}^4+C_{n+3}^4\)。因此:
\[\begin{aligned} &\quad1^3+2^3+\ldots+n^3=C_{n+1}^4+4C_{n+2}^4+C_{n+3}^4 \\&=\frac{(n+1)\cdot n\cdot (n-1)\cdot(n-2)}{4\times3\times2\times1}+\frac{4(n+2)\cdot (n+1)\cdot n\cdot(n-1)}{4\times3\times2\times1}+\frac{(n+3)\cdot (n+2)\cdot(n+1)\cdot n}{4\times3\times2\times1} \\&=\frac{n(n+1)}{24}(n^2-3n+2+4n^2+4n-8+n^2+5n+6) \\&=\frac{n(n+1)}{24}(6n^2+6n)=\frac{n^2(n+1)^2}4 \end{aligned} \]即:
\[\sum_{k=1}^nk^3=\frac{n^2(n+1)^2}4 \]
算到这里,你会发现套路都是一样的,按照三个步骤很容易就能求得结果。
下面推导一下 \(a=4\) 的公式,建议先自己尝试一下~
「提示:计算量可能稍微有点大,但也不是很难算。」
推导四
-
目标
\[\sum_{k=1}^nk^4=\frac{n(n+1)(2n+1)(3n^2+3n-1)}{30} \] -
\(\text{step1}\):求出目标数列的生成函数
数列 \(\set{1,1,1,\ldots}\) 的生成函数为:
\[f(x)=1+x+x^2+\ldots+x^n+\ldots=\frac{1}{1-x} \]目标数列 \(\set{a_n}\) 是 \(\set{1^4,2^4,3^4,\ldots,n^4,\ldots}\),其生成函数为:
\[g(x)=1^4x+2^4x^2+3^4x^3+\ldots+n^4x^n+\ldots \]对 \(f(x)\) 求导一次后,两边同乘 \(x\):
\[x+2x^2+3x^3+\ldots+nx^{n}+\ldots=\frac{x}{(1-x)^2} \]两边再次求导并同乘 \(x\):
\[1^2x+2^2x^2+3^2x^3+\ldots+n^2x^{n}+\ldots=\frac{x^2+x}{(1-x)^3} \]两边再次求导并同乘 \(x\):
\[1^3x+2^3x^2+3^3x^3+\ldots+n^3x^{n}+\ldots=\frac{x^3+4x^2+x}{(1-x)^4} \]两边再次求导并同乘 \(x\):
\[\begin{aligned} &1^4x+2^4x^2+3^4x^3+\ldots+n^4x^n+\ldots=x\cdot\frac{d}{dx}\left[\frac{x^3+4x^2+x}{(1-x)^4}\right] \\=&x\cdot\frac{(3x^2+8x+1)(1-x)^4+(x^3+4x^2+x)\cdot4(1-x)^3}{(1-x)^8}=\frac{x^4+11x^3+11x^2+x}{(1-x)^5} \end{aligned} \]因此:
\[g(x)=1^4x+2^4x^2+3^4x^3+\ldots+n^4x^n+\ldots=\frac{x^4+11x^3+11x^2+x}{(1-x)^5} \] -
\(\text{step2}\):将原数列求和转化为新数列系数
根据结论:
\[\begin{aligned} G(x)&=1^4x+(1^4+2^4)x^2+(1^4+2^4+3^4)x^3+\ldots+(1^4+2^4+\ldots+n^4)x^n+\ldots \\&=\frac{1}{1-x}g(x)=\frac{x^4+11x^3+11x^2+x}{(1-x)^6} \end{aligned} \] -
\(\text{step3}\):取出目标和式对应的生成函数系数
容易发现,\(G(x)\) 中 \(x^{n}\) 的系数 \(1^4+2^4+\ldots+n^4\) 即为所求和式。
根据结论:
\[\frac1{(1-x)^6}=\sum_{k=0}^\infty C_{6+k-1}^{6-1}x^k=\sum_{k=0}^\infty C_{k+5}^5x^k \]则:
\[\frac{x^4+11x^3+11x^2+x}{(1-x)^6}=(x^4+11x^3+11x^2+x)\sum_{k=0}^\infty C_{k+5}^5x^k=\sum_{k=0}^\infty C_{k+5}^5(x^{k+4}+11x^{k+3}+11x^{k+2}+x^{k+1}) \]显然,\(x^{n}\) 的系数为 \(C_{n+1}^5+11C_{n+2}^5+11C_{n+3}^5+C_{n+4}^5\)。因此:
\[\begin{aligned} &\quad1^4+2^4+\ldots+n^4=C_{n+1}^5+11C_{n+2}^5+11C_{n+3}^5+C_{n+4}^5 \\&=\frac{(n+1)\cdot n\cdot (n-1)\cdot(n-2)\cdot(n-3)}{5\times4\times3\times2\times1}+\frac{11(n+2)\cdot (n+1)\cdot n\cdot(n-1)\cdot(n-2)}{5\times4\times3\times2\times1} \\&+\frac{11(n+3)\cdot (n+2)\cdot(n+1)\cdot n\cdot(n-1)}{5\times4\times3\times2\times1}+\frac{(n+4)\cdot(n+3)\cdot (n+2)\cdot(n+1)\cdot n}{5\times4\times3\times2\times1} \\&=\frac{n(n+1)}{120}\left[(n-1)(n-2)(n-3+11n+22)+(n+2)(n+3)(n+4+11n-11)\right] \\&=\frac{n(n+1)}{120}\left[(n^2-3n+2)(12n+19)+(n^2+5n+6)(12n-7)\right] \\&=\frac{n(n+1)}{120}(24n^3+36n^2+4n-4)=\frac{n(n+1)}{30}(6n^3+9n^2+n-1) \\&=\frac{n(n+1)(2n+1)(3n^2+3n-1)}{30} \end{aligned} \]即:
\[\sum_{k=1}^nk^4=\frac{n(n+1)(2n+1)(3n^2+3n-1)}{30} \]
对于 \(a>4\) 的情形,例如:
限于篇幅,这里不再讨论。若想了解更多公式,可以参考我整理的【前14个自然数幂求和公式】。
感兴趣的读者可自行推导~
模板「方法总结」
-
目标
\[\sum_{k=1}^nk^a,a\in N^+ \] -
\(\text{step1}\):求出目标数列的生成函数「前置知识:【求导的基本运算】、【生成函数的基本用法】」
数列 \(\set{1,1,1,\ldots}\) 的生成函数为:
\[f(x)=1+x+x^2+\ldots+x^n+\ldots=\frac{1}{1-x} \]目标数列 \(\set{a_n}\) 是 \(\set{1^a,2^a,3^a,\ldots,n^a,\ldots}\),其生成函数为:
\[g(x)=1^ax+2^ax^2+3^ax^3+\ldots+n^ax^n+\ldots \]重复对 \(f(x)\) 两边求导后两边同乘 \(x\) 的操作 \(a\) 次,即可得到 \(g(x)\):
\[g(x)=1^ax+2^ax^2+3^ax^3+\ldots+n^ax^n+\ldots=\frac{h(x)}{(1-x)^{a+1}} \]其中 \(h(x)=c_1x+c_2x^2+\ldots+c_ax^a\) 是关于 \(x\) 的 \(a\) 次多项式。
「因为最后一次求导后同乘了 \(x\),所以 \(h(x)\) 不含常数项。」
-
\(\text{step2}\):将原数列求和转化为新数列系数「前置知识:【生成函数的求和性质】」
考虑求 \(\set{a_n}\) 的前 \(n\) 项和 \(S_n\),方法如下:
- 用 \(\set{a_n}\) 构造新的数列 \(\set{S_n}\),其中 \(S_n=\sum_{k=0}^na_k\),求出 \(\set{S_n}\) 的生成函数 \(G(x)\)。「\(\text{step2}\)」
- 将数列 \(\set{S_n}\) 的生成函数 \(G(x)\) 展开,取出 \(S_n\) 对应的 \(x\) 的系数。「\(\text{step3}\)」
根据前置知识中证明过的结论,对 \(\set{a_n}\) 的生成函数 \(g(x)\) 乘个 \(\frac{1}{1-x}\) 即可得到 \(\set{S_n}\) 的生成函数 \(G(x)\)。
\[\begin{aligned} G(x)&=1^ax+(1^a+2^a)x^2+(1^a+2^a+3^a)x^3+\ldots+(1^a+2^a+\ldots+n^a)x^n+\ldots \\&=\frac{1}{1-x}g(x)=\frac{h(x)}{(1-x)^{a+2}} \end{aligned} \] -
\(\text{step3}\):取出目标和式对应的生成函数系数「前置知识:【广义二项式定理】」
容易发现,\(G(x)\) 中 \(x^{n}\) 的系数 \(1^a+2^a+\ldots+n^a\) 即为所求和式。
由于等式左右两边 \(x^n\) 的系数相等,我们可以用广义二项式定理将 \(\frac{1}{(1-x)^{a+2}}\) 展开,取出其中 \(x^{n}\) 的系数即可。
根据前置知识中推导的式子:
\[\frac1{(1-x)^a}=\sum_{k=0}^\infty C_{a+k-1}^{a-1}x^k \]将 \(a+2\) 的值代入:
\[\frac1{(1-x)^{a+2}}=\sum_{k=0}^\infty C_{a+2+k-1}^{a+2-1}x^k=\sum_{k=0}^\infty C_{a+k+1}^{a+1}x^k \]则:
\[\frac{h(x)}{(1-x)^{a+2}}=(c_1x+c_2x^2+\ldots+c_ax^a)\sum_{k=0}^\infty C_{a+k+1}^{a+1}x^k \\=\sum_{k=0}^\infty C_{a+k+1}^{a+1}(c_1x^{k+1}+c_2x^{k+2}+\cdots+c_ax^{k+a}) \]显然,\(x^{n}\) 的系数为 \(c_1\cdot C_{n+a}^{a+1}+c_2\cdot C_{n+a-1}^{a+1}+c_3\cdot C_{n+a-2}^{a+1}+\ldots+c_a\cdot C_{n+1}^{a+1}\)。因此:
\[\begin{aligned} 1^a+2^a+\ldots+n^a=c_1\cdot C_{n+a}^{a+1}+c_2\cdot C_{n+a-1}^{a+1}+c_3\cdot C_{n+a-2}^{a+1}+\ldots+c_a\cdot C_{n+1}^{a+1} \end{aligned} \]即:
\[\sum_{k=1}^nk^a=c_1\cdot C_{n+a}^{a+1}+c_2\cdot C_{n+a-1}^{a+1}+c_3\cdot C_{n+a-2}^{a+1}+\ldots+c_a\cdot C_{n+1}^{a+1}=\sum_{k=1}^ac_a\cdot C_{n+a+1-k}^{a+1} \]
The End
以上,便是我对推导自然数幂求和公式的一点点思考,希望能帮到你~
其实,还有一点点思考没来得及写,比如扰动法、拉格朗日插值法、下降幂法、误差积分法等等。
「当然,这些就不是和本文生成函数法一样是原创的了,大多在《具体数学》和【知乎】上都能找到。」
这些方法各有特色,几乎每种方法都能写下如本文一样的篇幅。
希望高考后能有时间,再次享受一下这种沉浸在离散数学中的快感~
「还有我一定要把《具体数学》读完!!!」
都看到这了,不点个赞,发个评论再走嘛:)