伯努利数和自然数幂和

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

易得递推式:(B_0=1,sum_{i=0}^ninom{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}inom{k+1}{i}n^{k+1-i}B'_{i} ]

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

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


总结:

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

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