ネムネコ、さらに驚く!! [ひとこと言わねば]
明後日の記事のネタにでもしようと、ちょっと円周率の近似計算をしてみたのだけれど、ちょっと綺麗な結果が出て驚いてしまった。
近似計算の誤差を対数軸にすると、綺麗に直線に乗るんだケロ。
πと近似計算値の誤差をεとすると、
だから、相対誤差は指数関数的に減少するんだね〜。
この直線の勾配、傾きに出てくる2と3という数字の出現は偶然か、必然か(・・?
この2と3という数字は、近似計算に使う式に登場する重要な数字なのだが・・・。
何でもやってみるもんだね〜。
いやいや、勉強になった。
ネムネコ、驚く!! [ひとこと言わねば]
ペンギンOSならばアップデートなんて1分かかることなんてまずない。何でこんなにろくでもないOSなんだ。まったく話にならない!!
と、さらに苛立ちを募らせる(^^ゞ
――「数学のブログなのだから、もっと数学的にアプローチしろ」という批判が出そうだが、電卓という便利なツールのない時代ならばともかく、この方法に勝る、確実で簡単な手段が他にあるだろうか!!――
ほんの少しだけ、マイクロソフトを見直した。とはいえ、こんなろくでもないOSならびにそのソフトなんか使う気にもならない。
今日のアニソン、「あまんちゅ!」から『Million Clouds』 [今日のアニソン]
困ったケロね〜。
e=「ふなひとはちふたはち」を計算する [数値解析]
e=「ふなひとはちふたはち」を計算する
ネイピア数(自然底)の近似値を求めよと問われたら、多くのヒトがマクローリン展開
や
を用いてこの近似を求めるのではないか。
そこで、n=5として、計算してみると、
となり、小数点2桁まで正確に計算してくれる。
この時の打ち切り誤差は
程度と見積もることができる。
(正しくは、0.001615162であるが・・・)
n=6以上の計算は、さすがに手計算では辛いものがあるので、表計算ソフトで計算した結果は次の通り。
この計算結果を見ると、n=10程度にとれば、実用上、問題にならない精度で計算できることがわかる。
と同時に、n=16以上で、eの近似値を求めようとしても無意味なことがわかるに違いない。
n=16のときに誤差は0になっているが、eは無理数なので、表計算ソフトに出ているこの値が正しい訳ではない。
計算機特有の丸め誤差のために、これ以上という項をいくら増やして(この項の値はほとんど0)これを加えたとしても、計算結果に反映されないためだ。
さてさて、n=10まで計算するのは大変。
そこで、x=0.1、n=5として、の近似値を求めるにする。
このときの打切誤差はおおよそ
だから、誤差は10⁻⁸オーダーだから、ほとんど無視できる程度。
そこで、先に求めたの近似値を10乗すると、
n=10まで計算したものよりも、このように計算したほうが正確に計算できる。
しかしながら、高校生はマクローリン展開を習っていない。したがって、このように計算することはできない。
そこで、高校で習う範囲で計算する方法を考えなければならない。
高校では、誤差のところで
という式は習うはずである。
そこで、とおき、x=0とすると、
という近似式を得ることができる。
この近似式の打切誤差は、だいたい、
程度だから、h=0.01にとれば、誤差はおよそ10⁻⁶オーダー、つまり、百万分の1になり、無視できるオーダーになる。
ということで、
そして、これを100回掛けると、
小数点以下4桁まで正確に計算することが出来た。
手回しのタイガー計算機と根性さえあれば、高校数学程度の知識でこれくらいの近似値を求めることができるに違いない。
大学院生のころ、配置された研究室には、これよりも旧式のタイガー計算機があった。これを初めて見たとき、凄いと感動し、使い方を少しだけ教えてもらった経験がある。そして「よく出来ているな〜」と感動した。
YouTubeの動画に出てくるタイガー計算機は、比較的、最近(1960年台)のモデルだと思う(笑)。
研究室にあったのは、1940〜1950年台のモデルだったように思う。
(画像元:https://goo.gl/YS2muZ)
さらに、h=0.001にすれば、
これを1000回掛けると、
e=「ふなひとはちふたはち」を見事求めることが出来た!!
だから、9000回も掛け算をする回数を削減することに成功できたにゃ。
この差は大きいケロよ〜(笑)。
冗談はさておき、
コンピュータや電卓のない時代に、オイラーは
e≒2.71828182845904523536028
という近似値を発表していたそうだ。
オイラーは(1)または(2)のマクローリン展開を用いてこの近似値を求めたのだろうと考えられているが、この近似値を出すためには少なくともn=23項まで計算する必要がある。
この計算で特に問題になるのが、
というアボガドロ定数に迫る大きな数の計算。
(科学技術の計算に使用されるFortranやC言語はこんな大きな整数を整数型として計算できない!!)
いやはや、いったい、どういう計算法で、オイラーさんは、この近似値を求めたのであろうか?