伯努利数、欧拉数与泰勒展开式

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)=ez1z=n=0Bnn!zn
这里 z ∈ C z\in{\mathbb{C}} zC
递归定义法
设伯努利数列为 B n B_{n} Bn B 0 = 1 B_{0}=1 B0=1,那么定义此数列当 n ≥ 2 n\geq{2} n2时候,满足表达式 B n = ∑ k = 0 n C n k B k B_{n}=\sum\limits_{k=0}^{n}C_{n}^{k}B_{k} Bn=k=0nCnkBk

他两个之间的定义是等价的,这就意味着由这两个定义可以互相推导。对于生成函数我们可以得到
e z = ∑ n = 0 n z n n ! e^{z}=\sum\limits_{n=0}^{n}\frac{z^{n}}{n!} ez=n=0nn!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} (ez1)ez1z=(n=0nn!zn1)(n=0Bnn!zn)=z(1!1+2!1z++n!1zn1+)(B0+zB1+2!B2z2++n!Bnzn+)=z1
现在对照 n n n幂次的多项式系数为0可以得到
1 1 ! B 0 = 1 ⇒ B 0 = 1 \frac{1}{1!}B_{0}=1\Rightarrow{B_{0}=1} 1!1B0=1B0=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+B1n!1++k!Bk(nk+1)!1++1!1n!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)!+B1n!(n+1)!++Bkk!1(nk+1)!(n+1)!++Bn1!1n!(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=0n+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=0n+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=0n1Cn+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)=ez1z=n=0Bnn!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!B0z2n2+1!B1z2n1++(2n+1)!B2n+1z1+(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θe2niθ2iθieiθdθ=2π(2n+1)!02πeeiθ1e2niθdθ=2π(2n+1)!0πeeiθ1e2niθdθ+2π(2n+1)!π2πeeiθ1e2niθdθ=2π(2n+1)!0πeeiθ1e2niθdθ+2π(2n+1)!0πeeiθ1e2niθ+2nπidθ=2π(2n+1)!0πeeiθ1e2niθdθ+2π(2n+1)!0πeeiθ1e2niθ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πe2niθdθ={ 0,21,n1n=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=212n+11k=0n1C2n+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 coshxsechx=(n=0(2n)!1x2n)(n=0(2n)!(1)nEnx2n)=[1+2!1x2++(2n)!1x2n+Pn(x)][E02!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(nk)]!(1)nkEnk++(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=0n(2n)!(2k)!1[2(nk)]!(1)nkEnk=k=0n(2k)!(2n2k)!(2n)!(1)nkEnk=k=0n(1)nkC2n2kEnk=k=0n(1)kC2n2n2kEk=k=0n(1)kC2n2kEk=0
其中 n ≥ 1 , E 0 = 1 n\geq{1},E_{0}=1 n1,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=0n(1)kC2n2kEk=0,n=0,n1
或者表示为
{ 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=0n1(1)kC2n2kEk,n=0,n1
特别地,可以得到 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=1nkp,p,nN+

构造函数
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=0Sp(n)zpp!=p=0k=1np!(kz)p=k=1nekz=ez11ezn
由伯努利数所定义的函数,可以得到
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} ez11ezn=ez1zzenz1=i=0i!(1)iBizi1j=1j!(nz)j=i=0j=1i!(1)iBij!njzi+j1
现在设 p = i + j − 1 p=i+j-1 p=i+j1,那么得到
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} ez11ezn=i=0j=1i!(1)iBij!njzi+j1=p=0i=0pi!(1)iBi(pi+1)!npi+1zp=p=0p!zpp+11i=0p(1)iBii!(p+1i)!(p+1)!np+1i=p=0p!zpp+11i=0p(1)iBiCp+1inp+1i
对照系数可以得到
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=1nkp=p+11i=0p(1)iBiCp+1inp+1i

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} ex1x+2x=2xex1ex+1=2xe2xe2xe2x+e2x=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=0Bnn!xn=2x+n=0Bnn!(22x)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=2Bnn!(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=22nBnn!xn1
这个等式在下面三角函数表达式的递推有用.设 B 2 n = ( − 1 ) n − 1 β n B_{2n}=(-1)^{n-1}\beta_{n} B2n=(1)n1β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)n122nβnx2n=1+n=1(2n)!(1)n122nβ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)n122nβnx2n1=n=0(2n)!(1)n+122nβnx2n1=n=0(2n)!22nB2nx2n1
对于 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=1n=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=x1n=1(2n)!22nβnx2n1
即表示为
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)n22nB2nx2n1

由于
tan ⁡ x = cot ⁡ x − 2 cot ⁡ 2 x \tan{x}=\cot{x}-2\cot{2x} tanx=cotx2cot2x

所以得到
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)n1(2n)!(22n1)22nB2nx2n1

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

参考

[1] arcsinX和tanX的泰勒展开有没有通项公式?
[2] tan(x)的泰勒展开有通项公式吗?

猜你喜欢

转载自blog.csdn.net/Zhang_Pro/article/details/107155982
今日推荐