Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
クリロフ部分空間法における丸め誤差の
収束性への影響
相原 研輔
東京理科大学
2017/1/27
第20回数理人セミナー @ 早稲田大学
自己紹介
 相原 研輔(Kensuke AIHARA)
• 東京理科大学理学部第一部数理情報科学科 助教
➔ 来年度から「応用数学科」へ改名
• 学位:博士(理学) in 2014
 研究分野
• 数値解析 / 数値線形代数
– 大規模連立...
発表の流れ
 はじめに
• 連立一次方程式とクリロフ部分空間法
 丸め誤差について
• 収束速度と近似解精度
 収束性の改善
• 誤差解析と漸化式の修正
 数値実験
 まとめ
2017/1/27 第20回数理人セミナー @ 早稲田大学...
はじめに
 正則行列を係数に持つ連立一次方程式
• 厳密解は だが・・・
 行列の特徴
• 大規模(数万~数千万次)
• 疎(成分のほとんどは零)
➔ コンピュータによる数値計算が不可欠!
 応用分野
• 流体力学,電磁場解析,熱問題,画...
連立一次方程式の出現例
 (自然)現象などに対する数値シミュ―レション
2017/1/27 第20回数理人セミナー @ 早稲田大学
シミュレーション
の流れ
cf. 高橋大輔著,数値計算,岩波書店,1996.
4 / 39
数値解法
 大規模疎行列を係数に持つ連立一次方程式
 反復法
• 適当な初期近似解 から出発してそれを更新
しながら徐々に厳密解 に近づける計算法
– 多くは漸化式を用いる(後述)
• 目標は・・・
– 速い(収束性)
– 安い(計算コスト...
(非定常)反復法
 クリロフ部分空間法
• Growing subspace
• 空間条件(簡単のため )
 帰納的次元縮小(Induced Dimension Reduction, IDR)法
• Shrinking subspace
•...
共役勾配(Conjugate Gradient, CG)法 [’52 Hestenes and Stiefel]
 係数行列が正定値対称の場合に有効
• 空間条件に加えて残差の直交条件を課す
➔ 漸化式の係数(ステップ幅)の決定
2017/1...
共役残差(Conjugate Residual, CR)法 [’55 Stiefel]
 係数行列が(正定値)対称の場合に有効
• 空間条件に加えて残差の最小条件を課す
➔ 漸化式の係数(ステップ幅)の決定
2017/1/27 第20回数理人...
アルゴリズム
2017/1/27 第20回数理人セミナー @ 早稲田大学
 CG法
CR法 
9 / 39
クリロフ部分空間法
 短い漸化式を用いる算法
• CG[’52 Hestenes and Stiefel]
• Bi-CG[’76 Fletcher]
 対称化された以下の方程式に前処理付きCG, CR法を形式的に
適用することでBi-CG...
アルゴリズム
2017/1/27 第20回数理人セミナー @ 早稲田大学
 Bi-CG法
B-CR法 
11 / 39
クリロフ部分空間法
 短い漸化式を用いる算法
• CG[’52 Hestenes and Stiefel]
• Bi-CG[’76 Fletcher]
• Hybrid Bi-CG
– CGS [’89 Sonneveld]
– Bi-CGS...
発表の流れ
 はじめに
• 連立一次方程式とクリロフ部分空間法
 丸め誤差について
• 収束速度と近似解精度
 収束性の改善
• 誤差解析と漸化式の修正
 数値実験
 まとめ
2017/1/27 第20回数理人セミナー @ 早稲田大学...
丸め誤差について
 倍精度浮動小数点数
• 符号部 1bit,指数部 11bit,仮数部 52bitで表現
• (0.1)10 = (0.000110011 ・・・ )2 ➔ + 1.10011001 ・・・ 11010 × 2−4
 仮数...
理想的な反復法(丸め誤差の観点から)
 収束速度
• 丸め誤差の影響により残差が減少する速さは低下する
• ひどいときは残差が停滞 or 発散して収束しない
➔ 残差の(理論的な)減少の速さを維持できる解法が望ましい
 近似解精度
2017...
数値例1
 Cyclic行列に対するBi-CG法の収束性
2017/1/27 第20回数理人セミナー @ 早稲田大学
0 50 100 150
-12
-10
-8
-6
-4
-2
0
2
4
6
反復回数 k
相対残差2ノルム(対数)
擬...
理想的な反復法(丸め誤差の観点から)
 収束速度
• 丸め誤差の影響により残差が減少する速さは低下する
• ひどいときは残差が停滞 or 発散して収束しない
➔ 残差の(理論的な)減少の速さを維持できる解法が望ましい
 近似解精度
• 誤差...
Residual gapとは?
 一般的な収束判定
• 漸化式から求まる残差 が以下を満たすとき終了する
 反復が終了したとき真の残差 は以下を満たすか?
• 無限精度ならYes,丸め誤差のある世界ではNo!
 Residual gap(...
数値例2
 行列af23560に対するBi-CR法の収束性
• 収束判定:
2017/1/27 第20回数理人セミナー @ 早稲田大学
0 1000 2000 3000 4000 5000
-10
-8
-6
-4
-2
0
2
4
6
反復...
収束性を改善するには?
• 多倍長計算の利用
– 収束速度,residual gapともに改善される ➔ コストは大きい
– 経験的に部分的な利用(混合精度演算)では改善は難しい
– 多倍長演算は解析の際に有効活用できる
• リスタート手法
–...
発表の流れ
 はじめに
• 連立一次方程式とクリロフ部分空間法
 丸め誤差について
• 収束速度と近似解精度
 収束性の改善
• 誤差解析と漸化式の修正
 数値実験
 まとめ
2017/1/27 第20回数理人セミナー @ 早稲田大学...
 浮動小数点演算による行列ベクトル積
• : 浮動小数点演算の結果
• : 一行あたりの最大非零要素数
• : 相対精度(unit round off:倍精度では )
• に対して
 以降の誤差解析は文献[1]に倣う.また,行列ベクトル積以...
丸め誤差の影響(1/2)
 近似解と残差を更新する漸化式
 行列ベクトル積
• 局所的な誤差の上限
• ただし, であり, の項は無視する
 のとき, は相対的に大きな誤差を含む
 残差ノルムの急激な減少による大幅な桁落ち
➔ 収束速度...
丸め誤差の影響(2/2)
 近似解と残差を更新する漸化式
 Residual gapの上限
 残差ノルムの振動により となるような中間残差
があると,上限は相対的に大きくなり得る
➔ 近似解精度の劣化
相対的に大きな局所誤差の蓄積を避け...
4パターンの振動と収束性
第20回数理人セミナー @ 早稲田大学2017/1/27 25 / 39
 理想的 
 最悪 
残差更新のグループ化 cf. [’94 Neumaier, ’96 Sleijpen and van der Vorst]
 近似解と残差の漸化式
• 単調増加数列 を選び, のとき,
近似解と残差を以下で置き換える(再計算する)
ただし,
...
数列 の選択
 理想的な収束振る舞い
① 大きな中間残差ノルムを回避 ➔ Residual gapの抑制
② 残差ノルムの大きな振動(減少)を回避 ➔ 局所誤差の抑制
① 新しい残差列 が「滑らか」
になるよう選ぶ
注) 残差の再計算には余分...
数列 の選択
 理想的な収束振る舞い
① 大きな中間残差ノルムを回避 ➔ Residual gapの抑制
② 残差ノルムの大きな振動(減少)を回避 ➔ 局所誤差の抑制
② 大きな振動があれば局所的に
残差のみ再計算
注) 残差の再計算には余分...
以上の考え方はCR法(Bi-CR法)など漸化式
の形式が異なる場合にも適用できる
[2] Kensuke Aihara, Variants of the groupwise update strategy for
short-recurrenc...
対象とする漸化式
 Bi-CG系統
 行列ベクトル積を行う箇所が異なれば,丸め誤差の影響も
異なるはず
2017/1/27 第20回数理人セミナー @ 早稲田大学
 Bi-CR系統
探索方向
近似解
残差
30 / 39
漸化式による違い
 Bi-CG[’96 Sleijpen and van der Vorst]
• 行列ベクトル積による局所誤差
• Residual gap
 Bi-CR [2016 Aihara]
• 行列ベクトル積による局所誤差
• ...
発表の流れ
 はじめに
• 連立一次方程式とクリロフ部分空間法
 丸め誤差について
• 収束速度と近似解精度
 収束性の改善
• 誤差解析と漸化式の修正
 数値実験
 まとめ
2017/1/27 第20回数理人セミナー @ 早稲田大学...
計算条件
 実験環境
• GNU C++ 4.8.2 compiler
• Intel Xeon CPU E5-1620 v2
• 32 GB RAM
 初期値
•
 収束判定条件
•
➔ 従来のBi-CR法とベクトル更新のグループ化を適...
数値実験1
 テスト行列
• af23560 (from University of Florida Sparse Matrix Collection)
• 構造: 実非対称
• 行列サイズ n = 23560
• 非零要素数 460598
...
0 1000 2000 3000 4000 5000
-10
-8
-6
-4
-2
1
2
4
6
反復回数 k
相対残差2ノルム(対数)
||r
k
||
2
||b-Ax
k
||
2
従来のBi-CR法の収束履歴
 収束判定
2017...
0 1000 2000 3000 4000 5000
-10
-8
-6
-4
-2
1
2
4
6
反復回数 k
相対残差2ノルム(対数)
||r
k
||
2
||b-Ax
k
||
2
提案法(グループ化を行った場合)の収束履歴
 収束...
数値実験2
 境界値問題 [’92 Joubert]
• 離散化: 中心差分近似(5点公式)
• 刻み幅 h=1/129
• 行列サイズ n = 16384
• 非零要素数 81408
• パラメータ Dh = 1/4
 右辺項は厳密解が ...
残差ノルムの収束履歴
† 従来法は n 反復で収束しない
解法 反復回数 Add. MVs
従来 † - 5.3e-07
提案 4282 175 7.4e-11
2017/1/27 第20回数理人セミナー @ 早稲田大学
0 2000 4000...
まとめ
 短い漸化式を用いるクリロフ部分空間法における丸め誤差
の影響について議論した
• 残差ノルムの振動は収束速度や近似解精度に大きく影響
• 丸め誤差の蓄積・拡大を回避するには滑らかな減少が重要
➔ 残差更新のグループ化について紹介
...
Upcoming SlideShare
Loading in …5
×

Kensuke Aihara

309 views

Published on

Kensuke Aihara

Published in: Science
  • Be the first to comment

  • Be the first to like this

Kensuke Aihara

  1. 1. クリロフ部分空間法における丸め誤差の 収束性への影響 相原 研輔 東京理科大学 2017/1/27 第20回数理人セミナー @ 早稲田大学
  2. 2. 自己紹介  相原 研輔(Kensuke AIHARA) • 東京理科大学理学部第一部数理情報科学科 助教 ➔ 来年度から「応用数学科」へ改名 • 学位:博士(理学) in 2014  研究分野 • 数値解析 / 数値線形代数 – 大規模連立一次方程式に対する反復法 – 最小二乗問題に対する数値解法 with Prof. Hosoda and Mr. Ozawa – 多様体上の最適化への数値線形代数の応用 with Dr. Sato – 構造を持つ非対称行列の固有値・固有ベクトル計算 with Dr. Fukuda • ざっくりいえば線形計算における高速・高精度なアルゴリズム の開発と改良 2017/1/27 第20回数理人セミナー @ 早稲田大学 1 / 39
  3. 3. 発表の流れ  はじめに • 連立一次方程式とクリロフ部分空間法  丸め誤差について • 収束速度と近似解精度  収束性の改善 • 誤差解析と漸化式の修正  数値実験  まとめ 2017/1/27 第20回数理人セミナー @ 早稲田大学 2 / 39
  4. 4. はじめに  正則行列を係数に持つ連立一次方程式 • 厳密解は だが・・・  行列の特徴 • 大規模(数万~数千万次) • 疎(成分のほとんどは零) ➔ コンピュータによる数値計算が不可欠!  応用分野 • 流体力学,電磁場解析,熱問題,画像復元,etc… 2017/1/27 第20回数理人セミナー @ 早稲田大学 3 / 39
  5. 5. 連立一次方程式の出現例  (自然)現象などに対する数値シミュ―レション 2017/1/27 第20回数理人セミナー @ 早稲田大学 シミュレーション の流れ cf. 高橋大輔著,数値計算,岩波書店,1996. 4 / 39
  6. 6. 数値解法  大規模疎行列を係数に持つ連立一次方程式  反復法 • 適当な初期近似解 から出発してそれを更新 しながら徐々に厳密解 に近づける計算法 – 多くは漸化式を用いる(後述) • 目標は・・・ – 速い(収束性) – 安い(計算コスト) – 旨い(近似解精度) ➔ 牛丼屋? 2017/1/27 第20回数理人セミナー @ 早稲田大学 5 / 39
  7. 7. (非定常)反復法  クリロフ部分空間法 • Growing subspace • 空間条件(簡単のため )  帰納的次元縮小(Induced Dimension Reduction, IDR)法 • Shrinking subspace • 空間条件(残差) 2017/1/27 第20回数理人セミナー @ 早稲田大学 6 / 39
  8. 8. 共役勾配(Conjugate Gradient, CG)法 [’52 Hestenes and Stiefel]  係数行列が正定値対称の場合に有効 • 空間条件に加えて残差の直交条件を課す ➔ 漸化式の係数(ステップ幅)の決定 2017/1/27 第20回数理人セミナー @ 早稲田大学 探索方向 近似解 残差 7 / 39
  9. 9. 共役残差(Conjugate Residual, CR)法 [’55 Stiefel]  係数行列が(正定値)対称の場合に有効 • 空間条件に加えて残差の最小条件を課す ➔ 漸化式の係数(ステップ幅)の決定 2017/1/27 第20回数理人セミナー @ 早稲田大学 探索方向 近似解 残差 8 / 39
  10. 10. アルゴリズム 2017/1/27 第20回数理人セミナー @ 早稲田大学  CG法 CR法  9 / 39
  11. 11. クリロフ部分空間法  短い漸化式を用いる算法 • CG[’52 Hestenes and Stiefel] • Bi-CG[’76 Fletcher]  対称化された以下の方程式に前処理付きCG, CR法を形式的に 適用することでBi-CG, Bi-CR法が導出される – 前処理行列 , :単位行列 – これは,2つの方程式 を同時に解くイメージ 2017/1/27 第20回数理人セミナー @ 早稲田大学 • CR[’55 Stiefel] • Bi-CR[’09 Sogabe et al.] <--- 対称向け ---> <-- 非対称向け --> 10 / 39
  12. 12. アルゴリズム 2017/1/27 第20回数理人セミナー @ 早稲田大学  Bi-CG法 B-CR法  11 / 39
  13. 13. クリロフ部分空間法  短い漸化式を用いる算法 • CG[’52 Hestenes and Stiefel] • Bi-CG[’76 Fletcher] • Hybrid Bi-CG – CGS [’89 Sonneveld] – Bi-CGSTAB[’92 van der Vorst] – Bi-CGStab2[’93 Gutknecht] – Bi-CGstab(ℓ) [’93 Sleijpen and Fokkema] – GCGS[’96 Fokkema et al.] – GPBi-CG[’97 Zhang] • QMR[’91 Freund and Nachtigal] – TFQMR[’93 Freund] – QMRCGSTAB [’94 Chan et al.]  長い漸化式の算法と restart / truncated 版は割愛 2017/1/27 第20回数理人セミナー @ 早稲田大学 • CR[’55 Stiefel] • Bi-CR[’09 Sogabe et al.] • Hybrid Bi-CR[’10 Abe and Sleijpen] – CRS – Bi-CRSTAB – Bi-CRstab(2) – GPBi-CR • IDR[’89 Wesseling and Sonneveld] – IDR(s) [’08 Sonneveld and van Gijzen] – GBi-CGSTAB(s, ℓ) [’10 Tanio and Sugihara] – IDRstab [’10 Sleijpen and van Gijzen] <--- 対称向け ---> <-- 非対称向け --> and many variants … 12 / 39
  14. 14. 発表の流れ  はじめに • 連立一次方程式とクリロフ部分空間法  丸め誤差について • 収束速度と近似解精度  収束性の改善 • 誤差解析と漸化式の修正  数値実験  まとめ 2017/1/27 第20回数理人セミナー @ 早稲田大学 13 / 39
  15. 15. 丸め誤差について  倍精度浮動小数点数 • 符号部 1bit,指数部 11bit,仮数部 52bitで表現 • (0.1)10 = (0.000110011 ・・・ )2 ➔ + 1.10011001 ・・・ 11010 × 2−4  仮数部は52bitに丸める  指数部はバイアスを加えて −4 + 1023 = 1019 = (01111111011)2  計算精度 • を実数, を倍精度浮動小数点数とすると  : 相対精度(unit round off:倍精度では ) 2017/1/27 第20回数理人セミナー @ 早稲田大学 s e1 e2 ・・・ e11 d1 d2 ・・・ ・・・ ・・・ ・・・ ・・・ d52 14 / 39
  16. 16. 理想的な反復法(丸め誤差の観点から)  収束速度 • 丸め誤差の影響により残差が減少する速さは低下する • ひどいときは残差が停滞 or 発散して収束しない ➔ 残差の(理論的な)減少の速さを維持できる解法が望ましい  近似解精度 2017/1/27 第20回数理人セミナー @ 早稲田大学 15 / 39
  17. 17. 数値例1  Cyclic行列に対するBi-CG法の収束性 2017/1/27 第20回数理人セミナー @ 早稲田大学 0 50 100 150 -12 -10 -8 -6 -4 -2 0 2 4 6 反復回数 k 相対残差2ノルム(対数) 擬似8倍精度 倍精度 0 50 100 150 -12 -10 -8 -6 -4 -2 0 2 4 6 反復回数 k 相対残差2ノルム(対数) 擬似8倍精度 倍精度 0 500 1000 1500 -12 -8 -4 0 4 8 12 16 20 24 反復回数 k 相対残差2ノルム(対数) 擬似8倍精度 倍精度 0 500 1000 1500 -12 -8 -4 0 4 8 12 16 20 24 反復回数 k 相対残差2ノルム(対数) 擬似8倍精度 倍精度 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 固有値 16 / 39 固有値分布 成分:乱数
  18. 18. 理想的な反復法(丸め誤差の観点から)  収束速度 • 丸め誤差の影響により残差が減少する速さは低下する • ひどいときは残差が停滞 or 発散して収束しない ➔ 残差の(理論的な)減少の速さを維持できる解法が望ましい  近似解精度 • 誤差 ⇔ 残差 「真」 ⇔ 漸化式から求まる残差 (条件数) (Residual gap) ➔ 要求精度をきちんと満たす解法が望ましい 2017/1/27 第20回数理人セミナー @ 早稲田大学 17 / 39
  19. 19. Residual gapとは?  一般的な収束判定 • 漸化式から求まる残差 が以下を満たすとき終了する  反復が終了したとき真の残差 は以下を満たすか? • 無限精度ならYes,丸め誤差のある世界ではNo!  Residual gap( )を小さくすることが大事 真の残差 漸化式から求まる残差 2017/1/27 第20回数理人セミナー @ 早稲田大学 18 / 39
  20. 20. 数値例2  行列af23560に対するBi-CR法の収束性 • 収束判定: 2017/1/27 第20回数理人セミナー @ 早稲田大学 0 1000 2000 3000 4000 5000 -10 -8 -6 -4 -2 0 2 4 6 反復回数 k 相対残差2ノルム(対数) ||r k || 2 ||b-Ax k || 2 0 1000 2000 3000 4000 5000 -10 -8 -6 -4 -2 0 2 4 6 反復回数 k 相対残差2ノルム(対数) ||r k || 2 ||b-Ax k || 2 19 / 39
  21. 21. 収束性を改善するには? • 多倍長計算の利用 – 収束速度,residual gapともに改善される ➔ コストは大きい – 経験的に部分的な利用(混合精度演算)では改善は難しい – 多倍長演算は解析の際に有効活用できる • リスタート手法 – 丸め誤差を排除できる ➔ 反復回数(計算コスト)は増加 • 真の残差を計算 – Residual gapを改善できる ➔ 収束速度の低下 • ベクトル更新のグループ化 – 丸め誤差の影響を抑制するよう漸化式を修正 – 低コストで収束速度を維持しつつresidual gapを改善 2017/1/27 第20回数理人セミナー @ 早稲田大学 20 / 39
  22. 22. 発表の流れ  はじめに • 連立一次方程式とクリロフ部分空間法  丸め誤差について • 収束速度と近似解精度  収束性の改善 • 誤差解析と漸化式の修正  数値実験  まとめ 2017/1/27 第20回数理人セミナー @ 早稲田大学 21 / 39
  23. 23.  浮動小数点演算による行列ベクトル積 • : 浮動小数点演算の結果 • : 一行あたりの最大非零要素数 • : 相対精度(unit round off:倍精度では ) • に対して  以降の誤差解析は文献[1]に倣う.また,行列ベクトル積以外の演算 における丸め誤差の影響は無視する [1] G.L.G. Sleijpen and H.A. van der Vorst, Reliable updated residuals in hybrid Bi-CG methods, Computing, 56 (1996), 141--163. 準備 2017/1/27 第20回数理人セミナー @ 早稲田大学 22 / 39
  24. 24. 丸め誤差の影響(1/2)  近似解と残差を更新する漸化式  行列ベクトル積 • 局所的な誤差の上限 • ただし, であり, の項は無視する  のとき, は相対的に大きな誤差を含む  残差ノルムの急激な減少による大幅な桁落ち ➔ 収束速度の低下 2017/1/27 第20回数理人セミナー @ 早稲田大学 23 / 39
  25. 25. 丸め誤差の影響(2/2)  近似解と残差を更新する漸化式  Residual gapの上限  残差ノルムの振動により となるような中間残差 があると,上限は相対的に大きくなり得る ➔ 近似解精度の劣化 相対的に大きな局所誤差の蓄積を避け,さらにresidual gap を小さくするためには,残差ノルムが滑らかに減少すること が理想的である 2017/1/27 第20回数理人セミナー @ 早稲田大学 24 / 39
  26. 26. 4パターンの振動と収束性 第20回数理人セミナー @ 早稲田大学2017/1/27 25 / 39  理想的   最悪 
  27. 27. 残差更新のグループ化 cf. [’94 Neumaier, ’96 Sleijpen and van der Vorst]  近似解と残差の漸化式 • 単調増加数列 を選び, のとき, 近似解と残差を以下で置き換える(再計算する) ただし, 2017/1/27 第20回数理人セミナー @ 早稲田大学 元の列 置き換え 26 / 39
  28. 28. 数列 の選択  理想的な収束振る舞い ① 大きな中間残差ノルムを回避 ➔ Residual gapの抑制 ② 残差ノルムの大きな振動(減少)を回避 ➔ 局所誤差の抑制 ① 新しい残差列 が「滑らか」 になるよう選ぶ 注) 残差の再計算には余分な 行列ベクトル積が必要 • 実際にはパラメータを用いて適当な条件を満たした場合のみ 再計算する様々な手法が開発されている 2017/1/27 第20回数理人セミナー @ 早稲田大学 27 / 39
  29. 29. 数列 の選択  理想的な収束振る舞い ① 大きな中間残差ノルムを回避 ➔ Residual gapの抑制 ② 残差ノルムの大きな振動(減少)を回避 ➔ 局所誤差の抑制 ② 大きな振動があれば局所的に 残差のみ再計算 注) 残差の再計算には余分な 行列ベクトル積が必要 • 実際にはパラメータを用いて適当な条件を満たした場合のみ 再計算する様々な手法が開発されている 2017/1/27 第20回数理人セミナー @ 早稲田大学 ➟ 28 / 39
  30. 30. 以上の考え方はCR法(Bi-CR法)など漸化式 の形式が異なる場合にも適用できる [2] Kensuke Aihara, Variants of the groupwise update strategy for short-recurrence Krylov subspace methods, Numer. Algorithms, 2016, doi:10.1007/s11075-016-0183-y. 29 / 39
  31. 31. 対象とする漸化式  Bi-CG系統  行列ベクトル積を行う箇所が異なれば,丸め誤差の影響も 異なるはず 2017/1/27 第20回数理人セミナー @ 早稲田大学  Bi-CR系統 探索方向 近似解 残差 30 / 39
  32. 32. 漸化式による違い  Bi-CG[’96 Sleijpen and van der Vorst] • 行列ベクトル積による局所誤差 • Residual gap  Bi-CR [2016 Aihara] • 行列ベクトル積による局所誤差 • Residual gap ➔ 補助ベクトルの振動を回避するようにグループ化! 2017/1/27 第20回数理人セミナー @ 早稲田大学 31 / 39
  33. 33. 発表の流れ  はじめに • 連立一次方程式とクリロフ部分空間法  丸め誤差について • 収束速度と近似解精度  収束性の改善 • 誤差解析と漸化式の修正  数値実験  まとめ 2017/1/27 第20回数理人セミナー @ 早稲田大学 32 / 39
  34. 34. 計算条件  実験環境 • GNU C++ 4.8.2 compiler • Intel Xeon CPU E5-1620 v2 • 32 GB RAM  初期値 •  収束判定条件 • ➔ 従来のBi-CR法とベクトル更新のグループ化を適用したBi-CR法 の収束性を比較 2017/1/27 第20回数理人セミナー @ 早稲田大学 33 / 39
  35. 35. 数値実験1  テスト行列 • af23560 (from University of Florida Sparse Matrix Collection) • 構造: 実非対称 • 行列サイズ n = 23560 • 非零要素数 460598 • 行あたりの最大非零要素数 21 • 条件数 2.0e+04 • 応用分野: 流体力学  右辺項 • 正規化された乱数ベクトル 2017/1/27 第20回数理人セミナー @ 早稲田大学 非零要素分布 34 / 39
  36. 36. 0 1000 2000 3000 4000 5000 -10 -8 -6 -4 -2 1 2 4 6 反復回数 k 相対残差2ノルム(対数) ||r k || 2 ||b-Ax k || 2 従来のBi-CR法の収束履歴  収束判定 2017/1/27 第20回数理人セミナー @ 早稲田大学 35 / 39
  37. 37. 0 1000 2000 3000 4000 5000 -10 -8 -6 -4 -2 1 2 4 6 反復回数 k 相対残差2ノルム(対数) ||r k || 2 ||b-Ax k || 2 提案法(グループ化を行った場合)の収束履歴  収束判定 2017/1/27 第20回数理人セミナー @ 早稲田大学 36 / 39
  38. 38. 数値実験2  境界値問題 [’92 Joubert] • 離散化: 中心差分近似(5点公式) • 刻み幅 h=1/129 • 行列サイズ n = 16384 • 非零要素数 81408 • パラメータ Dh = 1/4  右辺項は厳密解が となるように設定 2017/1/27 第20回数理人セミナー @ 早稲田大学 37 / 39
  39. 39. 残差ノルムの収束履歴 † 従来法は n 反復で収束しない 解法 反復回数 Add. MVs 従来 † - 5.3e-07 提案 4282 175 7.4e-11 2017/1/27 第20回数理人セミナー @ 早稲田大学 0 2000 4000 6000 8000 10000 -10 -8 -6 -4 -2 1 2 4 反復回数 k 相対残差2ノルム(対数) 従来 提案 従来 提案 38 / 39
  40. 40. まとめ  短い漸化式を用いるクリロフ部分空間法における丸め誤差 の影響について議論した • 残差ノルムの振動は収束速度や近似解精度に大きく影響 • 丸め誤差の蓄積・拡大を回避するには滑らかな減少が重要 ➔ 残差更新のグループ化について紹介  今後の展望 • 残差ノルムの振る舞いを滑らかにするスムージングの数値的 に安定な実装法を検討中 with Mr. Komeyama and Prof. Ishiwata – 残差ノルムが単調減少 – 実装がとても簡単 – パラメータなどの設定は不要 – 余分な計算コストはほぼかからない 2017/1/27 第20回数理人セミナー @ 早稲田大学 39 / 39

×