2010年11月5日金曜日

数値計算の楽しみ

たまには少し、小難しい話を書いてみても面白いかな、と。

友人が数値計算の質問をしてくるようになりました。当人曰く、できそうだから、ということですが、私の数値計算の経験などたかが知れたもの、そこまで良い説明ができるかどうかというと当然否です。ただ、個人的に、数値計算は楽しいと思っている分野であり、やはり友人に解説するからにはその楽しみを知ってもらいたいと思います。ですが、質問をしてくる友人は概ね数学もプログラミングも嫌いなので、苦しみにしかなっていない、というのが現状です。義務感でやっているから、余計のこと嫌なのでしょう。自分が後輩に指導するときは、プログラミングの総合講座ということで、まだ経験の浅いうちから数学的なものから遊びまで様々に取り入れて指導するので、少なくともプログラミングなんて見るのも嫌だ、ということはないのですが・・・。

数値計算の楽しみは多種多様で、私に言わせれば既知の定理をいかに組み合わせてコンピュータの範囲に落としこみ、それをいかに速く、いかに正確にするか、というのが最大の楽しみです。けれども、この楽しみ方は数学やコンピュータが好きでないとできないような気がします。それでは何があるのか。私は、そのひとつの答えとして、温故知新を目のあたりにすることだ、と思っています。

古代ギリシャにおいて、平方根の計算は極限値が平方根に収束する数列を用いた(漸化式による)計算であったことが知られています。それは、次のような方針によるものです。


それが実は、Newton法に当たっていた、というのですから驚きです。Newton法は高校生の数学Bの後半(選択部分)の他、多くの数値計算の書籍で扱われているごく基本的な方程式の解法であり、接線近似を用いた解法です。検索していただければでるので、Newton法とギリシャの平方根の計算がどう結びつくかを、以下に記しておきます。



そして、このNewton法を差分化した割線法はBrentのアルゴリズムへとつながっていくのですが、これ以上はやめておきます。

数値計算法はコンピュータを使うことから、一見するとコンピュータの発達してきた若い学問であるように見られます。しかし、このNewton法からBrentのアルゴリズムへと発展していく流れの中で見たように、古代ギリシャの知恵を発見することができるのです。同じように、江戸時代の和算家建部賢弘による円周率の計算にもローンバーグ積分法を見ることができます。温故知新の言葉通り、古い、歴史的な考えを辿り、それを一般化することで数値計算を学ぶことができます。この温故知新こそ、数値計算の楽しみの一つの大きなファクターなのではないか、と思います。


それを知ってもらえるような説明をしてみたい、と、そう考えながら、まだまだ実力が足りず知ってもらえない自分の未熟さを情けなく思います。

0 件のコメント: