- 著者
-
寒川 光
- 雑誌
- ハイパフォーマンスコンピューティングと計算科学シンポジウム論文集
- 巻号頁・発行日
- vol.2014, pp.57-64, 2013-12-31
数値計算は浮動小数点演算によって実装されてきた.そのためアルゴリズムは,丸め誤差を制御する方法を取り入れつつ発達した.一方,有理数計算は,計算機科学の黎明期から研究されてきたが,数値計算には,計算機の性能が不十分であったため,実用的な製品としての実装は少ない.初代スパコン CRAY-1 と現在最速のスパコンを比較すると 1 億倍以上の性能差がある.並列システムの計算能力の発展が続くなら,浮動小数点演算による数値計算は,徐々に有理数演算に置き換えられてゆく可能性がある.有理数計算は正確な計算結果を提供するので,現在の数値計算のアルゴリズムの内,丸め誤差の影響を制御する部分は不要になる.浮動小数点計算では主流である 「直交化を基礎とする解法」 は,有理数計算では桁数が膨大になるため,直接的な解法に劣る.このため有理数計算による数値計算アルゴリズムのメニューは,浮動小数点演算用のものと異なる.本論文では,線形代数計算を有理数計算で行うためのプログラミング環境を,多桁整数演算を実現する階層,有理数演算を実現する階層の上に,BLAS に対応する 「有理数 BLAS」 階層を構築することで,既存の浮動小数点計算用のプログラムを,有理数計算環境に移行する方法を提案する.