研究課題
数式処理で用いる行列に対する基本演算のソフトウェア部品の開発と改良を実証的に進めた。先ず、MBLASと呼ぶ基本線形演算プログラム集を定義し、効率化の方法を探ると同時に、保守性を高めるべくC++のテンプレートやクラスを用いてプログラムを書き直した。後者については、効率化のために細かな場合分け等のコーディングを行った場合、効率化の方法そのものが旨く抽象化できないと却って繁雑化することがわかった。より良い記述法の検討は今後の課題である。効率化については、予め計算した表を用いたりoverflowを検知して補正をする等、剰余計算の除算を取り除き高速化を図った。また、short vector SIMD命令を用いたベクトル処理の実験も行い、データの精度によっては効果が認められた。これらに関して、仏のグループとも交流し情報交換を行った。一方、行列乗算の高速算法については、予想を超えた高速性は微視的な説明は十分にできていないが、巨視的には、高速性が処理の対象となるメモリ領域量あるいは空間計算量と密接に関連していることを見出している。この知見に基づき、多項式や行列のデータ表現の変更による効率化を図ったが必ずしも効果はあがらなかった。これは、用いるハードウェアの特性にも依存すると思われるので詳細な分析は行わないこととした。また、行列全体をコンパクトに表現することが効率化に結びつくと考え、疎な行列に対する特別は表現法を実装し実証実験を行った。その結果、Strassen型の算法は疎な行列には適合しないこと、また、数式処理用の行列を2次元配列で表現する必要性はないという認識と、行列の特性や演算にあわせた表現が効率的であるという予想に到った。この検証は今後の課題である。当初予定していた、応用アルゴリズムへの実用化にまで発展させることができなかったが、上述の新たに得られた様々な知見は今後の発展に有用である。野呂は逐次拡大で表現された代数体の演算の効率化を目指し、代数的数の新たな表現を定義し、それを用いた簡約化および逆元の計算の効率化を提案し、実装した。さらに、Dynamic Evaluationの効率化のために、イデアル商による定式化を行い、modular計算による効率的実装を行った。
すべて 2005 2004 その他
すべて 雑誌論文 (11件)
数式処理(大会報告) Vol.11, No.2(出版準備中)
数式処理 Vol.11, No.3-4
ページ: 3-19
http://www.openxm.org/
京都大学数理解析研究所講究録 1395
ページ: 218-223
ページ: 259-266
SACSIS2004-先進的計算基盤システムシムポジウム ポスター
ページ: 139-140
ISSAC 2004 : International Symposium on Symbolic and Algebraic Computation Collection of Poster Abstra
ページ: 30-32
Journal of Symbolic Computation Vol.38
ページ: 1227-1247
数式処理 Vol.11
ページ: 21-28
(口頭発表)
京都大学数理解析研究所講究録 (準備中)