伯努利数和正切函数泰勒展开式
1.伯努利数
伯努利数是十八世纪瑞士数学家雅各布·伯努利引入的一个数。伯努利数是一个有理数数列。一般地有两种定义的方法:
生成函数定义方法
设伯努利数列为
B
n
B_{n}
Bn,定义复变函数
f
(
z
)
=
z
e
z
−
1
=
∑
n
=
0
∞
B
n
z
n
n
!
f(z)=\frac{z}{e^{z}-1}=\sum\limits_{n=0}^{\infty}B_{n}\frac{z^{n}}{n!}
f(z)=ez−1z=n=0∑∞Bnn!zn
这里
z
∈
C
z\in{\mathbb{C}}
z∈C。
递归定义法
设伯努利数列为
B
n
B_{n}
Bn,
B
0
=
1
B_{0}=1
B0=1,那么定义此数列当
n
≥
2
n\geq{2}
n≥2时候,满足表达式
B
n
=
∑
k
=
0
n
C
n
k
B
k
B_{n}=\sum\limits_{k=0}^{n}C_{n}^{k}B_{k}
Bn=k=0∑nCnkBk。
他两个之间的定义是等价的,这就意味着由这两个定义可以互相推导。对于生成函数我们可以得到
e
z
=
∑
n
=
0
n
z
n
n
!
e^{z}=\sum\limits_{n=0}^{n}\frac{z^{n}}{n!}
ez=n=0∑nn!zn
这样就会有
(
e
z
−
1
)
⋅
z
e
z
−
1
=
(
∑
n
=
0
n
z
n
n
!
−
1
)
(
∑
n
=
0
∞
B
n
z
n
n
!
)
=
z
(
1
1
!
+
1
2
!
z
+
⋯
+
1
n
!
z
n
−
1
+
…
)
(
B
0
+
z
B
1
+
B
2
2
!
z
2
+
⋯
+
B
n
n
!
z
n
+
…
)
=
z
⋅
1
(e^{z}-1)\cdot{\frac{z}{e^{z}-1}}=\left(\sum\limits_{n=0}^{n}\frac{z^{n}}{n!}-1\right)\left(\sum\limits_{n=0}^{\infty}B_{n}\frac{z^{n}}{n!}\right)\\=z(\frac{1}{1!}+\frac{1}{2!}z+\dots+\frac{1}{n!}z^{n-1}+\dots)(B_{0}+zB_{1}+\frac{B_{2}}{2!}z^{2}+\dots+\frac{B_{n}}{n!}z^{n}+\dots)\\=z\cdot{1}
(ez−1)⋅ez−1z=(n=0∑nn!zn−1)(n=0∑∞Bnn!zn)=z(1!1+2!1z+⋯+n!1zn−1+…)(B0+zB1+2!B2z2+⋯+n!Bnzn+…)=z⋅1
现在对照
n
n
n幂次的多项式系数为0可以得到
1
1
!
B
0
=
1
⇒
B
0
=
1
\frac{1}{1!}B_{0}=1\Rightarrow{B_{0}=1}
1!1B0=1⇒B0=1
B
0
⋅
1
(
n
+
1
)
!
+
B
1
⋅
1
n
!
+
⋯
+
B
k
k
!
⋅
1
(
n
−
k
+
1
)
!
+
⋯
+
1
1
!
⋅
B
n
n
!
=
0
B_{0}\cdot{\frac{1}{(n+1)!}}+B_{1}\cdot{\frac{1}{n!}}+\dots+\frac{B_{k}}{k!}\cdot{\frac{1}{(n-k+1)!}}+\dots+\frac{1}{1!}\cdot{\frac{B_{n}}{n!}}=0
B0⋅(n+1)!1+B1⋅n!1+⋯+k!Bk⋅(n−k+1)!1+⋯+1!1⋅n!Bn=0
上述等式两边同乘以
(
n
+
1
)
!
(n+1)!
(n+1)!则可以得到
B
0
⋅
(
n
+
1
)
!
(
n
+
1
)
!
+
B
1
⋅
(
n
+
1
)
!
n
!
+
⋯
+
B
k
1
k
!
⋅
(
n
+
1
)
!
(
n
−
k
+
1
)
!
+
⋯
+
B
n
1
1
!
⋅
(
n
+
1
)
!
n
!
=
0
B_{0}\cdot{\frac{(n+1)!}{(n+1)!}}+B_{1}\cdot{\frac{(n+1)!}{n!}}+\dots+B_{k}\frac{1}{k!}\cdot{\frac{(n+1)!}{(n-k+1)!}}+\dots+B_{n}\frac{1}{1!}\cdot{\frac{(n+1)!}{n!}}=0
B0⋅(n+1)!(n+1)!+B1⋅n!(n+1)!+⋯+Bkk!1⋅(n−k+1)!(n+1)!+⋯+Bn1!1⋅n!(n+1)!=0
即
∑
k
=
0
n
+
1
C
n
+
1
k
B
k
=
B
n
+
1
\sum\limits_{k=0}^{n+1}C_{n+1}^{k}B_{k}=B_{n+1}
k=0∑n+1Cn+1kBk=Bn+1
所以得到伯努利数的递推表达式:
{
B
0
=
1
B
n
+
1
=
∑
k
=
0
n
+
1
C
n
+
1
k
B
k
\begin{cases} B_{0}=1\\ B_{n+1}=\sum\limits_{k=0}^{n+1}C_{n+1}^{k}B_{k} \end{cases}
⎩⎨⎧B0=1Bn+1=k=0∑n+1Cn+1kBk
或者表示为更为恰当的递推关系式
{
B
0
=
1
B
n
=
−
1
n
+
1
∑
k
=
0
n
−
1
C
n
+
1
k
B
k
\begin{cases} B_{0}=1\\ B_{n}=-\frac{1}{n+1}\sum\limits_{k=0}^{n-1}C_{n+1}^{k}B_{k}\\ \end{cases}
⎩⎨⎧B0=1Bn=−n+11k=0∑n−1Cn+1kBk
由递推表达式可以知道前几项的值
B
0
=
1
,
B
1
=
−
1
2
,
B
2
=
1
6
,
B
3
=
0
…
B_{0}=1,B_{1}=-\frac{1}{2},B_{2}=\frac{1}{6},B_{3}=0\dots
B0=1,B1=−21,B2=61,B3=0…,由表达式也可以知道
B
2
n
+
1
=
0
B_{2n+1}=0
B2n+1=0,下面证明这一结果的正确性.
由于复变函数
f
(
z
)
=
z
e
z
−
1
=
∑
n
=
0
∞
B
n
z
n
n
!
f(z)=\frac{z}{e^{z}-1}=\sum\limits_{n=0}^{\infty}B_{n}\frac{z^{n}}{n!}
f(z)=ez−1z=n=0∑∞Bnn!zn
设圆周
∣
z
∣
=
1
|z|=1
∣z∣=1,可以知道
f
(
z
)
f(z)
f(z)在
C
C
C内是解析的,所以对于以下复变函数的洛朗展开式为
f
(
z
)
z
2
n
+
2
=
B
0
0
!
z
−
2
n
−
2
+
B
1
1
!
z
−
2
n
−
1
+
⋯
+
B
2
n
+
1
(
2
n
+
1
)
!
z
−
1
+
B
2
n
+
2
(
2
n
+
2
)
!
+
…
\frac{f(z)}{z^{2n+2}}=\frac{B_{0}}{0!}z^{-2n-2}+\frac{B_{1}}{1!}z^{-2n-1}+\dots+\frac{B_{2n+1}}{(2n+1)!}z^{-1}+\frac{B_{2n+2}}{(2n+2)!}+\dots
z2n+2f(z)=0!B0z−2n−2+1!B1z−2n−1+⋯+(2n+1)!B2n+1z−1+(2n+2)!B2n+2+…
在
C
C
C上使用由留数定理可得
∮
C
f
(
z
)
z
2
n
+
2
d
z
=
2
π
i
⋅
B
2
n
+
1
(
2
n
+
1
)
!
\oint_{C}\frac{f(z)}{z^{2n+2}}dz=2\pi{i}\cdot{\frac{B_{2n+1}}{(2n+1)!}}
∮Cz2n+2f(z)dz=2πi⋅(2n+1)!B2n+1
B
2
n
+
1
=
(
2
n
+
1
)
!
2
π
i
∮
C
f
(
z
)
z
2
n
+
2
d
z
B_{2n+1}=\frac{(2n+1)!}{2\pi{i}}\oint_{C}\frac{f(z)}{z^{2n+2}}dz
B2n+1=2πi(2n+1)!∮Cz2n+2f(z)dz
进行复数代换
z
=
e
i
θ
z=e^{i\theta}
z=eiθ,则可以得到
B
2
n
+
1
=
(
2
n
+
1
)
!
2
π
i
∫
0
2
π
e
i
θ
e
e
i
θ
−
1
e
−
2
n
i
θ
−
2
i
θ
i
e
i
θ
d
θ
=
(
2
n
+
1
)
!
2
π
∫
0
2
π
e
−
2
n
i
θ
e
e
i
θ
−
1
d
θ
=
(
2
n
+
1
)
!
2
π
∫
0
π
e
−
2
n
i
θ
e
e
i
θ
−
1
d
θ
+
(
2
n
+
1
)
!
2
π
∫
π
2
π
e
−
2
n
i
θ
e
e
i
θ
−
1
d
θ
=
(
2
n
+
1
)
!
2
π
∫
0
π
e
−
2
n
i
θ
e
e
i
θ
−
1
d
θ
+
(
2
n
+
1
)
!
2
π
∫
0
π
e
−
2
n
i
θ
+
2
n
π
i
e
e
i
θ
−
1
d
θ
=
(
2
n
+
1
)
!
2
π
∫
0
π
e
−
2
n
i
θ
e
e
i
θ
−
1
d
θ
+
(
2
n
+
1
)
!
2
π
∫
0
π
e
−
2
n
i
θ
e
e
−
i
θ
−
1
d
θ
B_{2n+1}=\frac{(2n+1)!}{2\pi{i}}\int_{0}^{2\pi}\frac{e^{i\theta}}{e^{e^{i\theta}}-1}e^{-2ni\theta-2i\theta}ie^{i\theta}d\theta\\ =\frac{(2n+1)!}{2\pi}\int_{0}^{2\pi}\frac{e^{-2ni\theta}}{e^{e^{i\theta}}-1}d\theta\\ =\frac{(2n+1)!}{2\pi}\int_{0}^{\pi}\frac{e^{-2ni\theta}}{e^{e^{i\theta}}-1}d\theta+\frac{(2n+1)!}{2\pi}\int_{\pi}^{2\pi}\frac{e^{-2ni\theta}}{e^{e^{i\theta}}-1}d\theta\\ =\frac{(2n+1)!}{2\pi}\int_{0}^{\pi}\frac{e^{-2ni\theta}}{e^{e^{i\theta}}-1}d\theta+\frac{(2n+1)!}{2\pi}\int_{0}^{\pi}\frac{e^{-2ni\theta+2n\pi{i}}}{e^{e^{i\theta}}-1}d\theta\\ =\frac{(2n+1)!}{2\pi}\int_{0}^{\pi}\frac{e^{-2ni\theta}}{e^{e^{i\theta}}-1}d\theta+\frac{(2n+1)!}{2\pi}\int_{0}^{\pi}\frac{e^{-2ni\theta}}{e^{e^{-i\theta}}-1}d\theta
B2n+1=2πi(2n+1)!∫02πeeiθ−1eiθe−2niθ−2iθieiθdθ=2π(2n+1)!∫02πeeiθ−1e−2niθdθ=2π(2n+1)!∫0πeeiθ−1e−2niθdθ+2π(2n+1)!∫π2πeeiθ−1e−2niθdθ=2π(2n+1)!∫0πeeiθ−1e−2niθdθ+2π(2n+1)!∫0πeeiθ−1e−2niθ+2nπidθ=2π(2n+1)!∫0πeeiθ−1e−2niθdθ+2π(2n+1)!∫0πee−iθ−1e−2niθdθ
所以得到
B
2
n
+
1
=
(
2
n
+
1
)
!
2
π
∫
0
π
−
e
−
2
n
i
θ
d
θ
=
{
0
,
n
≥
1
−
1
2
,
n
=
0
B_{2n+1}=\frac{(2n+1)!}{2\pi}\int_{0}^{\pi}-e^{-2ni\theta}d\theta\\ =\begin{cases} 0,&n\geq{1}\\ -\frac{1}{2},&n=0 \end{cases}
B2n+1=2π(2n+1)!∫0π−e−2niθdθ={0,−21,n≥1n=0
为了便于编程处理,我们可以得到以下的递推表达式
{
B
0
=
1
B
1
=
−
1
2
B
2
n
=
1
2
−
1
2
n
+
1
∑
k
=
0
n
−
1
C
2
n
+
1
2
k
B
2
k
B
2
n
+
1
=
0
\begin{cases} B_{0}=1\\ B_{1}=-\frac{1}{2}\\ B_{2n}=\frac{1}{2}-\frac{1}{2n+1}\sum\limits_{k=0}^{n-1}C_{2n+1}^{2k}B_{2k}\\ B_{2n+1}=0 \end{cases}
⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧B0=1B1=−21B2n=21−2n+11k=0∑n−1C2n+12kB2kB2n+1=0
2.欧拉数
对于函数
sech
x
\text{sech}{x}
sechx,它的泰勒展开式是由欧拉数所定义.即
sech
x
=
∑
n
=
0
∞
(
−
1
)
n
(
2
n
)
!
E
n
x
2
n
\text{sech}{x}=\sum\limits_{n=0}^{\infty}\frac{(-1)^{n}}{(2n)!}E_{n}x^{2n}
sechx=n=0∑∞(2n)!(−1)nEnx2n
由定义可以得到
cosh
x
⋅
sech
x
=
(
∑
n
=
0
∞
1
(
2
n
)
!
x
2
n
)
(
∑
n
=
0
∞
(
−
1
)
n
E
n
(
2
n
)
!
x
2
n
)
=
[
1
+
1
2
!
x
2
+
⋯
+
1
(
2
n
)
!
x
2
n
+
P
n
(
x
)
]
[
E
0
−
E
1
2
!
x
2
+
⋯
+
(
−
1
)
n
E
n
(
2
n
)
!
x
2
n
+
Q
n
(
x
)
]
=
1
\cosh{x}\cdot{\text{sech}{x}}=\left(\sum\limits_{n=0}^{\infty}\frac{1}{(2n)!}x^{2n}\right)\left(\sum\limits_{n=0}^{\infty}\frac{(-1)^{n}E_{n}}{(2n)!}x^{2n}\right)\\ =\left[1+\frac{1}{2!}x^{2}+\dots+\frac{1}{(2n)!}x^{2n}+P_{n}(x)\right]\left[E_{0}-\frac{E_{1}}{2!}x^{2}+\dots+\frac{(-1)^{n}E_{n}}{(2n)!}x^{2n}+Q_{n}(x)\right]=1
coshx⋅sechx=(n=0∑∞(2n)!1x2n)(n=0∑∞(2n)!(−1)nEnx2n)=[1+2!1x2+⋯+(2n)!1x2n+Pn(x)][E0−2!E1x2+⋯+(2n)!(−1)nEnx2n+Qn(x)]=1
其中
P
n
(
x
)
,
Q
n
(
x
)
P_{n}(x),Q_{n}(x)
Pn(x),Qn(x)为余项.对照乘积中的
2
n
2n
2n次幂的系数,可以得到
1
0
!
⋅
(
−
1
)
n
E
n
(
2
n
)
!
+
⋯
+
1
(
2
k
)
!
⋅
(
−
1
)
n
−
k
E
n
−
k
[
2
(
n
−
k
)
]
!
+
⋯
+
1
(
2
n
)
!
⋅
(
−
1
)
0
E
0
(
0
)
!
=
0
\frac{1}{0!}\cdot{\frac{(-1)^{n}E_{n}}{(2n)!}}+\dots+\frac{1}{(2k)!}\cdot{\frac{(-1)^{n-k}E_{n-k}}{[2(n-k)]!}}+\dots+\frac{1}{(2n)!}\cdot{\frac{(-1)^{0}E_{0}}{(0)!}}=0
0!1⋅(2n)!(−1)nEn+⋯+(2k)!1⋅[2(n−k)]!(−1)n−kEn−k+⋯+(2n)!1⋅(0)!(−1)0E0=0
这样就会有
∑
k
=
0
n
(
2
n
)
!
⋅
1
(
2
k
)
!
⋅
(
−
1
)
n
−
k
E
n
−
k
[
2
(
n
−
k
)
]
!
=
∑
k
=
0
n
(
2
n
)
!
(
2
k
)
!
(
2
n
−
2
k
)
!
⋅
(
−
1
)
n
−
k
E
n
−
k
=
∑
k
=
0
n
(
−
1
)
n
−
k
C
2
n
2
k
E
n
−
k
=
∑
k
=
0
n
(
−
1
)
k
C
2
n
2
n
−
2
k
E
k
=
∑
k
=
0
n
(
−
1
)
k
C
2
n
2
k
E
k
=
0
\sum\limits_{k=0}^{n}(2n)!\cdot\frac{1}{(2k)!}\cdot{\frac{(-1)^{n-k}E_{n-k}}{[2(n-k)]!}}\\ =\sum\limits_{k=0}^{n}\frac{(2n)!}{(2k)!(2n-2k)!}\cdot{(-1)^{n-k}E_{n-k}}\\ =\sum\limits_{k=0}^{n}(-1)^{n-k}C_{2n}^{2k}E_{n-k}\\ =\sum\limits_{k=0}^{n}(-1)^{k}C_{2n}^{2n-2k}E_{k}\\ =\sum\limits_{k=0}^{n}(-1)^{k}C_{2n}^{2k}E_{k}=0
k=0∑n(2n)!⋅(2k)!1⋅[2(n−k)]!(−1)n−kEn−k=k=0∑n(2k)!(2n−2k)!(2n)!⋅(−1)n−kEn−k=k=0∑n(−1)n−kC2n2kEn−k=k=0∑n(−1)kC2n2n−2kEk=k=0∑n(−1)kC2n2kEk=0
其中
n
≥
1
,
E
0
=
1
n\geq{1},E_{0}=1
n≥1,E0=1.所以我们就会得到欧拉数的一般递推公式
{
E
0
=
1
,
n
=
0
∑
k
=
0
n
(
−
1
)
k
C
2
n
2
k
E
k
=
0
,
n
≥
1
\begin{cases} E_{0}=1&,n=0\\ \sum\limits_{k=0}^{n}(-1)^{k}C_{2n}^{2k}E_{k}=0&,n\geq{1} \end{cases}
⎩⎨⎧E0=1k=0∑n(−1)kC2n2kEk=0,n=0,n≥1
或者表示为
{
E
0
=
1
,
n
=
0
E
n
=
(
−
1
)
n
∑
k
=
0
n
−
1
(
−
1
)
k
C
2
n
2
k
E
k
,
n
≥
1
\begin{cases} E_{0}=1&,n=0\\ E_{n}=(-1)^{n}\sum\limits_{k=0}^{n-1}(-1)^{k}C_{2n}^{2k}E_{k}&,n\geq{1} \end{cases}
⎩⎨⎧E0=1En=(−1)nk=0∑n−1(−1)kC2n2kEk,n=0,n≥1
特别地,可以得到
sec
x
=
sech
i
x
\sec{x}=\text{sech}ix
secx=sechix。因而得到
sech
x
=
∑
n
=
0
∞
E
n
(
2
n
)
!
x
2
n
\text{sech}{x}=\sum\limits_{n=0}^{\infty}\frac{E_{n}}{(2n)!}x^{2n}
sechx=n=0∑∞(2n)!Enx2n
3.自然幂指数和
使用伯努利数的定义,我们可以得出一般的
p
p
p次方的前
n
n
n项和公式.设前
n
n
n项和公式为
S
p
(
n
)
=
∑
k
=
1
n
k
p
,
p
,
n
∈
N
+
S_{p}(n)=\sum\limits_{k=1}^{n}k^{p},p,n\in{N_{+}}
Sp(n)=k=1∑nkp,p,n∈N+
构造函数
G
(
z
,
n
)
=
∑
p
=
0
∞
S
p
(
n
)
p
!
z
p
=
∑
p
=
0
∞
∑
k
=
1
n
(
k
z
)
p
p
!
=
∑
k
=
1
n
e
k
z
=
1
−
e
z
n
e
−
z
−
1
G(z,n)=\sum\limits_{p=0}^{\infty}S_{p}(n)\frac{p!}{z^{p}} =\sum\limits_{p=0}^{\infty}\sum\limits_{k=1}^{n}\frac{(kz)^{p}}{p!} =\sum\limits_{k=1}^{n}e^{kz}=\frac{1-e^{zn}}{e^{-z}-1}
G(z,n)=p=0∑∞Sp(n)zpp!=p=0∑∞k=1∑np!(kz)p=k=1∑nekz=e−z−11−ezn
由伯努利数所定义的函数,可以得到
1
−
e
z
n
e
−
z
−
1
=
−
z
e
−
z
−
1
⋅
e
n
z
−
1
z
=
∑
i
=
0
∞
(
−
1
)
i
B
i
i
!
⋅
z
i
−
1
⋅
∑
j
=
1
∞
(
n
z
)
j
j
!
=
∑
i
=
0
∞
∑
j
=
1
∞
(
−
1
)
i
B
i
i
!
⋅
n
j
j
!
z
i
+
j
−
1
\frac{1-e^{zn}}{e^{-z}-1}=\frac{-z}{e^{-z}-1}\cdot{\frac{e^{nz}-1}{z}}\\ =\sum\limits_{i=0}^{\infty}\frac{(-1)^{i}B_{i}}{i!}\cdot{z^{i-1}}\cdot{\sum\limits_{j=1}^{\infty}\frac{(nz)^{j}}{j!}}\\ =\sum\limits_{i=0}^{\infty}\sum\limits_{j=1}^{\infty}\frac{(-1)^{i}B_{i}}{i!}\cdot{\frac{n^{j}}{j!}}z^{i+j-1}
e−z−11−ezn=e−z−1−z⋅zenz−1=i=0∑∞i!(−1)iBi⋅zi−1⋅j=1∑∞j!(nz)j=i=0∑∞j=1∑∞i!(−1)iBi⋅j!njzi+j−1
现在设
p
=
i
+
j
−
1
p=i+j-1
p=i+j−1,那么得到
1
−
e
z
n
e
−
z
−
1
=
∑
i
=
0
∞
∑
j
=
1
∞
(
−
1
)
i
B
i
i
!
⋅
n
j
j
!
z
i
+
j
−
1
=
∑
p
=
0
∞
∑
i
=
0
p
(
−
1
)
i
B
i
i
!
⋅
n
p
−
i
+
1
(
p
−
i
+
1
)
!
z
p
=
∑
p
=
0
∞
z
p
p
!
⋅
1
p
+
1
∑
i
=
0
p
(
−
1
)
i
B
i
(
p
+
1
)
!
i
!
(
p
+
1
−
i
)
!
n
p
+
1
−
i
=
∑
p
=
0
∞
z
p
p
!
⋅
1
p
+
1
∑
i
=
0
p
(
−
1
)
i
B
i
C
p
+
1
i
n
p
+
1
−
i
\frac{1-e^{zn}}{e^{-z}-1}=\sum\limits_{i=0}^{\infty}\sum\limits_{j=1}^{\infty}\frac{(-1)^{i}B_{i}}{i!}\cdot{\frac{n^{j}}{j!}}z^{i+j-1}\\ =\sum\limits_{p=0}^{\infty}\sum\limits_{i=0}^{p}\frac{(-1)^{i}B_{i}}{i!}\cdot{\frac{n^{p-i+1}}{(p-i+1)!}}z^{p}\\ =\sum\limits_{p=0}^{\infty}\frac{z^{p}}{p!}\cdot{\frac{1}{p+1}}\sum\limits_{i=0}^{p}(-1)^{i}B_{i}\frac{(p+1)!}{i!(p+1-i)!}n^{p+1-i}\\ =\sum\limits_{p=0}^{\infty}\frac{z^{p}}{p!}\cdot{\frac{1}{p+1}}\sum\limits_{i=0}^{p}(-1)^{i}B_{i}C_{p+1}^{i}n^{p+1-i}
e−z−11−ezn=i=0∑∞j=1∑∞i!(−1)iBi⋅j!njzi+j−1=p=0∑∞i=0∑pi!(−1)iBi⋅(p−i+1)!np−i+1zp=p=0∑∞p!zp⋅p+11i=0∑p(−1)iBii!(p+1−i)!(p+1)!np+1−i=p=0∑∞p!zp⋅p+11i=0∑p(−1)iBiCp+1inp+1−i
对照系数可以得到
S
p
(
n
)
=
∑
k
=
1
n
k
p
=
1
p
+
1
∑
i
=
0
p
(
−
1
)
i
B
i
C
p
+
1
i
n
p
+
1
−
i
S_{p}(n)=\sum\limits_{k=1}^{n}k^{p}={\frac{1}{p+1}}\sum\limits_{i=0}^{p}(-1)^{i}B_{i}C_{p+1}^{i}n^{p+1-i}
Sp(n)=k=1∑nkp=p+11i=0∑p(−1)iBiCp+1inp+1−i
4. tan x \tan{x} tanx泰勒展开式
与伯努利数和欧拉数相关的问题之一是泰勒展开式。
tan
x
\tan{x}
tanx的泰勒级数表达式不太好计算.这里我们采用一个小的技巧,对于
coth
x
\coth{x}
cothx,函数在
x
=
0
x=0
x=0点处是不可导的,所以有
x
e
x
−
1
+
x
2
=
x
2
⋅
e
x
+
1
e
x
−
1
=
x
2
⋅
e
x
2
+
e
−
x
2
e
x
2
−
e
−
x
2
=
x
2
coth
x
2
\frac{x}{e^{x}-1}+\frac{x}{2}=\frac{x}{2}\cdot{\frac{e^{x}+1}{e^{x}-1}} =\frac{x}{2}\cdot{\frac{e^{\frac{x}{2}}+e^{-\frac{x}{2}}}{e^{\frac{x}{2}}-e^{-\frac{x}{2}}}} =\frac{x}{2}\coth\frac{x}{2}
ex−1x+2x=2x⋅ex−1ex+1=2x⋅e2x−e−2xe2x+e−2x=2xcoth2x
所以得到这样的一个表达式
x
2
coth
x
2
=
x
2
+
∑
n
=
0
∞
B
n
x
n
n
!
=
x
2
+
∑
n
=
0
∞
B
n
(
2
⋅
x
2
)
n
n
!
\frac{x}{2}\coth\frac{x}{2}=\frac{x}{2}+\sum\limits_{n=0}^{\infty}B_{n}\frac{x^{n}}{n!}=\frac{x}{2}+\sum\limits_{n=0}^{\infty}B_{n}\frac{\left(2\cdot\frac{x}{2}\right)^{n}}{n!}
2xcoth2x=2x+n=0∑∞Bnn!xn=2x+n=0∑∞Bnn!(2⋅2x)n
由于
B
0
=
1
,
B
1
=
−
1
2
B_{0}=1,B_{1}=-\frac{1}{2}
B0=1,B1=−21,故而
x
coth
x
=
1
+
∑
n
=
2
∞
B
n
(
2
x
)
n
n
!
x\coth{x}=1+\sum\limits_{n=2}^{\infty}B_{n}\frac{(2x)^{n}}{n!}
xcothx=1+n=2∑∞Bnn!(2x)n
得到
coth
x
=
1
x
+
∑
n
=
2
∞
2
n
B
n
x
n
−
1
n
!
\coth{x}=\frac{1}{x}+\sum\limits_{n=2}^{\infty}2^{n}B_{n}\frac{x^{n-1}}{n!}
cothx=x1+n=2∑∞2nBnn!xn−1
这个等式在下面三角函数表达式的递推有用.设
B
2
n
=
(
−
1
)
n
−
1
β
n
B_{2n}=(-1)^{n-1}\beta_{n}
B2n=(−1)n−1βn,则上式可以得到,
x
coth
x
=
1
+
∑
n
=
1
∞
(
−
1
)
n
−
1
2
2
n
β
n
(
2
n
)
!
x
2
n
=
1
+
∑
n
=
1
∞
(
−
1
)
n
−
1
2
2
n
β
n
(
2
n
)
!
x
2
n
x\coth{x}=1+\sum\limits_{n=1}^{\infty}\frac{(-1)^{n-1}2^{2n}\beta_{n}}{(2n)!}x^{2n} =1+\sum\limits_{n=1}^{\infty}\frac{(-1)^{n-1}2^{2n}\beta_{n}}{(2n)!}x^{2n}
xcothx=1+n=1∑∞(2n)!(−1)n−122nβnx2n=1+n=1∑∞(2n)!(−1)n−122nβnx2n
即
coth
x
=
1
x
+
∑
n
=
1
∞
(
−
1
)
n
−
1
2
2
n
β
n
(
2
n
)
!
x
2
n
−
1
=
∑
n
=
0
∞
(
−
1
)
n
+
1
2
2
n
β
n
(
2
n
)
!
x
2
n
−
1
=
∑
n
=
0
∞
2
2
n
B
2
n
(
2
n
)
!
x
2
n
−
1
\coth{x}=\frac{1}{x}+\sum\limits_{n=1}^{\infty}\frac{(-1)^{n-1}2^{2n}\beta_{n}}{(2n)!}x^{2n-1}=\sum\limits_{n=0}^{\infty}\frac{(-1)^{n+1}2^{2n}\beta_{n}}{(2n)!}x^{2n-1}=\sum\limits_{n=0}^{\infty}\frac{2^{2n}B_{2n}}{(2n)!}x^{2n-1}
cothx=x1+n=1∑∞(2n)!(−1)n−122nβnx2n−1=n=0∑∞(2n)!(−1)n+122nβnx2n−1=n=0∑∞(2n)!22nB2nx2n−1
对于
tan
x
\tan{x}
tanx泰勒展开式的计算,需要用到复变函数的知识。容易得知
x
cot
x
=
i
x
coth
i
x
x\cot{x}=ix\coth{ix}
xcotx=ixcothix
所以得到
x
cot
x
=
1
−
∑
n
=
1
∞
2
2
n
β
n
(
2
n
)
!
x
2
n
x\cot{x}=1-\sum\limits_{n=1}^{\infty}\frac{2^{2n}\beta_{n}}{(2n)!}x^{2n}
xcotx=1−n=1∑∞(2n)!22nβnx2n
所以有
cot
x
=
1
x
−
∑
n
=
1
∞
2
2
n
β
n
(
2
n
)
!
x
2
n
−
1
\cot{x}=\frac{1}{x}-\sum\limits_{n=1}^{\infty}\frac{2^{2n}\beta_{n}}{(2n)!}x^{2n-1}
cotx=x1−n=1∑∞(2n)!22nβnx2n−1
即表示为
cot
x
=
∑
n
=
0
∞
(
−
1
)
n
2
2
n
B
2
n
(
2
n
)
!
x
2
n
−
1
\cot{x}=\sum\limits_{n=0}^{\infty}\frac{(-1)^{n}2^{2n}B_{2n}}{(2n)!}x^{2n-1}
cotx=n=0∑∞(2n)!(−1)n22nB2nx2n−1
由于
tan
x
=
cot
x
−
2
cot
2
x
\tan{x}=\cot{x}-2\cot{2x}
tanx=cotx−2cot2x
所以得到
tan
x
=
∑
n
=
1
∞
(
−
1
)
n
−
1
(
2
2
n
−
1
)
2
2
n
B
2
n
(
2
n
)
!
x
2
n
−
1
\tan{x}=\sum\limits_{n=1}^{\infty}(-1)^{n-1}\frac{\left(2^{2n}-1\right)2^{2n}B_{2n}}{(2n)!}x^{2n-1}
tanx=n=1∑∞(−1)n−1(2n)!(22n−1)22nB2nx2n−1
5. 程序应用与计算
我们这里的程序列举出如何用程序计算伯努利数、欧拉数、自然幂指数和。
根据公式的定义我们可以写出相应的程序。笔者这里使用到的是C++语言进行编写
# pragma once
# ifndef BERNOULI_H
# define BERNOULI_H
# include<cassert>
# include<iostream>
//计算阶乘
long Factorial(long N) {
if (N == 0) return 1;
if (N == 1) return 1;
else return N*Factorial(N - 1);
}
//计算组合数
unsigned long Combinatorial(unsigned long N, unsigned long M) {
assert(N >= M);
return Factorial(N) / (Factorial(M)*Factorial(N-M));
}
//计算伯努利数
double CalBernouli(unsigned long N) {
if (N == 0) return 1;
if (N == 1) return -0.5;
if (N % 2 == 1) return 0;
else {
double value = 0;
for (unsigned int k = 0; k <= N / 2 - 1; k++) {
value += Combinatorial(N + 1, 2 * k)*CalBernouli(2*k);
}
value = 0.5 - value / (N + 1);
return value;
}
}
//计算欧拉数
long CalEluer(unsigned long N) {
if (N == 0) return 1;
else {
long sign = 1;
long value = 0;
for (unsigned long k = 0; k <= N - 1; k++) {
value += sign*Combinatorial(2 * N, 2 * k)*CalEluer(k);
sign = sign*(-1);
}
sign = sign*(-1);
return sign*value;
}
}
//自然数幂指数之和普通加法
double CalSumNpMethodA(unsigned long p,unsigned long N) {
double result = 0;
for (unsigned long k = 0; k <= N; k++) {
result += pow(k, p);
}
return result;
}
//求和公式
double CalSumNpMethodB(unsigned long p, unsigned long N) {
double result = 0;
int sign = 1;
for (unsigned int k = 0; k <= p; k++) {
result += sign*CalBernouli(k)*Combinatorial(p+1,k)*pow(N,p+1-k);
sign = (-1)*sign;
}
return result/(p+1);
}
# endif // !BERNOULI_H