冪級数のオイラー変換とarctan公式

オイラーは $\arctan$ 公式

$$\frac{\pi}{4} = 5\arctan \frac{1}{7} + 2\arctan \frac{3}{79}$$

を用いて円周率を1時間で20桁まで求めたといわれています。ポイントはオイラー変換により

\begin{align} \arctan x &= \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1}x^{2n+1} \\ &= \frac{x}{1 +x^2}\left(1 +\frac{2}{3} \frac{x^2}{1+x^2} + \frac{2 \cdot 4}{3 \cdot 5}\left(\frac{x^2}{1+x^2}\right)^2 + \cdots\right) \\ &= \frac{x}{1 +x^2} \sum_{n=0}^{\infty} \frac{(2n)!!}{(2n+1)!!}\left(\frac{x^2}{1+x^2}\right)^n \end{align}

と変換するところで、$x = \frac{1}{7}, \frac{3}{79}$ のときに

\begin{align}\frac{(\frac{1}{7})^2}{1 +(\frac{1}{7})^2} &= \frac{2}{100},\\ \frac{(\frac{3}{79})^2}{1 + (\frac{3}{79})^2} &= \frac{144}{100000} \end{align}

となるので、計算がしやすいようです。

色々調べた限りだと、どの文献もオイラー変換およびその $\arctan x$ への適用の説明が少し粗いので、この記事ではそこを丁寧に解説しようと思います。

オイラー変換

オイラー変換とは

オイラー変換とは、交代級数

$$\sum_{n=0}^{\infty}(-1)^n a_nx^n$$

の収束を改善する方法の一種で、差分演算子 $\Delta$ を任意の $k, m, n \geq 0$ に対して

\begin{align} \Delta a_n x^k &= (a_{n+1} -a_n)x^k \\ \Delta^m a_n x^k &= \Delta^{m-1} (\Delta a_n) x^k \\ & = \Delta^{m-1} (a_{n+1} -a_n) x^k \\ &= \Delta^{m-1} a_{n+1} x^k -\Delta^{m-1}a_n x^k \end{align}

のように定めたとき

$$\sum_{n=0}^{\infty}(-1)^n a_n x^n = \frac{1}{1+x} \sum_{n=0}^{\infty} (-1)^n \left(\frac{x}{1+x}\right)^n \Delta^na_0$$

と表されます。この式を $0 \leq x < 1$ かつ $a_n \geq 0$ が $n$ に関して単調減少で、$\lim_{n\to \infty} a_n = 0$ を満たすとき成り立つことを示します ($a_n$ の条件はもっと緩くてもいいです)。

形式的な導出

あくまで形式的にですが、以下のようにすることでオイラー変換が導出されます。$E$ を $E a_n = a_{n+1}$ で定義されるシフト演算子としたとき、$\Delta = E -1$ なので

\begin{align} & \sum_{n=0}^{\infty}(-1)^n a_n x^n \\ = \ & \sum_{n=0}^{\infty}(-x E)^n a_0 \\ = \ & \frac{1}{1 + xE} a_0 \\ = \ & \frac{1}{1 + x + x\Delta} a_0 \\ = \ & \frac{1}{1 +x}\frac{1}{1 + \frac{x}{1 +x}\Delta} a_0 \\ = \ & \frac{1}{1 +x} \sum_{n=0}^{\infty} \left(-\frac{x}{1 +x}\Delta\right)^n a_0 \\ \end{align}

となります。ここで $\frac{1}{1 + xE}$ は形式的なもので、

$$\frac{1}{1 + t} = \sum_{n=0}^{\infty} (-1)^n t^n \quad (|t| < 1)$$

を形式的に適用しました。厳密な導出は後で行います。

差分の計算

オイラー変換の厳密な導出の前に、差分 $\Delta^n a_0$ がどのようなものか確認します。計算してみると

\begin{align} \Delta a_0 &= a_1 -a_0\\ \Delta^2 a_0 &= \Delta a_1 -\Delta a_0 \\ &=(a_2 -a_1) -(a_1-a_0)\\ &= a_2 -2a_1 +a_0 \\ \Delta^3 a_0 &= \Delta (a_2 -2a_1 +a_0) \\ &= (a_3-a_2) -2(a_2 -a_1) +(a_1 -a_0) \\ &= a_3 -3a_2 +3a_1 -a_0 \end{align}

となります。一般に、$\binom{n}{k} = \frac{n!}{k!(n-k)!}$ とおいて

$$\Delta^n a_0 = \sum_{k=0}^n (-1)^{n-k} \binom{n}{k} a_k$$

と表されると考えられます。これを帰納法により証明します。$n = 1$ のときは明らかに正しいです。$n$ のときに正しいとすると、

\begin{align} \Delta^{n+1} a_0 &= \sum_{k=0}^n (-1)^{n-k} \binom{n}{k}\Delta a_k \\ &= \sum_{k=0}^n (-1)^{n-k}\binom{n}{k} (a_{k+1} -a_k) \\ &= \sum_{k=0}^n (-1)^{n-k}\binom{n}{k} a_{k+1} -\sum_{k=0}^n(-1)^{n-k} \binom{n}{k} a_k \\ &= \sum_{k=1}^{n+1} (-1)^{n-k+1} \binom{n}{k-1}a_{k} +\sum_{k=0}^n (-1)^{n-k+1} \binom{n}{k}a_k \\ &= a_{n+1} +(-1)^{n+1}a_0 + \sum_{k=1}^n (-1)^{n-k+1} \left(\binom{n}{k-1} + \binom{n}{k}\right) a_k \\ &= a_{n+1} +(-1)^{n+1}a_0 + \sum_{k=1}^n (-1)^{n+1-k} \binom{n+1}{k} a_k \\ &= \sum_{k=0}^{n+1} (-1)^{n+1-k} \binom{n+1}{k} a_k \\ \end{align}

となるので、$n+1$ のときも正しいです。一応、形式的には

$$\Delta^n a_0 = (E -1)^n a_0 = \sum_{k=0}^n (-1)^{n-k} \binom{n}{k} E^k a_0$$

となります。

オイラー変換の厳密な導出

オイラー変換の厳密な導出を行います。まず係数を $\Delta a_n$ に置き換えた級数を変形すると

\begin{align} & \sum_{n=0}^{\infty} (-1)^n (\Delta a_n) x^n \\ = \ & \sum_{n=0}^{\infty} (-1)^n (a_{n+1} -a_n)x^n \\ = \ & -a_0 + \sum_{n=1}^{\infty} (-1)^{n-1} a_n (x^{n-1} +x^n) \\ = \ & -a_0 -\frac{1+x}{x}\sum_{n=1}^{\infty} (-1)^n a_n x^n \\ = \ & -a_0 +\frac{1+x}{x}\left(a_0 -\sum_{n=0}^{\infty} (-1)^n a_n x^n \right) \\ = \ & \frac{1}{x}a_0 -\frac{1+x}{x}\sum_{n=0}^{\infty} (-1)^n a_n x^n \\ \end{align}

となり、元の級数で表すことができたので、逆に表して

\begin{align} \sum_{n=0}^{\infty} (-1)^n a_n x^n &= \frac{x}{1 +x}\left( \frac{1}{x} a_0 -\sum_{n=0}^{\infty} (-1)^n (\Delta a_n) x^n\right) \\ &= \frac{1}{1+x}a_0 -\frac{x}{1+x}\sum_{n=0}^{\infty} (-1)^n (\Delta a_n) x^n \end{align}

となります。これを $\sum_{n=0}^{\infty} (-1)^n \Delta^k a_n x^n$ に適用すると

$$\sum_{n=0}^{\infty} (-1)^n \Delta^k a_n x^n = \frac{1}{1+x}\Delta^k a_0 -\frac{x}{1+x}\sum_{n=0}^{\infty} (-1)^n (\Delta^{k+1} a_n) x^n$$

となるので、繰り返し適用して

\begin{align} & \sum_{n=0}^{\infty} (-1)^n a_n x^n \\ = \ & \frac{1}{1+x}a_0 -\frac{x}{1+x}\sum_{n=0}^{\infty} (-1)^n (\Delta a_n) x^n \\ = \ & \frac{1}{1+x}a_0 -\frac{x}{1+x}\left(\frac{1}{1+x}\Delta a_0 -\frac{x}{1+x}\sum_{n=0}^{\infty} (-1)^n (\Delta^2 a_n) x^n\right) \\ = \ & \frac{1}{1 +x} \left(\sum_{i = 0}^k (-1)^i \left(\frac{x}{1+x}\right)^i \Delta^i a_0\right) \\ & \qquad + (-1)^{k+1} \left(\frac{x}{1+x}\right)^{k+1}\sum_{n=0}^{\infty} (-1)^n (\Delta^{k+1} a_n) x^n \end{align}

となります。あとは $k \to \infty$ で後ろの項が $0$ に収束することを示せば良いです。$0 \leq x < 1$ と仮定していたので、$0 \leq \frac{x}{1+x} < \frac{1}{2}$ です。また、$a_n \geq 0$ は単調減少なので、二項定理から

\begin{align} |\Delta^{k+1} a_n| &= \left|\sum_{i=0}^{k+1} (-1)^{k+1 -i} \binom{k+1}{i} a_{n+i}\right| \\ &\leq \sum_{i=0}^{k+1} \binom{k+1}{i} a_{n+i}\\ &\leq a_n \sum_{i=0}^{k+1} \binom{k+1}{i} \\ &\leq a_n 2^{k+1} \\ \end{align}

となります。よって

\begin{align} & \left|(-1)^{k+1} \left(\frac{x}{1+x}\right)^{k+1}\sum_{n=0}^{\infty} (-1)^n (\Delta^{k+1} a_n) x^n\right| \\ \leq \ & \left(\frac{x}{1+x}\right)^{k+1}\sum_{n=0}^{\infty} \left|(-1)^n (\Delta^{k+1} a_n) x^n\right| \\ \leq \ & \left(\frac{2x}{1+x}\right)^{k+1} \sum_{n=0}^{\infty} a_n x^n \end{align}

となりますが、$\sum_{n=0}^{\infty} a_n x^n$ が収束することと、$\frac{2x}{1+x} < 1$ から、これは $k \to \infty$ で $0$ に収束します。従って

$$\sum_{n=0}^{\infty} (-1)^n a_n x^n = \frac{1}{1 +x} \left(\sum_{n= 0}^{\infty} (-1)^n \left(\frac{x}{1+x}\right)^n \Delta^n a_0\right)$$

が成り立つことがわかりました。

収束の改善

オイラー変換前と後で、収束が速くなるのか見てみましょう。$0 \leq x \leq 1$ のときは $\frac{x}{1 +x} < x$ なので、$x$ の部分は改善しています。係数 $a_n$ と $\Delta^n a_0$ を比較すると、まず二項定理から

\begin{align} \sum_{k=0}^n \binom{n}{k} & = (1 + 1)^n = 2^n \\ \sum_{k=0}^n (-1)^{n-k} \binom{n}{k} & = (1 -1)^n = 0 \\ \sum_{k \textrm{ :偶数}} \binom{n}{k} &= \sum_{k \textrm{ :奇数}} \binom{n}{k} = 2^{n-1} \end{align}

成り立ちます。よって

\begin{align} |\Delta^n a_0| &= \left| \sum_{k=0}^n (-1)^{n-k} \binom{n}{k} a_k \right| \\ &\leq 2^{n-1}(a_0 -a_n) \end{align}

となります。この評価で係数も含めると、$x < \frac{2x}{1 +x}$ なので、収束は悪くなります。

この評価はかなり粗く、もっと良い評価ができるかもしれません。具体的なケース、例えば $\arctan x$ の場合は、後で示しますが、ある定数 $C$ が存在して

$$\Delta^n a_0 = C m^{-\frac{1}{2}} + \omicron(m^{-\frac{1}{2}})$$

なので、収束はよくなります。

$\arctan x$ とオイラー変換

$\arctan x$ への適用

$\arctan x$ のテイラー展開

$$\arctan x = \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1} x^{2n+1}$$

にオイラー変換を適用してみましょう。$y = x^2$, $a_n = \frac{1}{2n+1}$ とおくと、

\begin{align} & \sum_{n=0}^{\infty} \frac{(-1)^n}{2n+1} x^{2n+1} \\ = \ & x \sum_{n=0}^{\infty}(-1)^n a_n y^n \\ = \ & \frac{x}{1 +y} \sum_{n=0}^{\infty} (-1)^n \left(\frac{y}{1 +y}\right)^n \Delta^n a_0 \\ = \ & \frac{x}{1 +x^2} \sum_{n=0}^{\infty} (-1)^n \left(\frac{x^2}{1 +x^2}\right)^n \Delta^n a_0 \\ \end{align}

となります。次に、$\Delta^n a_0$ を求めるために、より一般に $\Delta^n a_k$ を求めます。まず $n = 1$ のとき

$$\Delta a_k = \frac{1}{2k+3} -\frac{1}{2k+1} = -\frac{2}{(2k+1)(2k+3)}$$

となります。$n = 2$ のときは

\begin{align} \Delta^2 a_k &= \Delta a_{k+1} -\Delta a_k \\ &= -\frac{2}{(2k+3)(2k+5)} + \frac{2}{(2k+1)(2k+3)} \\ &= \frac{-2(2k+1) + 2(2k+5)}{(2k+1)(2k+3)(2k+5)} \\ &= \frac{2 \cdot 4}{(2k+1)(2k+3)(2k+5)} \end{align}

となります。よって一般の場合は

$$\Delta^n a_k = (-1)^n \frac{(2n)!! (2k -1)!!}{(2k + 2n+1)!!}$$

となると予想されます。ただし、

\begin{align} (2n)!! &= 2 \cdot 4 \cdots 2n \\ (2n+1)!! &= 3 \cdot 5 \cdots (2n+1) \\ 0!! &= 1 \\ -1!! &= 1 \end{align}

とします。これを帰納法で示します。$n = 0$ のときは任意の $k$ に対して正しいです。$n$ のときに正しいとすると、

\begin{align} & \Delta^{n+1} a_k \\ = \ & \Delta^{n} a_{k+1} -\Delta^{n} a_{k} \\ = \ & (-1)^{n} \frac{(2n)!! (2k +1)!!}{(2k + 2n+3)!!} -(-1)^n \frac{(2n)!! (2k -1)!!}{(2k + 2n+1)!!} \\ = \ & (-1)^{n} \frac{(2n)!!(2k -1)!!}{(2k + 2n+3)!!}(2k+1 -(2k +2n+3)) \\ = \ & (-1)^{n} \frac{(2n)!!(2k -1)!!}{(2k + 2n+3)!!}(-2n-2) \\ = \ & (-1)^{n+1} \frac{(2n+2)!!(2k -1)!!}{(2k + 2n+3)!!} \\ \end{align}

が任意の $k$ で成り立ちます。$k = 0$ のときは

$$\Delta^n a_0 = (-1)^n \frac{(2n)!!}{(2n+1)!!}$$

であり、

$$\arctan x = \frac{x}{1 +x^2} \sum_{n=0}^{\infty} \frac{(2n)!!}{(2n+1)!!} \left(\frac{x^2}{1+x^2}\right)^n$$

となります。

収束の改善

$\arctan x$ のテイラー展開にオイラー変換を適用した級数の、$n = m$ までの和を

$$S_m(x) = \frac{x}{1 +x^2} \sum_{n=0}^m \frac{(2n)!!}{(2n+1)!!} \left(\frac{x^2}{1 +x^2}\right)^n$$

とおきます。$\arctan x$ との誤差は、$\frac{(2n)!!}{(2n+1)!!}$ が $n$ に関して単調減少であることから

\begin{align} & |\arctan x -S_m(x)| \\ = \ & \frac{x}{1 +x^2} \sum_{n=m+1}^{\infty} \frac{(2n)!!}{(2n+1)!!} \left(\frac{x^2}{1 +x^2}\right)^n \\ \leq \ &\frac{x}{1 +x^2} \frac{(2m+2)!!}{(2m+3)!!} \sum_{n=m+1}^{\infty} \left(\frac{x^2}{1 +x^2}\right)^n \\ = \ & \frac{(2m+2)!!}{(2m+3)!!} \frac{x}{1 +x^2} \left(\frac{x^2}{1 +x^2}\right)^{m+1} \sum_{n=0}^{\infty}\left(\frac{x^2}{1 +x^2}\right)^n \\ = \ & \frac{(2m+2)!!}{(2m+3)!!} \frac{x}{1 +x^2} \left(\frac{x^2}{1 +x^2}\right)^{m+1} \frac{1}{1 -\frac{x^2}{1 +x^2}} \\ = \ & \frac{(2m+2)!!}{(2m+3)!!} \frac{x}{1 +x^2} \left(\frac{x^2}{1 +x^2}\right)^{m+1} (1 +x^2) \\ = \ & \frac{(2m+2)!!}{(2m+3)!!} x \left(\frac{x^2}{1 +x^2}\right)^{m+1} \end{align}

となります。$\frac{(2m+2)!!}{(2m+3)!!} < 1$ なので、$\left(\frac{x^2}{1 +x^2}\right)^{m+1}$ のオーダーで $0$ に収束することがわかります。一応 $\frac{(2m+2)!!}{(2m+3)!!}$ の漸近挙動も確認しておきましょう。

$\frac{(2n)!!}{(2n+1)!!}$ の漸近挙動

一応 $\frac{(2m)!!}{(2m+1)!!}$ の漸近挙動を確認しておきましょう。

$$\log \frac{(2m)!!}{(2m+1)!!} = \sum_{n=1}^{m} \log \frac{2n}{2n+1} < 0$$

で、

\begin{align} & \sum_{n=2}^m \log \frac{2n}{2n+1} \\ \geq \ & \int_1^m \log\frac{2x}{1+2x} dx \\ = \ & \int_1^m \log 2x dx -\int_1^m \log (2x+1) dx\\ = \ & \frac{1}{2}\int_2^{2m} \log y dy -\frac{1}{2}\int_3^{2m+1} \log y dy \\ = \ & \frac{1}{2}[y\log y -y]_2^{2m} -\frac{1}{2}[y\log y -y]_3^{2m+1} \\ = \ & \frac{1}{2}(2m \log 2m -2m -2 \log2 + 2) \\ & \quad -\frac{1}{2}((2m+1) \log(2m+1) -(2m+1) -3 \log3 +3) \\ = \ & -m\log\frac{2m+1}{2m} -\frac{1}{2}\log(2m+1) +\frac{3}{2}\log3 -\log2 \end{align}

が成り立ちます。

\begin{align} \lim_{m \to \infty}m\log\frac{2m+1}{2m} &= \lim_{m \to \infty}\frac{1}{2}\log \left(1 +\frac{1}{2m}\right)^{2m} \\ &= \frac{1}{2}, \\\ \lim_{m \to \infty} \frac{1}{2}\log(2m+1) &= \infty \end{align}

なので、

$$\log \frac{(2m)!!}{(2m+1)!!} \geq -\frac{1}{2}\log(2m + 1) +\omicron(\log m)$$

が成り立ちます。逆側の不等式も同様の積分によって評価できます。すると適当な定数 $C$ が存在して

$$\frac{(2m)!!}{(2m+1)!!} = \frac{C}{\sqrt{m}} +\omicron(m^{-1}) $$

となることがわかります。この定数はスターリングの公式により、$\frac{\sqrt{\pi}}{2}$ となるようです。

誤差の比較

オイラー変換による計算の誤差は概ね

$$E_m(x) = \frac{(2m+2)!!}{(2m+3)!!} x \left(\frac{x^2}{1 +x^2}\right)^{m+1}$$

で与えられることを先ほど示しました。テイラー展開を $m$ 項まで計算したときの誤差は、概ね

$$F_m(x) = \frac{|x^{2m+3}|}{2m+3}$$

で与えられることをマチンの公式の記事で紹介しました。係数は指数関数と比べると漸近的に無視できるので、収束の速さは $x^{2m}$ と $\left(\frac{x^2}{1+x^2}\right)^{m}$ の比較で与えられます。オイラーの公式においては、$x = \frac{1}{7}, \frac{3}{79}$ だったので、それで比較すると

\begin{align} F_m\left(\frac{1}{7}\right) &\thickapprox \left(\frac{1}{7}\right)^{2m} = \left(\frac{1}{49}\right)^m \\ E_m\left(\frac{1}{7}\right) &\thickapprox \left(\frac{\frac{1}{7^2}}{1 + \frac{1}{7^2}}\right)^{m} = \left(\frac{1}{50}\right)^m \\ F_m\left(\frac{3}{79}\right) &\thickapprox \left(\frac{3}{79}\right)^{2m} = \left(\frac{9}{6241}\right)^m \\ E_m\left(\frac{3}{79}\right) &\thickapprox \left(\frac{\frac{3^2}{79^2}}{1 + \frac{3^2}{79^2}}\right)^{m} = \left(\frac{9}{6250}\right)^m \\ \end{align}

なので、オイラー変換後の方がわずかに良くなっていますが、それほど差がないことがわかります。

一方で $x = 1$ の場合は、オイラー変換後の方が劇的に収束が速くなることがわかります。オイラー変換の収束は $0 \leq x < 1$ でしか示しませんでしたが、$\arctan x$ のオイラー変換が $x =1$ で $\frac{\pi}{4}$ に収束することはアーベルの連続性定理からわかります。

参考文献

[長田] 長田 直樹. お話:数値解析 第6回収束の加速法(中編)

[室田] 室田 一雄. 加速法 (数値解析)

[大浦] 大浦 拓哉. 円周率の公式と計算法

[便利] 便利. 差分を用いて冪級数を変形する