開平計算

最近、家庭教師中に根号の開平計算をする必要が出てきて、生徒にできるかどうか尋ねてみた。彼はやり方を知らないと言っていた。自分も詳しくないが、筆算による開平法はWikipediaにも載っている。
開平法 - Wikipedia
筆算と書いてあるが、これは計算方法の一つであり圧倒的に計算を楽にする類の物ではなく、実際に開きたい数が大きくなるにつれて計算は難しくなる。これは計算の過程である大きな自然数を超えない最大の2乗根を求める必要があるからである。


かつてファインマンのエッセイで別の開平法を読んだことがあるので書いてみる。こちらは反復的な手法による求解法で、小さな数に対してはある程度の精度を得ることはたやすい。収束も早い。しかし数が大きくなるにつれて計算が難しくなることは筆算による開平法と同様であり、言ってみればどっちもどっちである。

しかし後に述べるファインマンの方法は簡単であり、筆算よりもずっと覚えやすい。いま \sqrt{a}を開きたいとする。 x_{n+1} = \frac{1}{2}(x_n + \frac{a}{n})によって定義される漸化式を考えると、これがx_n\to \sqrt{a}を与える。初期条件 x_0は適当に決めればよい。たとえばいま、 \sqrt{2}の値を求めたいとする。初期条件は適当に x_0 = 1とでもしよう。n=1以降の値はだいたい次のような感じだ。
 x_1 = \frac{1}{2}(1+\frac{2}{1})=\frac{3}{2}=1.5
 x_2 = \frac{1}{2}(\frac{3}{2}+\frac{2\times 2}{3})=\frac{17}{12}=1.41666...
 x_3 = \frac{1}{2}(\frac{17}{12}+\frac{2\times 12}{17})=\frac{577}{24\times 17}=1.41421569...
 x_4 = \frac{1}{2}(\frac{577}{24\times 17}+\frac{2\times 24\times 17}{577})=\frac{665857}{235416}=1.41421356...
正確な \sqrt{2}の値は、ひとよひとよにひとみごろ=1.41421356...なので、確かに正しい平方根に漸近していくのが見て取れる。一回の計算で2ケタずつ正確になっていく。また実際に計算をしているとわかるのであるが、漸近式右辺の計算はコツをつかむと労力を軽減できてくる。これは分子が必ず一つ違いになるため(理由は考えておきますが)である。
携帯電話に電卓が搭載されており今では必要となる場面も少なかろうが、一度習得すると思わぬところで威力を発揮するかもしれない。*1一つくらい覚えておいて損はないと思うよ。

*1:余談であるが自分の使っている携帯電話には√がない。なんということでしょう