460 likes | 886 Views
一般化 Bi-CGSTAB(s, L) (= 一般化 IDR(s, L)). 東京大学大学院 情報理工学系研究科 数理情報学専攻 谷尾 真明 杉原 正顯. 発表の流れ. 概要 IDR(s) 法 , GIDR(s,L) 法の導出 ( 応用数理年会 ) IDR(s) 法 GIDR(s,L) 法 GBi-CGSTAB(s,L) 法の導出 (RIMS 研究集会 ) GBi-CG(s) 法 GBi-CGSTAB(s,L) 法 (=GIDR(s,L) 法 ) まとめ. 発表の流れ. 概要 IDR(s) 法 , GIDR(s,L) 法の導出 ( 応用数理年会 )
E N D
一般化Bi-CGSTAB(s, L)(=一般化IDR(s, L)) 東京大学大学院 情報理工学系研究科 数理情報学専攻 谷尾 真明杉原 正顯
発表の流れ • 概要 • IDR(s)法, GIDR(s,L)法の導出 (応用数理年会) • IDR(s)法 • GIDR(s,L)法 • GBi-CGSTAB(s,L)法の導出 (RIMS研究集会) • GBi-CG(s)法 • GBi-CGSTAB(s,L)法(=GIDR(s,L)法) • まとめ
発表の流れ • 概要 • IDR(s)法, GIDR(s,L)法の導出 (応用数理年会) • IDR(s)法 • GIDR(s,L)法 • GBi-CGSTAB(s,L)法の導出(RIMS研究集会) • GBi-CG(s)法 • GBi-CGSTAB(s,L)法(=GIDR(s,L)法) • まとめ
Krylov部分空間法 概要 Krylov部分空間法 Bi-CG GMRES CGS FOM Bi-CGSTAB GCR Bi-CGSTAB(L) Orthomin GP-BiCG Lanczos原理 (短い漸化式) Arnoldi原理 (長い漸化式) IDR(induced dimension reduction)(s)[1](2007) [1]P. Sonneveld and M. B. van Gijzen, IDR(s): A Family of Simple and Fast Algorithms for Solving Large Nonsymmetric Systems of Linear Equations, Reports Depart. Appl. Math. Anal., REPORT 07-07, Delft Univ., Tech., 2007. (短い漸化式)
Lanczos原理に基づくKrylov部分空間法 vsIDR(s)法 概要 一番重たい計算=行列とベクトルの積 • Krylov部分空間法 高々2N回行えば収束(理論) • IDR(s)法 高々N+N/s回行えば収束(理論) u v A 行列ベクトル積 s>1の時、既存の方法より少ない 1回 実際の数値計算においても 早く収束する!
IDR(s)法の一般化 概要 GIDR(s,L)法[2] IDR(s)法 計算量 N+N/s N+N/s 加速多項式 の次数 L 1 歪対称に近い係数行列と相性が良くない [2]谷尾真明杉原正顯, GIDR(s,L): 一般化IDR(s), 応用数理学会2008年度年会, pp. 411—412, 千葉.
既存のKrylov部分空間法とIDR(s), GIDR(s,L)の関係図 概要 • IDR(1) = Bi-CGSTAB • GIDR(1,L) = Bi-CGSTAB(L) 加速多項式の次数 拡張 ? 拡張
既存研究 概要 • Bi-CG(s)⇒Bi-CGSTAB(s)(=IDR(s)) (Sleijpen, 2008) 加速多項式の次数 拡張
本研究 概要 • GBi-CG(s)⇒GBi-CGSTAB(s,1)(=IDR(s)) ⇒GBi-CGSTAB(s,L)(=GIDR(s,L)) 加速多項式の次数 拡張
発表の流れ • 概要 • IDR(s)法, GIDR(s,L)法の導出 (応用数理年会) • IDR(s)法 • GIDR(s,L)法 • GBi-CGSTAB(s,L)法の導出 (RIMS研究集会) • GBi-CG(s)法 • GBi-CGSTAB(s,L)法(=GIDR(s,L)法) • まとめ
IDR定理(1/2) IDR(s)法 • 定義: :span{ } と直交する空間 : N次元ベクトル空間 (注意) は非ゼロのスカラー量
IDR定理(2/2) IDR(s)法 • 定理 (genericな条件の下で) -s次元 -s次元 ・
IDR(s)法の概要 IDR(s)法 • 残差ベクトルが入れ子になっている空間列 の中を と潜っていくように更新. 残差ベクトル N+N/sMATVECsで0に到達
発表の流れ • 概要 • IDR(s)法, GIDR(s,L)法の導出 (応用数理年会) • IDR(s)法 • GIDR(s,L)法 • GBi-CGSTAB(s,L)法の導出 (RIMS) • GBi-CG(s)法 • GBi-CGSTAB(s,L)法(=GIDR(s,L)法) • まとめ
IDR(s)法の不満点 GIDR(s,L)法 • 係数行列が歪対称行列に近いと収束性悪化. • IDR定理自身が持つ問題点. 加速多項式に相当 →高次にしたい!
数値実験による確認 GIDR(s,L)法 • IDR(3) (1次の加速多項式) vs Bi-CGSTAB(3) (3次の加速多項式) 3次元対流問題 離散化 ・125000×125000 ・歪対称行列に近い Bi-CGSTAB(3) IDR(3)
一般化IDR定理(1/2) GIDR(s,L)法 一般化 • 定義: :span{ } : N次元ベクトル空間 高次 :
一般化IDR定理(2/2) GIDR(s,L)法 • 定理 (genericな条件の下で) -sL次元 -sL次元 ・
GIDR(s,L)のアルゴリズム GIDR(s,L)法 1. repeat until 14. end 2. For i = 0,1,…,L-1 15. Select 3. For j = 1,…,s 16. For i=1,…,L 4. Solve for 17. 5. 18. 19. 6. Compute 7. 20. end 8. end 21. 9. Solve for 22. 10. 23. end repeat 11. 12. 13. (k=0,…,i) 残差の更新の際に 補助ベクトルを導入している
数値実験による確認 GIDR(s,L)法 • IDR(3) (1次の加速多項式) vs GIDR(3,3) (3次の加速多項式) 3次元対流問題 離散化 ・125000×125000 ・歪対称行列に近い IDR(3) GIDR(3,3)
発表の流れ • 概要 • IDR(s)法, GIDR(s,L)法の導出 (応用数理年会) • IDR(s)法 • GIDR(s,L)法 • GBi-CGSTAB(s,L)法の導出 (RIMS研究集会) • GBi-CG(s)法 • GBi-CGSTAB(s,L)法(=GIDR(s,L)法) • まとめ
関係図 M = : Mathematically equivalent 加速多項式の次数 M M M M M
Bi-CG法 GBi-CG(s) • Krylov 部分空間 • 反復 条件 shadow residual
Bi-CG法の1反復 GBi-CG(s) s. t. s. t. 残差が満たす性質
GBi-CG(s) Bi-CG法の一般化shadow residualの高次化 GBi-CG(s) Bi-CG shadow residual N N ・・・ 1 s 条件 span
GBi-CG(s) Bi-CG法の一般化 shadow residualの高次化 • ML(s)BiCG(Yeung and Chan, 1999) • Bi-CG(s) (Sleijpen, 2008) • GBi-CG(s) 加速多項式の次数 shadow residual
GBi-CG(s)の1反復 GBi-CG(s) s. t. For j = 1,…,s set s. t. 残差が満たす性質 end
GBi-CG(s)法の計算量 GBi-CG(s) • 1反復あたりの行列ベクトル積の演算 • 補助ベクトル・・・・・・・・・s • shadow residual ・・・・・・s • 収束するのに必要な反復回数 ×s (genericな条件下で) 2s×N/s = 2N MATVECs total (Bi-CG法, Bi-CGSTAB法などと同じ)
発表の流れ • 概要 • IDR(s)法, GIDR(s,L)法の導出 (応用数理年会) • IDR(s)法 • GIDR(s,L)法 • GBi-CGSTAB(s,L)法の導出 (RIMS研究集会) • GBi-CG(s)法 • GBi-CGSTAB(s,L)法(=GIDR(s,L)法) • まとめ
GBi-CGSTAB(s,L) 拡張のアイデア • Bi-CG⇒Bi-CGSTAB(L)と同じ構造を利用することによりGBi-CG(s)⇒GBi-CGSTAB(s,L)を達成! 加速多項式の次数 M M M M M
GBi-CGSTAB(s,L) 加速多項式の仕組み(Bi-CG) (1/3) • Bi-CG⇒Bi-CGSTAB ⇒Bi-CGSTAB(L) 加速多項式の次数 M M M M M
GBi-CGSTAB(s,L) 加速多項式の仕組み(Bi-CG) (2/3) ・Bi-CG法における任意性 s. t. s. t.
GBi-CGSTAB(s,L) 加速多項式の仕組み(Bi-CG) (3/3) shadow residual 残差 Bi-CG Bi-CG + 加速多項式 加速多項式 (fixed)
GBi-CGSTAB(s,L) 加速多項式の仕組み(GBi-CG(s)) (1/3) M • GBi-CG(s)⇒GBi-CGSTAB(s,1)(=IDR(s)) ⇒GBi-CGSTAB(s,L)(=GIDR(s,L)) 加速多項式の次数 M M M M M
GBi-CGSTAB(s,L) 加速多項式の仕組み(GBi-CG(s)) (2/3) ・GBi-CG(s)における任意性 For i = 1,…,s set s. t. 残差が満たす性質 end 35
GBi-CGSTAB(s,L) 加速多項式の仕組み(GBi-CG(s)) (3/3) shadow residual 残差 GBi-CG(s) GBi-CG(s) + 加速多項式 (fixed) 加速多項式
GBi-CGSTAB(s,L) GBi-CGSTAB(s,L)=GIDR(s,L) 加速多項式の次数 M M M M M
GBi-CGSTAB(s,L) GBi-CGSTAB(s,L) GIDR(s,L)のアルゴリズム 再掲 1. repeat until 14. end 2. For i = 0,1,…,L-1 15. Select 3. For j = 1,…,s 16. For i=1,…,L 4. Solve for 17. 5. 18. 19. 6. Compute 7. 20. end 8. end 21. 9. Solve for 22. 10. 23. end repeat 11. 12. 13. (k=0,…,i) 補助ベクトル ⇔ GBi-CG(s)における補助ベクトル
GBi-CGSTAB(s,L) GBi-CGSTAB(s,L)の計算量 k反復後の shadow residual k反復後の残差 GBi-CG(s) Matvec ks 計算量 Matvec ks 2N k = [N/s]で収束 GBi-CG(s) + 加速多項式 (fixed) Matvec 0 Matvec ks + k 計算量 N+N/s
発表の流れ • 概要 • IDR(s)法, GIDR(s,L)法の導出 (応用数理年会) • IDR(s)法 • GIDR(s,L)法 • GBi-CGSTAB(s,L)法の導出 (RIMS研究集会) • GBi-CG(s)法 • GBi-CGSTAB(s,L)法(=GIDR(s,L)法) • まとめ
結論 • GIDR(s,L)法を, Bi-CG法の拡張として解釈出来た(GBi-CGSTAB(s,L)法) M M M M M
今後の課題 • 前処理を含めたGBi-CGSTAB(s, L)法の提案. • パラメータsとLの決定法. 加速多項式の次数 shadow residual