精度保証付き数値計算で、
数学と工学の架け橋に
Q 専門である精度保証付き数値計算の特徴を教えてください。
例えば円周率の計算が無限に続くというのは、誰でもイメージできると思います。そのような割り切れない数値をコンピュータ上で処理するときに、解が続くからと言って無限に計算をさせるわけにはいきません。そこでどうするかというと、どこか適当な桁数で計算をやめるのです。円周率を例にとりましたが、例えば1/10=0.1というのも割り切れない数値です。これは10進数と2進数との違いにより起こる現象で、従来は2進数で表現できる限界の数値の小数点以下15桁までを採用し、それ以降に関しては「誤差はたいしたものではない」ということにしていました。
ところが、この誤差が大きな問題になった事件が起こります。1990年の湾岸戦争でのことです。イラクがスカッドミサイルでアメリカを攻撃し、それをアメリカ側はパトリオットミサイルという当時最先端のミサイル防衛システムで迎撃しようとしたのですが当たらず、100名以上の死傷者を出しました。これは数値計算の誤差が引き起こしたものでした。コンピュータ上の数値計算には誤差があり、それがいずれ大きな問題を引き起こすであろうことは広く認識されていましたが、そのあたりから本格的になんとかしなければいけないという機運が高まってきたのです。
家電の保証書のように、数値計算にも精度保証を
誤差をできるだけ少なくするために、私たちは区間演算という手法を採用しています。これは、求める数値の上限と下限を規定し、その間で表現するということです。誤差の範囲を決めて、それ以上の誤差が出ないようにするということですね。さらに不動点定理を用いて方程式の解の存在を数学的に保証しています。
例を挙げましょう。ローレンツ方程式という、空気の滞留を表す方程式があります。Matlab(マットラボ)という数値計算でもっとも使われているソフトと私の開発した精度保証付き数値計算とを比較すると、計算をはじめてからしばらくは両者に大きな違いはありませんが、途中からMatlabは誤差が大きくなり、信用できない数値になってしまいます。
誤差というのは積み上がっていくものなので、Matlabも決して精度の低いソフトではないのですが、計算量が増えると大きな差が出てしまいます。
数学というのは「全てを疑え」という学問なので、多分あっているだろうというのではいけない。
現時点で私たちの開発したソフトウェアは世界で一番精度が高く、スピードも世界一だと思っています。家電に保証書をつけるように、全ての数値計算を精度保証付きにする、というのが私たちの夢でありビジョンです。
数学は数学だけにしたら死んでしまう
Q 応用数理学科とはどのような学科ですか?
応用数理学科の教員は理学よりも工学の博士が多く、数学的なセンスをもったエンジニアがたくさんいる、というのが特徴です。ですから、両方のセンスを学ぶことができるのです。
ニュートンの時代には数学と物理学とは不可分なものだったと思います。それが時代とともに抽象化し、分かれてしまいました。
数学は数学だけにしたら死んでしまいます。工学を初めとしたさまざまな分野と、数学との架け橋となるのが応用数理だと自負しています。もちろんそのためには数学の深い知見、知識をもっていることが必要です。
3次元双曲多様体という、双曲幾何学に関する、ある定理を精度保証付き数値計算を使って証明しました。これは東工大のスパコンTSUBAMEで高速に精度保証付き数値計算を行うプログラムを開発し、564万6646個の多変数複素連立非線形方程式全ての解の存在を確かめたというものです。この膨大な数からもわかっていただけると思いますが、方程式を一つ一つ解き下していくというのは不可能に近い。数学の証明に、応用数理の技術が役立った好例で、両者の「架け橋」となったモデルケースといえるのではないでしょうか。
最優秀の仲間と共に、悩みながら成長を
Q 早稲田のいいところは
早稲田にはこれだけの人数がいますから、その数だけ刺激を受けられると思っています。これは学生に限ったことではなくて、教員の私たちにとっても同じです。学生たちは皆、優秀で積極的ですから、ちょっとしたヒントを与えるとすごく良い働きをしてくれます。
人は人の間でしか生きられない、とよく言われます。ですから、学生にはたくさん友達をつくって、仲間と一緒に悩みながら研究することで、いろいろな考え方を吸収して欲しい。私の役目はその背中をそっと押すことだと思っています。