固有値計算の ニーズ と アルゴリズム について 宮田 考史 (名古屋大学) 共同研究者: 李 東珍 (名古屋大学),山下 達也 (名古屋大学), 曽我部 知広 (愛知県立大学),張 紹良 (名古屋大学) 第 3 回 CMSI 人材育成シンポジウム 「応用数理と計算科学の連携Ⅱ」 2015 年 1 月 15 日 大阪大学 目次 はじめに • 固有値のニーズ • ニーズに対応する解法 本研究で扱うニーズ • 電子構造計算に現れる固有値問題 • 既存解法の適用 本研究のアプローチ 数値実験 • 実問題への適用 まとめと今後の課題 +α (反復法について) 2 はじめに 本研究で扱う問題 • 一般化固有値問題 » 入力: 行列 » 出力: 固有対 • 固有値はすべて実数 対称,対称正定値 Re. 3 固有値のニーズと解法 領域内部 × 最小 Re. 最大 点近傍 ニーズ 解法 すべて 準直接法 (QR,QZ) 最小,最大,点近傍 反復法 (Krylov,JD) 領域内部 Sakurai-Sugiura 4 本研究で扱うニーズ ニーズ 与えられた に対して 番目の固有値 Re. • 必要な固有値は少数 • 最小や最大ではない » 発光ポリマ » 金ナノワイヤ 異なるニーズ アプローチは? • 点や領域の指定は困難 5 本研究のアプローチ 慣性と反復法の組み合わせ (Step 1) 慣性 & 反復法 (Step 2) 慣性(二分探索) (Step 3) 反復法 慣性とは? 与えられた に対して となる ( の数 の値は分からない) 6個 2個 0個 Re. 6 慣性の利用 0 0 7 2 Re. Step 1 (後で説明) Step 2 3 5 慣性(二分探索) 区間内の固有値数 m 個以下 Step 3 反復法 (点近傍) × 7 反復法の利用 Step 1 0 0 Re. ① どこから始める? ② 次の点はどこに? ③ いつかは を含む? 反復回数 反復法の近似固有値 ① 初期近似固有値 ② 1 反復後の近似固有値を活用 ③ 多くても n 反復で含む Re. 8 数値実験 • 計算機環境: Intel Xeon 5960 (3.4 GHz), Fortran 倍精度演算 Step • 発光ポリマ 解法 計算された固有値(16桁) 計算時間(秒) 法a -0.42587755479569 50 59.1 本研究 -0.42587755479569 62 36.5 QR a LAPACK routine (DSYGV) b Arnoldi (M,W,G) [Yamashita et al., 2011] 1 反復法b:2 慣性c:2 2 慣性c:4 3 反復法b:86 計算された固有値(16桁) 計算時間(秒) QR 法a 0.13053888359411 69 408 本研究 0.13053888359411 77 256 (秒) 0.2 9.1 18.0 9.1 LAPACK routine (DSYTRF) Step • 金ナノワイヤ 解法 c 計算:回数 計算:回数 1 反復法b:2 慣性c:2 2 慣性c:4 3 反復法b:52 (秒) 1 66 132 57 9 まとめと今後の課題 まとめ • 電子構造計算に現れる固有値問題に対して » 固有値のニーズを整理 (k 番目の固有値) » 慣性と反復法を組み合わせたアプローチ • 数値実験の結果 » 必要な固有値を QR 法よりも少ない計算時間で得られた 今後の課題 • 慣性計算の高速化 (近似計算,GPU の利用) • 大規模問題への適用と性能評価 10 ここから別の話です はじめに 本研究で扱う問題 • 一般化固有値問題 » 入力: 行列 » 出力: 固有対 固有値 固有ベクトル • 応用分野 » 電子構造解析 » 流体安定性解析 » 振動解析 Bai et al., Non-Hermitian Eigenvalue Problem Collection 12 固有値計算アルゴリズム すべての固有値 (準)直接法 + 並列計算 » QZ 法 [ Moler & Stewart, 1973 ] 少数の固有値 反復(射影)法 • 絶対値最大,指定された点近傍 » Lanczos 法 » Arnoldi 法 » Arnoldi (M,W,G) 法 [ Lanczos, 1950 ] [ Arnoldi, 1951 ] [ Yamashita et al., 2011 ] • 指定された領域内部 » Sakurai-Sugiura 法 [ Sakurai & Sugiura, 2003 ] • 指定された絶対値を有する(複素)固有値 » 実問題に対して,Sakurai-Sugiura 法を拡張 [ Miyata et al., 2009 ] 13 概要 正則な大規模疎行列 Arnoldi(M,W,G)法 従来法 Arnoldi法 [Arnoldi,1951] Lanczos法 [Lanczos,1950] 任意性を持った 3 つの行列を 導入し,Arnoldi 法を拡張 様々なアルゴリズムの構築を可能にした上で, 高速アルゴリズムの導出を目指す 14 反復法 初期ベクトル 部分空間 の構築 (低次元)部分空間の 基底を生成する 初期ベクトル 近似固有対 の構築 収束判定 部分空間の中で 固有ベクトルを近似する 部分空間 真の固有ベクトル 近似固有ベクトル 15 Arnoldi 法 初期ベクトル 部分空間 の構築 近似固有対 の構築 収束判定 部分空間の構築 ▶ Krylov部分空間: ▶ 基底: ▶ 基底の直交性: 固有対不変 16 Arnoldi 法 初期ベクトル 部分空間 の構築 近似固有対 の構築 収束判定 近似固有対の構築 ▶ 近似固有ベクトル: ▶ Petrov-Galerkin条件: (残差ベクトル: 小規模固有値問題に帰着: ) ( :ヘッセンベルグ行列) 行列 17 Arnoldi 法の拡張 行列 ( 部分空間の構築 に任意性を与え,Arnoldi法を拡張 :正則, :正定値エルミート ) Arnoldi(M,W,G) 法 ▶ 部分空間: ▶ 基底の直交性: 近似固有対の構築 ▶ 残差条件: ▶ 小規模固有値問題: のとき, 18 M,W,G の設定 ▶ 部分空間 を定める行列 ▶ 従来法では,基底生成毎に に着目 or の計算が必要 Arnoldi(M,W,G) 法 線形方程式を直接法で解く Arnoldi法 ▶ LU分解 Lanczos法 ▶ Cholesky分解 逆行列( 解法 a ベクトル( )の近似 ▶ Neumann級数展開 )の近似 解法 b ▶ Krylov部分空間法 解法 c ▶ 定常反復法 19 テスト問題 問題 1 (電子構造解析) 行列 A 7,776 3,619,104 行列 B 7,776 3,619,104 ▶ : 行列サイズ ▶ : 非零要素数 非 零 構 造 (A: エルミート,B: 正定値エルミート) 問題 2 (電気工学) 問題 3 (乱数行列) 行列 A 782 7,514 行列 B 782 5,982 非 零 構 造 行列 A 8,000 12,800,000 行列 B 8,000 12,800,000 非 零 構 造 実験結果(計算時間) 問題 1 ▶ 実用的な解法として 有効に機能する可能性あり 従来法(行列分解) 従来法(その他) Krylov部分空間法を用いた解法 (行列の不完全分解) Krylov部分空間法を用いた解法 (その他) 計 算 時 間 ( 秒 ) 問題 2 計 算 時 間 ( 秒 ) 問題 3 計 算 時 間 ( 秒 ) 21 まとめと今後の課題 まとめ • 一般化固有値問題に対する Arnoldi(M,W,G) 法 » Lanczos 法,Arnoldi 法の拡張 » M に着目 具体的な解法の導出 • 数値実験の結果 » 導出した解法の一部について,その有効性を確認 今後の課題 • 他の解法の導出 • ブロック化の導入 22
© Copyright 2024 ExpyDoc