2023 Fiscal Year Annual Research Report
数値線形代数の数値解に対する厳密精度評価の基盤形成
Project/Area Number |
23H03410
|
Allocation Type | Single-year Grants |
Research Institution | Shibaura Institute of Technology |
Principal Investigator |
尾崎 克久 芝浦工業大学, システム理工学部, 教授 (90434282)
|
Co-Investigator(Kenkyū-buntansha) |
荻田 武史 早稲田大学, 理工学術院, 教授 (00339615)
今村 俊幸 国立研究開発法人理化学研究所, 計算科学研究センター, チームリーダー (60361838)
|
Project Period (FY) |
2023-04-01 – 2026-03-31
|
Keywords | テスト行列 / 浮動小数点演算 / 大規模並列計算 |
Outline of Annual Research Achievements |
今年度は、数値線形代数において重要な連立一次方程式、標準・一般化固有値分解、特異値分解、最小二乗問題に対して研究を推進し、真の特性が事前に既知となるテスト行列生成法を開発した。数値線形代数の問題において、分解フォームのファクタに摂動を加え、複数回の行列積の計算中に丸め誤差が発生しないように設計した。これにより、真の解の目標値をユーザが与えることができ、厳密な解が事前わかる。固有値問題や特異値分解では、重複固有値や特異値の指定も可能である。特に、煩雑な丸め誤差解析を必要としない反復試行的なテスト行列の生成アルゴリズムを開発した。 数値線形代数では、Cholesky分解、LU分解、QR分解、LDL分解などの代表的な行列分解があり、厳密な分解ファクタがわかるテスト問題の生成アルゴリズムを開発した。さらに高速かつ高精度に精度保証をするフレームワークを開発し,数値実験によって有効性を検証した。 今後に向けて、高精度計算アルゴリズムを開発した。数値計算の精度が不足する場合には、浮動小数点数の和で数を表現し、その演算を定義したdouble-word, triple-word, quad-word arithmeticという手法がある。本研究では、pair arithmeticの技法を応用して、従来のtriple-wordやquad-wordを高速化した手法を提案した。低コストであり、精度をできるだけ維持するアルゴリズムの工夫も同時に考案した。提案した手法をLU分解やCholesky分解に適用し、疑似正規化という技法を活用することで実用性を示した。 GPU向けの固有値計算環境で内部における複数精度いわゆる混合精度演算を可能にするための修正を行い、アルゴリズム内部の演算精度の変更、それにともなう計算結果へのインパクト、総合的な計算時間と期待精度との相関を確認するための環境整備を実施した。
|
Current Status of Research Progress |
Current Status of Research Progress
1: Research has progressed more than it was originally planned.
Reason
本研究課題では、真の解が事前に分かるテスト問題の生成法を開発し、近似解に対する相対誤差を厳密に評価できることを目的とする。対象とする問題は、数値線形代数で広く応用される連立一次方程式(線形方程式)、固有値問題、特異値分解、最小二乗問題である。さらに、LU分解、Cholesky分解、QR分解といった代表的な行列の分解に関する厳密な分解ファクターを求める問題にも拡張し、多様な数学的性質を指定できる問題生成法の開発に挑戦した。相対誤差の解析を通じて弱点を明らかにし、将来的には近似解法の改善に貢献することを目指している。再現可能なテスト問題の生成法及びそのコードの開発により、数値解法の評価をより厳密に行える環境を構築し、解法の分析・発展に寄与することが目的である。3年の研究計画のうち、1年半で行う内容をこの1年で達成できた。さらに、高精度計算の幅広い分野に寄与できるアルゴリズムの開発も行った。具体的な研究の実績は「研究実績の概要」に記載の通りである。現在のところ順調に計画が進んでおり、今後の見通しも明るい。
|
Strategy for Future Research Activity |
2024年度の研究実施計画: 前年度に開発されたテスト行列生成法(アルゴリズム)は、数値線形代数の問題において分解フォームのファクタに摂動を加え、複数回の行列積の計算中に丸め誤差が発生しないよう設計された。しかし、この摂動を最小限に抑える処理が計算機環境によって異なり、提案手法には数値再現性が失われる問題がある。生成した問題(行列)をバイナリファイルで保存・読み込みする方法では、数値再現性の問題は解消されるが、大規模な問題では数十テラバイトの容量が必要になるため、現実的ではない。このため、行列積の計算順序に依存せず、すべての環境で同一のテスト問題を生成できるアルゴリズムの開発を目指す。さらに、MATLABおよびGNU Octaveで実行可能なソースコードの開発を進め、次年度には公開できるよう努める。加えて、スーパーコンピュータ上での固有値ソルバ(EigenExa)の精度に関する性能評価の準備を行う。テスト行列はScaLAPACKを用いて実装する。重複固有値や近接固有値が存在するようなケースにも対応したい。また、丸め誤差の影響を低減するための高精度計算の研究も合わせて行う。 2025年度の研究実施計画: 2025年度は研究の最終年度となるため、成果の発信、論文の執筆、そして行列生成ツールの開発作業が主な活動となる。MATLABおよびGNU Octaveで実行可能なソースコードとして公開し、1つのコードでMATLABとGNU Octaveの両方に対応することを目指す。研究の進捗に応じて、C言語など他の言語にも対応し、LAPACKを使用するコードの生成も行う。また、スーパーコンピュータ上での固有値ソルバ(EigenExa)の精度に関する性能評価を行い、改善点が見つかった場合はアルゴリズムの見直しを行う。
|
Remarks |
double-, triple-, quadruple-word arithmetcを実現するC++パッケージmX_realをオープンソースとして公開し.。
|