前回,「数学が数について考えなくなる」ことを述べた.これに関しての話をしよう.
ある種のすぐれた文学や音楽の中に時に数学に関する深い洞察をみつけることがある.バッハの音楽にみられる数学的形式,俳句に見られる厳密なパターン,夏目漱石の数学的洞察,そしてそれを感情のゆさぶる粋にまで高める芸術性.数学を学んだおかげで驚くべき一面を見ることができたのは楽しい.
中島敦の「名人伝」という作品をご存知だろうか.私は「弟子」も「李陵」も好きだが,この「名人伝」がとても好きだ.矢の名人が更にその段階を越えていき,名人の中の名人から次の言葉を聞く.「それは所詮射の射というもの,そなたはいまだ不射の射を知らぬと見える.」弓を持って矢を射るのでは所詮弓矢の世界を越えられぬ.その世界を越えるには,弓を持たずして矢を射る世界に入るのである.
この中国の古典を元にした日本の作品を人々に説明すると冗談と思われてしまうことが多々あり,私は説明に苦労する.日本語では数学は数の学問であるが,この時点に来た時,我々は数を忘れる.「数を使って数学をするのでは所詮数の数に過ぎぬ.そなたいまだに不数の数を知らずとみえる.」数学が数の操作ではなく数を忘れ,操作そのもの(演算子)の可能性について論じ始めた時,数学は転換期を迎えた.引き算が生まれた時,人々はできない引き算があることに気がついた.たとえば,3 - 5 は計算できない.これはマイナスの数が発明されるまで問題であった.できない計算があると気がつくと,これまでの演算にも疑いが生じる.足し算はいつもできるのか? 大きな数になると足せないことがあるのかもしれない.知っている特定の数だけではなく,全ての数に関して足し算はできるのだろうか? 割り算にもやはり演算ができない場合があった.3/5 は分数がなければ計算できない.マイナスの数を発明しても 3/5 は計算できない.いったいこれはどこまで続くのか? 一つの演算子だけではない,全ての演算子について考えることはできるのだろうか.一つの数だけでなく,全ての数について考えたように.操作の結果の集合が何であるかについて考えることを提案したガロアの仕事が革命的であったのは,彼が数の数学から,操作の数学へと飛翔したからであると私は思う.計算機科学でも同じである.プログラムで数を与えて数を返す基本的な関数から,関数を与えて関数を返すようなメタプログラミングへと視点を変えることでプログラミングは一歩進化する.先日の Google の doodle はチューリングマシンだったことを覚えている方もおられるだろう[1].Alan Turing はもし万能な計算機,つまり全ての計算機をシミュレートできる計算機が存在したら,何ができて何ができないのかということを考えた.驚くべきことに,彼はそれを今日の電子計算機が発明される前に証明してしまった.このような抽象化の考えがいかに強力であるかの話は尽きない.そろそろMatrix の話に戻るべきだろう.
実際の人数がどうなるかの変化を見る数,ベクトルの部分は実は主ではなく,操作そのものである matrix が実は鍵を握っていた.これが数学が数について考えなくなる部分である.Matrix がどういう結果を生むのかではなく,Matrix そのものにある性質を考えること,それによって全てのデータがどのように振る舞うのかが,一目瞭然となる.Berlin の人口と Potsdam の人口の組合せはかなりのものになる.たとえば,合計 100 万人であれば,100 万通りの可能性がある.この 100 万通りの可能性をわずかの数で示すことができる解析手法(ここでは 1 つのベクトル,つまり2つの数であった),それがここで見た固有値解析である.
次回はまた Berlin と Potsdam の人口の遷移の話に戻ることにしよう.
References
[1] Alan Turing 100th birthday doodle, http://www.google.com/doodles/alan-turings-100th-birthday
Comments
Post a Comment