はじめに
ネイピア数は、反比例の積分を行うときにでてくる神秘的な数である。ネイピア数は、ある関数の極限として定義上表すことができるため、有限区間で区切りれば、計算機を用いて近似値を算出することができる。一方で、テイラー展開を用いて無限和で表すこともできる。そこで、今回は定義もしくはテイラー展開から導かれたネイピア数を表す極限式は本質的には等価であることを示す。次に、計算機を用いて定義もしくはテイラー展開を用いてネイピア数の近似値を算出する。
ネイピア数の定義
ネイピア数$e$は、以下のように表すことができる。
e=\lim_{n\to \infty} (1+\frac{1}{n})^n
したがって、二項定理で展開することを考えると以下のようになる。
(1+\frac{1}{n})^n=\sum_{k=0}^{n}{}_n C_k(\frac{1}{n})^k=\sum_{k=0}^{n} \frac{n(n-1)\cdot \cdot \cdot (n-k+1)}{k(k-1)\cdot \cdot \cdot 1}\frac{1}{n^k}=\sum_{k=0}^{n} \frac{n(n-1)\cdot \cdot \cdot (n-k+1)}{n^k}\frac{1}{k(k-1)\cdot \cdot \cdot 1}=\sum_{k=0}^{n} 1(1-\frac{1}{n})(1-\frac{2}{n})\cdot \cdot \cdot (1-\frac{1}{n})\frac{1}{k!}=\sum_{k=0}^{n} \frac{1}{k!}
ただし、最後の式変形について、厳密には下記に示すような方法を用いるべきだと思うが、今回は難しいので省略する。
テイラー展開を用いたネイピア数の表現
一方で、テイラー展開を用いると、ネイピア数は以下のように表現することが出来る。
e=1+\frac{1}{1!}+\frac{1}{2!}\cdot \cdot \cdot=\sum_{k=0}^{\infty} \frac{1}{k!}
プログラム
python e_approximation.py
import numpy as np
import matplotlib.pyplot as plt
import japanize_matplotlib
import math
#n_max 有限の区間
n_max=100
n_ary=np.arange(0, n_max, 1)
y1_ary=[]
y2_ary=[]
#階乗計算
def factorial(num):
num2=1
for i in range(1,num+1):
num2=num2*i
return num2
for i in range(len(n_ary)):
y1=(1+1/n_ary[i])**n_ary[i]
y1_ary.append(y1)
if i==0:
y2=1
else:
y2=y2+(1/factorial(n_ary[i]))
y2_ary.append(y2)
plt.plot(n_ary, y1_ary, label='(1+1/n)^n', color='blue')
plt.plot(n_ary, y2_ary, label='Taylor', color='green')
plt.axhline(y=math.e, color='red', linestyle='--', label='e')
plt.title('eの近似')
plt.xlabel('n')
plt.ylabel('y')
plt.legend()
plt.grid()
plt.ylim(0, 3)
plt.savefig('e_approximation.png')
plt.show()
これを実行すると以下のようなグラフが出力される。
級数の収束としては、定義式よりも、テイラー展開による式のほうが収束が早いようである。
まとめ
今回は、ネイピア数$e$の近似値を計算機を用いて推定してみた。具体的には、定義式による級数とテイラー展開による級数を比較してどちらのほうが早く収束するのか調査した。その結果、定義式よりもテイラー展開によるもののほうが早く収束した。
参考文献
ネイピア数と反比例の積分について