O. 前言
在翻洛谷日报的时候居然没看到伯努利数的讲解,于是有了这篇文章。
想要看懂本文,你需要提前知道以下内容:
- 二项式系数;
- 幂级数;
- 艾弗森括号;
- 下降幂;
- 第二类斯特林数。
部分内容在文中给了对应的公式,故不放在前言内。
I. 伯努利数的定义:万恶之源 m 次幂的求和公式
1. 伯努利数的递归定义
伯努利在研究 m 次幂的求和公式的时候,发现了伯努利数。我们记
Sm(n)=n−1∑k=0km
动手带入不同的值,伯努利发现了以下一系列公式:
S0(n)=nS1(n)=12n2−12nS2(n)=13n3−12n2+16nS3(n)=14n4−12n3+14n2S4(n)=15n5−12n4+13n3−130nS5(n)=16n6−12n5+512n4−112n2...
观察这些系数,伯努利发现(是的,伟大的数学家不屑于证明这些显然的结论)在 Sm(n) 中:
- nm+1 的系数总是 1m+1 ;
- nm 的系数总是 −12 ;
- nm−1 的系数总是 m12 ;
- nm−2 的系数总是 0 ;
- nm−3 的系数总是 −m(m−1)(m−2)720
- ……
- nm−k 的系数总是 C⋅mk–– ,其中 C 是一个常数。
用现代记号,我们把系数写为如下形式:
Sm(n)=1m+1m∑k=0(m+1k)Bknm+1−k
在此用递归定义伯努利数:
∀m≥0, m∑k=0(m+1k)Bk=[m=0]
考虑证明。在《具体数学》上给出了一种较为复杂的证明方法。这里,我们直接使用生成函数来证明。
考虑如下式子
m∑k=0(m+1k)Bk=[m=0]
两边加上Bm+1,则有:
m+1∑k=0(m+1k)Bk=[m=0]+Bm+1
美美展开二项式系数,则有:
m+1∑k=0Bkk!⋅1(m−k)!=[m=1]+Bmm!
为了书写方便,设 B(z)=∑i≥0Bii!zi 。注意到等号左边是个卷积,则有:
B(z)ez=z+B(z)B(z)=zez−1
设 Fn(z)=∑m≥0Sm(n)m!zm ,则有:
Fn(z)=∑m≥0Sm(n)m!zm=∑m≥0n−1∑i=0imzmm!=n−1∑i=0\textcolorred∑m≥0imzmm!=n−1∑i=0\textcolorredeiz=enz−1ez−1=\textcolorredzez−1⋅ enz−1z=B(z)⋅ enz−1z=(∑i≥0Bii!)(∑i≥0ni+1zi(i+1)!)
把 Fn(z) 带入,则有:
Sm(n)=m![zm]Fn(z)=1m+1m∑i=0(m+1i)Binm−i+1
这正是我们熟悉的形式,证毕!
2. 伯努利数的生成函数定义
伯努利数的生成函数定义如下(也是现代应用最广的定义法):
xex−1=∑n≥0Bnxnn!
这样子计算伯努利数会更快一些。具体的做法是考虑泰勒展开,我们熟知:
xex−1=1−x2+x212+⋅⋅⋅
直接对比系数,你会发现:
Bn=dndxn(xex−1)x=0
不难发现:
xex−1=ln1−(1−ex)ex−1=∑k≥0(1−ex)kk+1
带入,则有(我们需要使用第二类斯特林数):
Bn=dndxn(xex−1)x=0=∑k≥01k+1dndxn(1−ex)k∣∣∣x=0=∑k≥01k+1\textcolorredk∑i=0(ki)(−1)iin=n∑k=1(−1)kk!k+1{nk}
至此,你就得出了伯努利数的两种定义。复习一下:
∀m≥0, m∑n=0(m+1n)Bn=[m=0]
xex−1=∑n≥0Bnxnn!
Bn=n∑k=1(−1)kk!k+1{nm}
II. 伯努利数的性质:伯 努 0 数
1. 第一个性质
伯努利数的三个比较重要的性质与 0 有关所以锰1应该会特别喜欢(赞赏),计算能力强大的你应该可以轻松计算出伯努利数的前几项:
B0=1B1=−12B2=16B3=0B4=−130B5=0B6=142B7=0
你会看出,当 n≥1 时,似乎有 B2n+1=0 。我们来尝试证明一下这个结论。
回到生成函数定义法:
xex−1=∑n≥0Bnxnn!
观察到 B0=1, B1=−12 ,代入则有:
xex−1\textcolorred+x2=∑n≥\textcolorred2Bnxnn!\textcolorred+1
左边通分,得到:
LHS=x2⋅ex+1ex−1
一个成熟的竞赛选手此时应该很快意识到,这玩意是个偶函数,也就意味着,我们有:
∑n≥2Bnxnn!+1=∑n≥2Bn\textcolorred(−x)nn!+1
两边对比系数,则可以得到:
Bn=(−1)nBn
把 n 换成一个大于 1 的奇数即可。
剩下两个个性质比较难以观察,我们直接给出。
2. 第二个性质
对于任意的整数 n>1 ,我们有:
n−1∑k=0(nk)Bk=0
证明如下。
先回顾一个知识点:两个无穷级数的柯西乘积:
(∑i≥0ai)(∑j≥0bj)=∑n≥0n∑k=0akbn−k
回到伯努利数的生成函数定义,只不过是这回我们把 x 单独整到一边:
\begin{aligned}
x&=\textcolor{red}{(\text{e}^x-1)}\sum_{n \geq 0}\frac{B_nx^n}{n!} \\
&=\textcolor{red}{\sum_{i\geq 1}\frac{x^i}{i!}}\sum_{n \geq 0}\frac{B_nx^n}{n!} \\
&= {\sum_{i\geq 0}\frac{x^{i+1}}{i!}}\sum_{n \geq 0}\frac{B_nx^n}{n!}\\
&=\textcolor{red}{\sum_{p\geq 0}\sum_{q=0}^{p}\frac{x^{p+1-q}}{(p+1-q)!}\cdot \frac{B_qx^q}{q!}} \\
&= \sum_{p\geq 0}\sum_{q=0}^{p}\color{red}\frac{(p+1)!B_q}{(p+1-q)q!}\ \cdot\ \frac{x^{p+1}}{(p+1)!} \\
&= \sum_{p\geq 1}\sum_{q=0}^{p-1}\binom{p}{q}B_q\frac{x^p}{p!}
\end{aligned}
对比系数,即可得证。
3. 第三个性质
考虑证明,对于整数 n>1 :
Bn=−1n+1n−1∑k=0(n+1k)Bk
这是显然的,用递归定义展开左侧就完了。引用资料里提到了他的一个简单记忆方法。
III. 伯努利数的应用:哪 里 都 是 你
伯努利数的应用相当广泛。然而部分应用涉及到了积分,这里就不做说明。然而,欧拉-麦克劳林公式应用十分广泛(当然,也相当吓人),这里不加证明的给出其广义版本:
1nn∑k=1f(kn)=∫10f(x)dx+f(1)−f(0)2+m∑k=1B2k(2k)!(1n)2k(f(2k−1)(1)−f(2k−1)(0))+nB2m+2f(2m+2)(ζ)(2m+2)!(1n)2m+3
运用这个公式,你可以证明以下的应用。
应用1. 三角函数与黎曼函数ζ
不难发现:
∑n≥0B2n(2n)!x2n=xex−1−B!x=x2 ⋅ \textcolorredex2+e−x2ex2−e−x2=x2 cothx2
由此可以得出:
cothx=∑n≥04nB2n(2n)!x2n−1cotx=∑m≥0(−1)n4nB2n(2n)!x2n−1
聪明的你发现了些不对劲的东西,因为你很清楚地记得:
sinxx=∏n≥1(1−(xnπ)2)
你尝试对其两边取对数再求导,得到了一个不得了的东西:
cotx=1x+∑n≥1(2xx2−(nπ)2)
似乎还是看不出什么有意思的地方。别急,我们再来看看黎曼函数。
我们知道,黎曼函数定义如下
在实数上( |k|≥1 )定义为:
ζ(k)=∑n≥11nk
你又知道, cotx 可以用含有 ζ 的式子改写:
cotx=1x+∑n≥1(1x+nπ+1x−nπ)=1x+∑n≥1\textcolorred1nπ(∑k≥0(−1)k(xnπ)k−∑k≥0(xnπ)k)=1x+∑n≥11nπ(2∑k≥0(xnπ)2k+1)=1x+∑n≥1∑k≥1(2x2k−1(nπ)2k)=1x+∑k≥1∑n≥12x2k−1π2k⋅1n2k=1x+∑k≥12x2k−1π2kζ(2n)
联立,你会发现一个极其美妙的式子:对于任意整数 k>0 黎曼函数和伯努利数有这样一个关系:
ζ(2k)=|B2k| (2π)2k2(2k)!
由此,你还可以推出另一些三角函数的表达式。例如,你知道:
2coth2x−cothx=tanhx
你也可以轻松得到:
tanhx=∑n≥14n(4n−1)B2nx2n−1(2n)!
应用2. 自然数的等幂求和
其实就是最开始给出的公式。
Sm(n)=1m+1m∑k=0(m+1k)Bknm+1−k
应用3. 欧拉常数
我们都知道:
n∑k=11k=lnn+γ
更严谨的写法是:
γ=limn→∞(n∑k=11k−∫∞11x)
其中, γ 即为欧拉常数。运用欧拉麦克劳林公式,你可以很容易得到:
γ=12+∑k≥1B2k2k
具体的做法是,令 f(x)=1x, a=1, b=n 直接代入即可。
应用4. 斯特林近似
据说今年天津高考的最后一题有人用斯特林近似搞出来了?斯特林近似是这么一个东西:
n!∼√2πn(ne)n
他其实也是欧拉麦克劳林公式的一个应用。应用到阶乘上,你可以得知:
n∑i=1lni=∫n1lnxdx+12lnn+R1
R1 是一个余项。我们可以进一步推出:
n!=C√n(ne)n
由勒让德倍元公式 Γ(2n)=22m−1√πΓ(n)Γ(n)+12 得:
C√2n(2ne)2n∼22n√πC√n(ne)nC(n−12)ne12−n
即可得到:
C∼√2π√e(1−12n)n
n→∞ 时, C→√2π ,代入即可得到。
IV. 总结
没啥好总结的,祝贺你又学会了一个考试不考的知识点(你小子?)。
__EOF__
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义