√2の近似値を計算する

前回の記事「√2の連分数展開」の続き。

連分数の形で表した\sqrt{2}を途中まで計算すると、近似値が求まる。
\dfrac32, \dfrac75, \dfrac{17}{12}, \dfrac{41}{29}, \dfrac{99}{70}, \dfrac{239}{169}, \dfrac{577}{408}, \cdots

この数列を眺めていると、規則性が見えてくる。
2つの分母を足すと大きい方の分子が出てくることに気づくだろう。

1を引いて\sqrt{2}の小数部分だけに着目すると、もっとわかりやすい。
\dfrac12, \dfrac25, \dfrac{5}{12}, \dfrac{12}{29}, \dfrac{29}{70}, \dfrac{70}{169}, \dfrac{169}{408}, \cdots

分母を足すということは1を足していることだったわけだ。
小数部分だけを見れば前の数の分母が次の数の分子になっていることに気づくだろう。

この形だったら分母の規則もじっくり見れば見えてくる。
が、面倒だから計算してしまおう。(どっちにしろ計算はしなくては)

ある近似値の小数部分が\dfrac{b}{a}だったときに、次の近似値を計算してみよう。
\begin{eqnarray*}
\dfrac{1}{1+1+\frac{b}{a}} &=& \dfrac{1}{2+\frac{b}{a}}\\
                          &=& \dfrac{1}{\frac{2a}{a}+\frac{b}{a}} \\
&=& \dfrac{1}{\frac{2a+b}{a}} \\
&=& \dfrac{a}{2a+b}
\end{eqnarray*}

つまり\dfrac{b}{a}の次は\dfrac{a}{2a+b}だということだ。

これならexcelでも簡単に計算できる。
もっともexcel数値計算用のソフトではないから12回目までしか計算はできない。
そこで求められる近似値は1.414213562
暗記している(?)ヒトヨヒトヨニヒトミゴロに2を加えただけの悲しい結果。
分数としてなら29回目まで有効だ。
得られる近似値は\dfrac{18457556052}{445604821149}

もっと深くまで計算したい場合は ubasic などを使うのが簡単*1
小数50桁まで求めるは66回すればOKだ…という話、昔ここにも書いたような気がしてきた。

*1:最近のソフトについて知らないので、良いのあったら教えてください