10歳、関数電卓との出会いの中で「関数電卓はsin31°をいかに計算しているのか?」という謎に遭遇しました。
17歳、“マクローリン展開”との出会いでその謎が解けたことを以前のコラムで紹介しました。
さて、マクローリン展開は高校数学には登場しません。sin31°の謎とは、全く関係ない別な問題との出会いがきっかけで、マクローリン展開を知ることになりました。
それが“正規分布表の謎”でした。
目次
正規分布(ガウス分布)
正規分布は確率論、統計学の理論で最も重要な確率分布です。
ド・モアブル(1667~1754)にはじまり、ラプラス(1749~1827)、ルジャンドル(1752~1833)、そしてガウス(1777~1855)といった数学者たちによって研究されてきました。
実験における測定誤差が正規分布に従うという仮定の元で、不確かさの評価を定量的に行うことができます。ここに正規分布の重要性があります。
ガウスによる誤差論(天体観測の測定誤差)で詳細に論じられたことから、正規分布はガウス分布とも呼ばれます。
旧10マルク紙幣にはガウスの肖像画とともに正規分布曲線およびその確率密度関数の数式が描かれています。
正規分布曲線とガウスが描かれた10ドイツマルク紙幣
正規分布は高校数学に登場します。三角関数表、常用対数表のように教科書には正規分布表が掲載されてあります。
正規分布曲線は、平均μと標準偏差σをパラメーターにもつ関数で表されます。
その曲線によって囲まれた部分の面積が確率を表します。この曲線を表す関数は確率密度関数と呼ばれます。
平均が0、標準偏差が1で、正規分布曲線が囲む面積(確率)が1となるように調整されたものは標準正規分布と呼ばれます。したがって、正規分布表とは通常、標準正規分布表のことをさします。
さて、ここで疑問に遭遇しました。
正規分布表の数値すなわち確率は、正規分布曲線で囲まれる面積を表すので、その面積の算出は確率密度関数を積分した定積分の値と考えられます。
ならばと思い、確率密度関数の積分して数表の値を自分で算出してみようと思いました。
ところが、積分が一筋縄ではいかないのです。高校2年生だった私は数学の先生、優秀な先輩、図書館の本など手当たり次第当ってみました。しかし、どこにも納得できる答えは見つかりませんでした。
マクローリン展開を使った積分|項別積分
問題は次の積分です。
これは、インテグラルの下端・上端がついていない“不定積分”です。
これが分かれば、インテグラルに下端・上端がついた“定積分”ができるのですが、“不定積分”がどうしても分かりませんでした。
高校にはヒントがないと見切りをつけ、外に目を向け始めました。大きな図書館で、めぼしいと思われる数学書を片っ端からページをめくっていきました。
そして、ついに1冊の数学書の中にヒントを見つけました。それが“マクローリン展開”を用いた積分だったのです。
指数関数、対数関数、三角関数はどれもxのべき乗の多項式に表されています。xのべき乗ならば、高校数学の積分公式で簡単にできてしまいます。その風景を目の当たりにしたときの驚きを、今も忘れることができません。
正規分布表には、u=1.00に対するp(u)の数値は0.3413とあります。
これを指数関数のマクローリン展開を使って計算してみると次のようになります。
これが、マクローリン展開した式を積分する“項別積分”と呼ばれる積分法です。
sinのマクローリン展開を使ってsin 31°も解く
結果は見事に数表の数値と一致しました。
「解けた!」
そして、それと同時に“あの問題”も解けることに気づきました。
「sinのマクローリン展開を使えば、“sin 31°”も計算できるはずだ」
計算してみると関数電卓と小数点以下5桁が合っています。計算過程はこちらをご覧ください。
私は、計算機がなくとも微分積分という技を身につけておけば高度な数値計算できることを経験しました。
実際、計算機がなかった時代に、微分積分は数値計算に応用されていました。私たちが計算機それも電子計算機を使うようになったのは、ここ30年ほどの話です。
人類は実に長きに渡り計算機がない中で計算と格闘してきました。
微分積分学はcalculus
このことを如実に教えてくれることがあります。
微分積分(学)は英語でcalculusと呼ばれます。calculateは"計算する"という動詞、calculatorは"計算機"という名詞、pocket calculatorは"電卓"です。calculusという名詞の意味は"計算法"なのです。
calcはラテン語で"小石"という意味で、大昔の計算には石が用いられていたことがcalc=計算の由来です。
微分法と積分法はまさに基本的な計算法であり、それぞれdifferntial calculus、integral calculusと呼ぶにふさわしいのです。
かくして、最強の計算法である微分積分はcalculusと呼ばれるようになりました。私にとって、calculator(電卓)はcalculus(微分積分)への架け橋だったのです。
CORDICアルゴリズム|そのカギは虚数
そして「sin 31°物語」には落ちがつくことになるのです。
この出来事以来、関数電卓の計算アルゴリズムはマクローリン展開を利用しているものと信じ切っていました。
ところが、ある時、電卓メーカーのエンジニアの方に会う機会があり、その際にこの話をしたところ思わぬ答が返ってきたのです。
そのメーカーでも関数電卓の開発当初はマクローリン展開をプログラムミングしてみたそうです。しかし、計算に時間がかかりすぎて使い物にならなかったそうです。その解決策こそ“CORDIC(COordinate Rotation DIgital Computer)アルゴリズム”だというのです。
CORDICは割り算が苦手な電卓にとって、関数の値をたし算,引き算のみで求めてしまう優れたアルゴリズムです。
掛け算と割り算を一切使うことなく三角関数、指数関数、対数関数が計算できてしまう天才的計算には見事というほかありません。
このアルゴリズムの鍵は“虚数”です。「sin 31°物語」は、私を子どもから大人になるまでワクワクさせてくれるものとなりました。
今回の主人公マクローリンは、正式名コリン・マクローリン(1698~1746)といい、スコットランドの数学者です。ニュートン(1642~1727)にその才能を認められるほどでした。
次回は「ジョン・ネイピア数 誕生物語」です。スコットランドの城主が成し遂げた対数表作成のドラマに迫ります。