浅谈伯努利数

O. 前言

在翻洛谷日报的时候居然没看到伯努利数的讲解,于是有了这篇文章。

想要看懂本文,你需要提前知道以下内容:

  • 二项式系数;
  • 幂级数;
  • 艾弗森括号;
  • 下降幂;
  • 第二类斯特林数。

部分内容在文中给了对应的公式,故不放在前言内。

I. 伯努利数的定义:万恶之源 m 次幂的求和公式

1. 伯努利数的递归定义

伯努利在研究 m 次幂的求和公式的时候,发现了伯努利数。我们记

Sm(n)=k=0n1km

动手带入不同的值,伯努利发现了以下一系列公式:

S0(n)=nS1(n)=12n212nS2(n)=13n312n2+16nS3(n)=14n412n3+14n2S4(n)=15n512n4+13n3130nS5(n)=16n612n5+512n4112n2...

观察这些系数,伯努利发现(是的,伟大的数学家不屑于证明这些显然的结论)Sm(n) 中:

  • nm+1 的系数总是 1m+1
  • nm 的系数总是 12
  • nm1 的系数总是 m12
  • nm2 的系数总是 0
  • nm3 的系数总是 m(m1)(m2)720
  • ……
  • nmk 的系数总是 Cmk_ ,其中 C 是一个常数。

用现代记号,我们把系数写为如下形式:

Sm(n)=1m+1k=0m(m+1k)Bknm+1k

在此用递归定义伯努利数

m0, k=0m(m+1k)Bk=[m=0]

考虑证明。在《具体数学》上给出了一种较为复杂的证明方法。这里,我们直接使用生成函数来证明。

考虑如下式子

k=0m(m+1k)Bk=[m=0]

两边加上Bm+1,则有:

k=0m+1(m+1k)Bk=[m=0]+Bm+1

美美展开二项式系数,则有:

k=0m+1Bkk!1(mk)!=[m=1]+Bmm!

为了书写方便,设 B(z)=i0Bii!zi 。注意到等号左边是个卷积,则有:

B(z)ez=z+B(z)B(z)=zez1

Fn(z)=m0Sm(n)m!zm ,则有:

Fn(z)=m0Sm(n)m!zm=m0i=0n1imzmm!=i=0n1\textcolorredm0imzmm!=i=0n1\textcolorredeiz=enz1ez1=\textcolorredzez1 enz1z=B(z) enz1z=(i0Bii!)(i0ni+1zi(i+1)!)

Fn(z) 带入,则有:

Sm(n)=m![zm]Fn(z)=1m+1i=0m(m+1i)Binmi+1

这正是我们熟悉的形式,证毕!

2. 伯努利数的生成函数定义

伯努利数的生成函数定义如下(也是现代应用最广的定义法):

xex1=n0Bnxnn!

这样子计算伯努利数会更快一些。具体的做法是考虑泰勒展开,我们熟知:

xex1=1x2+x212+

直接对比系数,你会发现:

Bn=dndxn(xex1)x=0

不难发现:

xex1=ln1(1ex)ex1=k0(1ex)kk+1

带入,则有(我们需要使用第二类斯特林数):

Bn=dndxn(xex1)x=0=k01k+1dndxn(1ex)k|x=0=k01k+1\textcolorredi=0k(ki)(1)iin=k=1n(1)kk!k+1{nk}

至此,你就得出了伯努利数的两种定义。复习一下:

  • 递归定义:

m0, n=0m(m+1n)Bn=[m=0]

  • 生成定义:

xex1=n0Bnxnn!

Bn=k=1n(1)kk!k+1{nm}


II. 伯努利数的性质:伯 努 0 数

1. 第一个性质

伯努利数的三个比较重要的性质与 0 有关所以锰1应该会特别喜欢(赞赏),计算能力强大的你应该可以轻松计算出伯努利数的前几项:

B0=1B1=12B2=16B3=0B4=130B5=0B6=142B7=0

你会看出,当 n1 时,似乎有 B2n+1=0 。我们来尝试证明一下这个结论。

回到生成函数定义法:

xex1=n0Bnxnn!

观察到 B0=1, B1=12 ,代入则有:

xex1\textcolorred+x2=n\textcolorred2Bnxnn!\textcolorred+1

左边通分,得到:

LHS=x2ex+1ex1

一个成熟的竞赛选手此时应该很快意识到,这玩意是个偶函数,也就意味着,我们有:

n2Bnxnn!+1=n2Bn\textcolorred(x)nn!+1

两边对比系数,则可以得到:

Bn=(1)nBn

n 换成一个大于 1 的奇数即可。

剩下两个个性质比较难以观察,我们直接给出。

2. 第二个性质

对于任意的整数 n>1 ,我们有:

k=0n1(nk)Bk=0

证明如下。
先回顾一个知识点:两个无穷级数的柯西乘积:

(i0ai)(j0bj)=n0k=0nakbnk

回到伯努利数的生成函数定义,只不过是这回我们把 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+1k=0n1(n+1k)Bk

这是显然的,用递归定义展开左侧就完了。引用资料里提到了他的一个简单记忆方法。


III. 伯努利数的应用:哪 里 都 是 你

伯努利数的应用相当广泛。然而部分应用涉及到了积分,这里就不做说明。然而,欧拉-麦克劳林公式应用十分广泛(当然,也相当吓人),这里不加证明的给出其广义版本:

1nk=1nf(kn)=01f(x)dx+f(1)f(0)2+k=1mB2k(2k)!(1n)2k(f(2k1)(1)f(2k1)(0))+nB2m+2f(2m+2)(ζ)(2m+2)!(1n)2m+3

运用这个公式,你可以证明以下的应用。


应用1. 三角函数与黎曼函数ζ

不难发现:

n0B2n(2n)!x2n=xex1B!x=x2  \textcolorredex2+ex2ex2ex2=x2 cothx2

由此可以得出:

cothx=n04nB2n(2n)!x2n1cotx=m0(1)n4nB2n(2n)!x2n1

聪明的你发现了些不对劲的东西,因为你很清楚地记得:

sinxx=n1(1(xnπ)2)

你尝试对其两边取对数再求导,得到了一个不得了的东西:

cotx=1x+n1(2xx2(nπ)2)

似乎还是看不出什么有意思的地方。别急,我们再来看看黎曼函数。

我们知道,黎曼函数定义如下
在实数上( |k|1 )定义为:

ζ(k)=n11nk

你又知道, cotx 可以用含有 ζ 的式子改写:

cotx=1x+n1(1x+nπ+1xnπ)=1x+n1\textcolorred1nπ(k0(1)k(xnπ)kk0(xnπ)k)=1x+n11nπ(2k0(xnπ)2k+1)=1x+n1k1(2x2k1(nπ)2k)=1x+k1n12x2k1π2k1n2k=1x+k12x2k1π2kζ(2n)

联立,你会发现一个极其美妙的式子:对于任意整数 k>0 黎曼函数和伯努利数有这样一个关系:

ζ(2k)=|B2k| (2π)2k2(2k)!

由此,你还可以推出另一些三角函数的表达式。例如,你知道:

2coth2xcothx=tanhx

你也可以轻松得到:

tanhx=n14n(4n1)B2nx2n1(2n)!

应用2. 自然数的等幂求和

其实就是最开始给出的公式。

Sm(n)=1m+1k=0m(m+1k)Bknm+1k

应用3. 欧拉常数

我们都知道:

k=1n1k=lnn+γ

更严谨的写法是:

γ=limn(k=1n1k11x)

其中, γ 即为欧拉常数。运用欧拉麦克劳林公式,你可以很容易得到:

γ=12+k1B2k2k

具体的做法是,令 f(x)=1x, a=1, b=n 直接代入即可。

应用4. 斯特林近似

据说今年天津高考的最后一题有人用斯特林近似搞出来了?斯特林近似是这么一个东西:

n!2πn(ne)n

他其实也是欧拉麦克劳林公式的一个应用。应用到阶乘上,你可以得知:

i=1nlni=1nlnxdx+12lnn+R1

R1 是一个余项。我们可以进一步推出:

n!=Cn(ne)n

由勒让德倍元公式 Γ(2n)=22m1πΓ(n)Γ(n)+12 得:

C2n(2ne)2n22nπCn(ne)nC(n12)ne12n

即可得到:

C2πe(112n)n

n 时, C2π ,代入即可得到。


IV. 总结

没啥好总结的,祝贺你又学会了一个考试不考的知识点(你小子?)。


__EOF__

本文作者SDLTF
本文链接https://www.cnblogs.com/sdltf/p/17611273.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   SD!LTF  阅读(459)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示