定义:\(B(x)=\sum_n\frac{B_nx^n}{n!}=\frac{x}{e^x-1}\)

易得递推式:\(B_0=1,\sum_{i=0}^n\binom{n+1}{i}B_i=0\)


自然数幂和:\(f(n,k)=\sum_{i=1}^{n} i^k\)

定义\(n\)相同的自然数幂和的EGF:\(F_n(x)=\sum_{k} f(n,k)\frac{x^k}{k!}\)

\[F_n(x)=\sum_{k} f(n,k)\frac{x^k}{k!}\\ =\sum_{k} \frac{x^k}{k!} \sum_{i=1}^n i^k\\ =\sum_{i=1}^n \sum_k \frac{(ix)^k}{k!}\\ =\sum_{i=1}^n e^{ix}\\ =\frac{e^{(n+1)x}-e^x}{e^x-1} \]

\[=B(x)e^x(e^{nx}-1)\frac{1}{x}\\ 令:B'(x)=B(x)e^x=x+B(x)\\ (B'只是个符号和求导无关)\\ F_n(x)=B'(x)(e^{nx}-1)\frac{1}{x}\\ f(n,k)=k!\sum_{i=0}^{k}\frac{n^{k+1-i}}{(k+1-i)!}\frac{B'_i}{i!}\\ =\frac{1}{k+1}\sum_{i=0}^{k}\binom{k+1}{i}n^{k+1-i}B'_{i} \]

注意这里最后用的\(B'\):实际上伯努利数分\(B^+\)\(B^-\),前面讲的是\(B^-\),这里的\(B'\)就是\(B^+\),两者的区别在于\(B_1=\pm\frac{1}{2}\)

另外,如果把自然数下标从\(0\)开始(即\(f(n,k)=\sum_{i=0}^{n} i^k\)),类似地推,可以得到\(f(n,k)=\frac{1}{k+1}\sum_{i=0}^k\binom{k+1}{i}(n+1)^{k+1-i}B_i\)


总结:

和另外几个常用的推自然数幂和的方法比较:

  1. 第二类斯特林数:
    1. 优点:容易通过组合意义考虑,即使忘记式子也容易重新推出;可以不用除法。
    2. 缺点:朴素方法需要\(O(k^2)\)预处理斯特林数,如果\(k\)相同做到\(O(k\lg k)\)要写复杂的多项式做法求出;式子中含有下降幂,并不直接是多项式形式,不方便扩展。
  2. 拉格朗日插值:
    1. 优点:预处理速度快。
    2. 缺点:一般是直接将\(n\)带入拉格朗日插值的式子中,不是直接生成多项式,若要生成多项式要多点插值(?),扩展性弱。
  3. 伯努利数:
    1. 优点:可以直接生成关于\(n\)的多项式形式;某种程度上统一了对于不同的\(k\),自然数幂和关于\(n\)的函数,扩展性强。
    2. 缺点:相对而言不是那么容易考场推出。