ネイピア数を計算したい

## 無限級数から有限項を計算してネイピア数に近付きたい

### マクローリン展開

```math
\mathrm{e}^x=\sum_{n=0}^\infty\frac{x^n}{n!}%
```

よく知られたネイピア数（自然対数の底）$\mathrm{e}$のマクローリン展開の$x$に$1$を代入して

```math
\begin{align}%
\mathrm{e} &= \sum_{n=0}^\infty\frac{1}{n!} \\%
&= \lim_{m\to\infty}\sum_{n=0}^m\frac{1}{n!}%
\end{align}%
```

### 愚直に計算してみよう

この無限級数を第$m$項まで計算すると、第10項まで計算しても高々小数点以下7桁までしか求まらない。

```math
\begin{align}%
\sum_{n=0}^m\dfrac{1}{n!} &= \begin{cases}%
\dfrac{1}{0!} = {\color{red}1} & m=0 \\%
\dfrac{2}{1} = \underline{2.}{\color{red}{\dot{0}}} & m=1 \\%
\dfrac{5}{2} = 2.{\color{red}5} & m=2 \\%
\dfrac{8}{3} = 2.{\color{red}{\dot{6}}} & m=3 \\%
\dfrac{65}{24} = 2.\underline{7}{\color{red}{08\dot{3}}} & m=4 \\%
\dfrac{163}{60} = 2.7\underline{1}{\color{red}{\dot{6}}} & m=5 \\%
\dfrac{1957}{720} = 2.71\underline{8}{\color{red}{0\dot{5}}} & m=6 \\%
\dfrac{685}{252} = 2.71\dot{8}\underline{2}{\color{red}{539\dot{6}}} & m=7 \\%
\dfrac{109601}{40320} = 2.7182{\color{red}{787\dot{6}9841\dot{2}}} & m=8 \\%
\dfrac{98641}{36288} = 2.7182\underline{81}{\color{red}{\dot{5}2557319223985890\dot{6}}} & m=9 \\%
\dfrac{9864101}{3628800} = 2.718281\underline{8}{\color{red}{0\dot{1}1463844797178130\dot{5}}} & m=10 \\%
\end{cases}%
\end{align}%
```

:::note info
+ 無限に繰り返す部分は上部に点を打っている
+ 誤っている部分は赤字にしている
+ 新たに求まった部分には下線を引いている
:::

### 平方根の2乗を使った計算

ネイピア数に収束する無限級数の例として以下のものがWikipediaに載っている。

```math
\mathrm{e}={\left(\sum_{n=0}^\infty\frac{4n+3}{2^{2n+1}(2n+1)!}\right)}^2
```

これは$\mathrm{e}^x$の$x$に$\dfrac{1}{2}$を代入して$\sqrt{\mathrm{e}}$を求め、それを2乗するというアプローチ。
式の変形過程は以下の通りで、いったん偶数項（$n=2k$）と奇数項（$n=2k+1$）の組に分けて計算して、最後に$k$を$n$へと置き換えれば上の式になる。

```math
\begin{align}%
\sqrt{\mathrm{e}} &= \mathrm{e}^{\left(\dfrac{1}{2}\right)} \\%
&= \sum_{n=0}^\infty\dfrac{{\left(\dfrac{1}{2}\right)}^n}{n!} \\%
&= \sum_{n=0}^\infty\dfrac{1}{2^n{n!}} \\%
&= \sum_{k=0}^\infty\left(\dfrac{1}{2^{2k}(2k)!}+\dfrac{1}{2^{2k+1}(2k+1)!}\right) \\%
&= \sum_{k=0}^\infty\left(\dfrac{2(2k+1)}{2^{2k+1}(2k+1)!}+\dfrac{1}{2^{2k+1}(2k+1)!}\right) \\%
&= \sum_{k=0}^\infty\dfrac{2(2k+1)+1}{2^{2k+1}(2k+1)!} \\%
&= \sum_{k=0}^\infty\dfrac{4k+3}{2^{2k+1}(2k+1)!} \\%
\mathrm{e} &= {\left(\sum_{k=0}^\infty\dfrac{4k+3}{2^{2k+1}(2k+1)!}\right)}^2 \\%
\end{align}%
```

この式を使って計算してみよう。

```math
\begin{align}%
{\left(\sum_{n=0}^m\dfrac{4n+3}{2^{2n+1}(2n+1)!}\right)}^2 &= \begin{cases}%
\dfrac{9}{4} = \underline{2.}{\color{red}{25}} & m=0 \\%
\dfrac{6241}{2304} = 2.\underline{7}{\color{red}{0876736\dot{1}}} & m=1 \\%
\dfrac{40081561}{14745600} = 2.7\underline{182}{\color{red}{04820\ldots}} & m=2 \\%
\dfrac{125699320681}{46242201600} = 2.7182\underline{81}{\color{red}{490\ldots}} & m=3 \\%
\dfrac{93834051731374249}{34519618525593600} = 2.718281\underline{82}{\color{red}{
7529572240\ldots}} & m=4 \\%
\dfrac{18166272421394041093249}{6682998146554920960000} = 2.71828182\underline{845}{\color{red}{729754470\ldots}} & m=5 \\%
\end{cases}%
\end{align}%
```

第4項までの計算で小数点以下8桁まで、第5項までで小数点以下11桁まで、正しい値となっている。
先程の愚直な計算では第10項までの計算で小数点以下7桁までしか正しくなかったことを考えると、こちらのほうがより少ない項の計算で多くの桁を求めることができると言える。

ここから先を進めていくと、ひとつの項を計算するごとに2桁または3桁の新しい桁が求まる。

### 立方根の3乗を使った計算

本稿執筆時点ではWikipediaには記載されていないが、ネイピア数の立方根を使えばさらに少ない項の計算でより多くの桁を求められるはず。

```math
\begin{align}%
\sqrt[3]{\mathrm{e}} &= \sum_{n=0}^\infty\dfrac{1}{3^{n}n!} \\%
&= \sum_{k=0}^\infty\left(\dfrac{1}{3^{3k}(3k)!}+\dfrac{1}{3^{3k+1}(3k+1)!}+\dfrac{1}{3^{3k+2}(3k+2)!}\right) \\%
&= \sum_{k=0}^\infty\dfrac{{(9n+5)}^2}{3^{3k+2}(3k+2)!} \\%
\end{align}%
```

途中の計算は省いたが、分子が良い感じに$(9n+5)^2$と平方の形になった。
ちなみにいくつか計算してみたが他に冪乗の形となるものは見つからなかった。

```math
\mathrm{e}={\left(\sum_{n=0}^\infty\dfrac{{(9n+5)}^2}{3^{3n+2}(3n+2)!}\right)}^3
```

これも計算してみよう。

```math
\begin{align}%
{\left(\sum_{n=0}^m\dfrac{{(9n+5)}^2}{3^{3n+2}(3n+2)!}\right)}^3 &= \begin{cases}%
\underline{2.}{\color{red}{679\ldots}} & m=0 \\%
2.\underline{7182}{\color{red}{70\ldots}} & m=1 \\%
2.7182\underline{8182}{\color{red}{761\ldots}} & m=2 \\%
2.71828182\underline{84590}{\color{red}{216784\ldots}} & m=3 \\%
2.7182818284590\underline{45235}{\color{red}{042260\ldots}} & m=4 \\%
2.718281828459045235\underline{36028}{\color{red}{50\ldots}} & m=5 \\%
\end{cases}%
\end{align}%
```

第4項までの計算で小数点以下18桁、第5項までで小数点以下23桁まで正しい値となっており、その先はひとつの項を計算するごとに4から6桁の新しい桁が求まる。

## 次数を増やすとどうなる？

4乗根の4乗や5乗根の5乗、より一般化してn乗根のn乗を考えることができ、次数を増やしていけば計算する項の数に対して求まる桁数は増えていくと予測される。
ただそれで計算効率や空間効率が良くなるかというとそう単純な話でもないので、本記事ではそのあたりの事情には立ち入らないことにする。

```math
\begin{align}%
\mathrm{e}&={\left(\sum_{n=0}^\infty\dfrac{16n(16n(16n+25)+197)+493}{4^{4n+3}(4n+3)!}\right)}^4 \\%
&={\left(\sum_{n=0}^\infty\dfrac{25n(25n(25n(25n+51)+921)+6936)+18321}{5^{5n+4}(5n+4)!}\right)}^5 \\%
&={\left(\sum_{n=0}^\infty\dfrac{36n(36n(36n(36n(36n+91)+3145)+51229)+390115)+1102351}{6^{6n+5}(6n+5)!}\right)}^6 \\%
&={\left(\sum_{n=0}^\infty\dfrac{49n(49n(49n(49n(49n(49n+148)+8716)+259827)+4104101)+32275202)+97715353}{7^{7n+6}(7n+6)!}\right)}^7 \\%
\end{align}%
```