伯努利数与自然数幂和
众所周知
[1 + 1 + ... + (n-1)^0 = n
]
[1 + 2 + ... + (n-1) = dfrac{n(n-1)}{2} = dfrac{1}{2}n^2-dfrac{n}{2}
]
[1^2+2^2+...+(n-1)^2=dfrac{(n-1)n(2n-1)}{6}=dfrac{1}{3}n^3 - dfrac{1}{2}n^2 + dfrac{1}{6}n
]
查阅资料知:
[1^3+2^3+...+(n-1)^3 = dfrac{1}{4}n^4 - dfrac{1}{2}n^3 + dfrac{1}{4}n^2
]
我们设自然数幂和:
[S_m(n)=sum_{i=0}^{n-1}i^m
]
将其用关于 (n) 的 (m+1) 次多项式表示,并在其中定义伯努利数 (B_i):(证明见最后)
[Large S_m(n)=dfrac{1}{m+1} sum_{i=0}^{m} {m+1 choose i} B_in^{m+1-i}
]
将 (n=1) 代入得:
[B_0 = 1
]
[sum_{i=0}^{m} {m+1 choose i} B_i = 0,m>0
]
(其中 (B_0 = 1) 是因为 (S_0(1) = 0^0 = 1))
即:
[Large sum_{i=0}^{m} {m+1 choose i} B_i = [m=0]
]
这是伯努利数的递归定义式。
伯努利数的快速求法
做一些转化:
[sum_{i=0}^{m-1} {m choose i} B_i = [m-1=0]
]
[sum_{i=0}^{m} {m choose i} B_i = B_m + [m=1]
]
[sum_{i=0}^{m} dfrac{B_i}{i!} * dfrac{1}{(m-i)!} = dfrac{B_m}{m!} + dfrac{[m=1]}{m!}
]
发现左边是一个 ({B_i}) 的 EGF 和 ({1,1,1,...}) 的 EGF 的卷积的 (x^m) 的系数,右边是 ({B_i}) 的EGF 再加上 (x) 的 (x^m) 系数。
即:
[B(x)e^x=B(x)+x
]
[Large B(x)=frac{x}{e^x-1}
]
这是伯努利数的生成函数定义式。可以多项式求逆加速递推 (B(x)),进而可以快速求 (S_m(n))
用伯努利数计算自然数幂和的正确性
考虑证明:
[S_m(n)=dfrac{1}{m+1} sum_{i=0}^{m} {m+1 choose i} B_in^{m+1-i}
]
对于一个数 (n) 固定的情况,我们设 (F(x)) 表示 (S_k(n)) 的指数生成函数,即 (sumdfrac{S_i(n)}{i!}x^i),那么有:
[egin{aligned}
F(x)&=sum_{i}frac{S_i(n)}{i!}x^i\
&= sum_{j < n,i}frac{j^ix^i}{i!}\
&= sum_{j < n}e^{jx}\
&= frac{1-e^{nx}}{1-e^x}\
&= frac{x}{e^x-1} * frac{e^{nx}-1}{x}\
&= B(x) * sum_{i > 0}frac{(nx)^i}{x * i!}\
&= B(x) * sum_{i}frac{n^{i+1}}{(i+1)!}x^i
end{aligned}]
设 (G(x)=sum_{i}dfrac{n^{i+1}}{(i+1)!}x^i),则 ([x^i]G(x)=dfrac{n^{i+1}}{(i+1)!})。于是有:
[egin{aligned}
[x^k]F(x)&=[x^k](B(x)G(x))\
S_k(n)/k!&=sum_{i=0}^kfrac{B_i}{i!} * frac{n^{k-i+1}}{(k-i+1)!}\
S_k(n)&=sum_{i=0}^kfrac{k!}{i!(k-i+1)!}B_in^{k-i+1}\
S_k(n)&= sum_{i=0}^k frac{{k + 1 choose i}}{k+1}B_in^{k-i+1}\
S_k(n)&= frac{1}{k+1} sum_{i=0}^k{k + 1 choose i}B_in^{k-i+1}
end{aligned}]
即开头的那个式子。
参考博客:伯努利数