生成函数法推导自然数幂求和公式

本文主要介绍用生成函数推导形如 \(\sum_{k=1}^nk^a,a\in N^+\) 的【自然数幂求和公式】的方法。

之前在知乎、博客园看到各种奇奇怪怪的推导【平方和】、【立方和】等自然数幂求和公式的方法,甚至还有什么【伸缩级数法】「看了才知道类似于《具体数学》中的扰动法」。

不过,似乎少有对生成函数法推导自然数幂求和公式的详细介绍。

于是,就趁着这个短暂的高二寒假,用生成函数详细推导了一下,并总结了一套较为完善的模板。

本来想再顺便总结一下拉格朗日插值法和下降幂法,但看样子没时间了……以后找时间再更吧qwq……

文章内容均为本人原创,转载请注明出处,谢谢~

另:毕竟写了快五千多字,可能会有一些纰漏和不足,还请谅解并在评论区指出「或【私信我】」,本人不胜感激~




别急,先看看这些前置芝士你掌握了没有~

前置知识

求导的基本运算

这里只需要用到最基本的幂函数求导和复合函数求导。

所用公式非常简单,没有超出高中数学选择性必修二范围,如下:

\[\begin{aligned} &\left[C\right]'=0 \\&\left[x^n\right]'=nx^{n-1} \\&\left[f(x)g(x)\right]'=f'(x)g(x)+f(x)g'(x) \\&\left[\frac{f(x)}{g(x)}\right]'=\frac{f'(x)g(x)-f(x)g'(x)}{\left[g(x)\right]^2}\quad(g(x)\ne0) \\&\left[f(g(x))\right]'=f'(g(x))g'(x) \end{aligned} \]

这都不会我也救不了你辣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} A(x)&=a_0+a_1x+a_2x^2+\ldots+a_nx^n+\ldots \\B(x)&=b_0+b_1x+b_2x^2+\ldots+b_nx^n+\ldots \end{aligned} \]

则有:

\[B(x)=\frac{1}{1-x}A(x) \]

  • 证明一「提取公因式」

    \[\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}\) 就相当于求一次和。


广义二项式定理

我们熟知的二项式定理:

\[(x+y)^n=\sum_{k=0}^nC_n^kx^ky^{n-k}=\sum_{k=0}^nC_n^kx^{n-k}y^k \]

不仅在 \(n\in N^+\) 时成立,还能推广至 \(a\in R\)

\[(x+y)^a=\sum_{k=0}^\infty C_a^kx^ky^{a-k}=\sum_{k=0}^\infty C_a^kx^{a-k}y^k \]

  • 广义组合数

    为了后面的计算,我们有必要扩充一下组合数的定义。

    我们用到的是 \(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\) 呢?

    常用的操作方法是:

    1. \(\set{a_n}\) 构造新的数列 \(\set{S_n}\),其中 \(S_n=\sum_{k=0}^na_k\),求出 \(\set{S_n}\) 的生成函数 \(G(x)\)。「\(\text{step2}\)
    2. 将数列 \(\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\) 的情形,例如:

\[\sum_{k=1}^nk^5=\frac{n^2(n+1)^2(2n^2+2n-1)}{12} \\\sum_{k=1}^nk^6=\frac{n(n+1)(2n+1)(3n^4+6n^3-3n+1)}{42} \]

限于篇幅,这里不再讨论。若想了解更多公式,可以参考我整理的【前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\),方法如下:

    1. \(\set{a_n}\) 构造新的数列 \(\set{S_n}\),其中 \(S_n=\sum_{k=0}^na_k\),求出 \(\set{S_n}\) 的生成函数 \(G(x)\)。「\(\text{step2}\)
    2. 将数列 \(\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

以上,便是我对推导自然数幂求和公式的一点点思考,希望能帮到你~

其实,还有一点点思考没来得及写,比如扰动法、拉格朗日插值法、下降幂法、误差积分法等等。

「当然,这些就不是和本文生成函数法一样是原创的了,大多在《具体数学》和【知乎】上都能找到。」

这些方法各有特色,几乎每种方法都能写下如本文一样的篇幅。

希望高考后能有时间,再次享受一下这种沉浸在离散数学中的快感~

还有我一定要把《具体数学》读完!!!


都看到这了,不点个赞,发个评论再走嘛:)

posted @ 2023-01-23 22:05  凌云_void  阅读(402)  评论(0编辑  收藏  举报