6.Bernoulli数、Euler数

Euler数 En

Euler数 En は以下の式により定義される。

En :  sec z
Σ
n=1
En
----
n!
zn

p/q=rの式にあてはめると、

p:1(0次の項のみ)

q:cos z=1−z2/2!+z4/4!−+……+(−1)nz2n/2n!

r:E0+E1z+E2z2/2!+……+Enzn/n!

rnを順に求めていくと、

n=0:1=1・E0 ∴ E0=1

n=1:0=1・E1 ∴ E1=0
(以下、奇数番目は0となる)

n=2:0=1・E2/2!−1/2!・E0 ∴ E2=1

……


上の手続きは以下のようなアルゴリズムとなっている。

  1. Enを格納するための配列を用意する。E(0)=1 とする
  2. 偶数番目のみを求める。2i−2番目まで求められているとき、2i番目は、
  3. E2i=−2i!(E0・(-1)i/(2i)! +E2・(-1)i-1/(2i−2)!+…… +E2j・(-1)i-j/(2i−2j)!+…… +E2i-2・(-1)1/2!

    により求めることができる。

プログラムは以下のとおり。

10   ' sec
20   N=20:dim E(N):E(0)=1
30   for I=2 to N step 2:S=0
40     for J=0 to I-2 step 2
50       S=S+E(J)//!(J)//!(I-J)*(-1)^((I-J)\2)
60     next J
70     E(I)=S*(-1)*!(I)
80     print I,E(I)
90   next I

50行目が Bernoulli数の場合よりも、少し複雑になっている。
が、いずれにしても簡単なプログラムとなる。
ここでは、N=20として、E20までを求めてみる。
実行結果は以下のとおり。

nEn
21
45
661
81385
1050521
1227 02765
141993 60981
161 93915 12145
18240 48796 75441
2037037 11882 37525

Euler数は、必ず整数となる。
かつ1の位に1、5が交互に出現する。


この章の目次

E-mail : kc2h-msm@asahi-net.or.jp
三島 久典