研究概要 |
本研究の目的は,従来プログラム言語ごとに独立して定められていた数値のデータ型(整数,単・倍精度)をプログラム言語と切り離して確立し,新たに有理数,精度・指数部可変浮動小数点数,自動微分用の数,級数展開数,精度保証数等の数値用データ型を加え,ひとつの計算環境として提供することである.本年度当初はこの目標に向かって研究を進め始めたが,結果的には計算の品質保証の根幹アルゴリズムを提供する「高速自動微分法」の「欠点」を一般的に解消するシステムの試作に成功した. 高速自動微分法の利用により,高い精度で計算誤差の大きさを評価できることは以前から知られていたが,その反面,高速自動微分法を実行するには,計算「時間」に比例する領域が必要であるという欠点があった.現在では,手元に置くことのできるパーソナルコンピュータでも,かなり安価にメインメモリを500MB以上持つことができるようになっているので,その欠点も目立たなくなってきている.しかし,巨大な計算に対してはメモリ不足により高速自動微分法を実行できなくなることが事実である. 多少の計算時間の増加を許して,この欠点を解消する理論的な方法は,ドイツのA.Griewankにより与えられていたが,これを実行するには,プログラムの実行を凍結し,コピーし,解凍して再実行するという機能が必要である.一般的なコンパイラを利用しながらこの機能を提供することは,世界的に見ても未だ成功例がなかったが,今回,高速自動微分法の処理系とUNIXのプロセス処理を組み合わせて,一般的なFORTRAN77プログラムに対して,メモリ効率の良い高速自動微分法を適用できるようなシステムの試作に成功した.これにより,従来2GB以上必要であったプログラムを半分以下にすることができた. この結果は,速報としては10月に早稲田大学で開催された国際ワークショップにおいて発表し,国内では,12月に龍谷大学で開催された平成9年度応用数学合同研究発表会にて発表した.
|