Upload
zephr-fry
View
80
Download
0
Embed Size (px)
DESCRIPTION
行列の対角優位並び換えによる反復法の収束性評価およびその指標について. 土持秀之 九州大学大学院 藤野清次 九州大学情報基盤センター. 発表の手順. 研究の背景と目的 反復法の収束性と行列の要素の並び換え 対角優位並び換え ( Diagonal Dominant Permutation ) MC64(Duff, Koster 1999, 2001) の概要 対角優位化の指標 数値実験 まとめと今後の課題. 研究の背景と目的. 背景 行列要素の並換手法として, n/o(natural ordering), RCM - PowerPoint PPT Presentation
Citation preview
2
発表の手順
• 研究の背景と目的• 反復法の収束性と行列の要素の並び換え
– 対角優位並び換え (Diagonal Dominant Permutation)– MC64(Duff, Koster 1999, 2001) の概要– 対角優位化の指標
• 数値実験• まとめと今後の課題
3
研究の背景と目的• 背景
– 行列要素の並換手法として, n/o(natural ordering), RCM
(Reverse Cuthill-McKee), MD(Minimam Degree) などがある– 近年, Duff(1999, 2001) らにより対角優位を図った並び換え 手法が提案 (MC64 と呼ばれる ) された– Duff らの協力により, MC64 の効果を評価する機会を得る
• 目的– MC64 により,どのような行列が反復法の効果があるかを見
極める– さらに,行列の要素の情報だけで,静的に,効果を予測する
指標についての考察を試みる
4
並び換え手法の例 (RCMとDDP)
行列 MCCA(Florida) RCMオーダリング
MC64
対角優位並び換え (Diagonal Dominant Permutation)(Diagonal Dominant Permutation)と呼ぶ
-1.5e+19
RCMでは並び換えのみMC64では,対角要素が絶対値の大きい値 (+1, -1)になるように並び換える
+1.0-1.0
+9.3e+18 -1.5e+19 +9.3e+18
5
対角優位並び換え手法 (一般的 )
• すべての列において,対角要素の絶対値 と非対角要素の絶対値 の最大値との比
を大きくする並び換え手法• 具体的には,元の行列 Aから,並び換え行列 P が生成され,右から AP のように掛ける
a jj
aij
aa
ijji
jj
max
otherwise
jiji
pap
ij
jiij
,0
0|)','(),(,1''
6
並び換え行列 P について
• いろいろな並び換え行列–対角要素をすべて非零要素にする並び換え行列
Pの中で,最小の対角要素が最大となる並び換え行列 Pmax1 を選択
–対角要素の絶対値の和を最大にする並び換え行列 Pmax2 を選択
• MC64の並び換え行列–対角要素の絶対値の積を最大にする並び換え行列 Pmax3 を選択
7
MC64の概要
• 対角要素の絶対値の積を最大にする• 元の行列 A に対して,並び換え行列 P の
他に,行と列に対するスケーリング行列 Dr
,Dc が
考案され,Dr A DcP
と左右から掛ける
9
変換後の対角優位性
213
642
83
91
675
A =
112
5
21
590
711
17
311
14
31
Dr A DcP =
ave.=0.70 ave.=1.07
||max
||
aa
ijji
jj
の平均値ave. =
10
変換後の行列の特徴• 対角要素の絶対値がすべて 1に,非対角要素の絶対値がすべて 1以下になる
• すべての列において,対角要素の絶対値と最大の非対角要素の絶対値との比が 1以上になる
1,1 aa ijjj
1max
aa
ijji
jj
11
対角要素に零要素を含む行列に対するMC64の適用
• 前処理つき反復法では,対角要素に零要素があると反復計算が途中で終了し,解を得ることができない
行列 LHR01の非零要素パターン
行列WEST2021の非零要素パターン
対角要素に零要素がある行列の例
• MC64により,対角要素をすべて非零要素に換え,反復計算を行う
14
計算機環境と反復法• 計算機環境
– 計算機 : IBM eServer p5 モデル 595– CPU : POWER5(1.9GHz)– 主記憶 : 2TBytes– OS : IBM AIX 5L– コンパイラ : IBM XL Fortran version 9.1
• 前処理– ILU(0) 分解:閾値不要– ILUC(Crout ILU) 分解:閾値あり
• 反復法– すべて BiCGSafe 法
15
計算条件とテスト行列• 計算条件
– 最大反復回数 :15000 回– 収束判定条件 : 相対残差ベクトル r 2 ノルム ||rm||2/||r0||2 10≦ -7
– 右辺項ベクトル bは,以下のように作成 Ax=b, x=(1,2,…,n)T (n: 次元数, T: 行列の転
置 )
• テスト行列の出典– Matrix Market, Florida Matrix Collection
16
対角要素に零要素がある行列
• 前処理– ILU(0) 分解:閾値不要– ILUC(tol) 分解:閾値あり
行列 次元数 非零要素数 対角零 解析分野
LHR01 1,477 18,427 1,452 化学工学
WEST2021
2,021 7,310 2,016 化学工学
BAYER09 3,083 11,767 3,079化学シミュレーション
HCIRCUIT105,67
6513,072 48
回路シミュレーション
17
対角要素に零要素がある行列に対するMC64の効果
行列 優位化 前処理 閾値 反復回数
並換時間
前処理時間
反復時間
合計時間
LHR01 無し ILUC all break - - - -
あり ILUC0.0
1 5 0.01 0.02
0.01
0.04
WEST2021
無し ILUC all break - - - -
あり ILUC0.0
1 3 0.01 0.04
0.00
0.05
HCIRCUIT
無し ILU(0)
無 break - - - -
あり ILU(0)
無 97 0.30 0.11 2.1
1 2.5
2
BAYER09
無し ILU(0)
無 break - - - -
あり ILU(0)
無 17 0.02 0.01 0.0
1 0.0
4
時間の単位はすべて秒
18
対角要素に零要素が無い行列に対するMC64の適用
前処理はすべてILU(0)分解
行列 優位化 反復回数
並換時間
前処理時間
反復時間
合計時間
K3PLATES
無し 4871
0.00 0.13 27.5
0 27.6
3
あり 3011
0.12 0.12 17.0
8 17.3
2
BCIRCUIT
無し 907 0.00 0.10 13.8
8 13.9
8
あり 296 0.19 0.09 4.53 4.81
SME3DA 無し 527 0.00 0.72 8.28 9.00
あり 598 0.25 0.72 9.48 10.4
5
ZHAO1 無し 10 0.00 0.03 0.07 0.10
あり 10 0.09 0.04 0.06 0.19
• MC64を適用しても,収束性にばらつきがある
19
対角優位性と収束性向上の関係
• 上の関係を明らかにするため,対角要素の絶対値 と非対角要素の絶対値 の最大値との比
を j 列の優位率と呼ぶ• 元の行列と並び換えた後の行列に対するすべての列の優位率の平均値を計算した
a jj
aij
aa
ijji
jj
max
20
優位率の検証のための行列
• 前処理– ILU(0)分解のみ:閾値不要
行列 次元数 非零要素数 対角零 解析分野K3PLATES
11,107
378,927 0 構造解析
BCIRCUIT
68,902
375,558 0回路シミュレーション
SME3DA12,50
4874,887 0 構造解析
ZHAO133,86
1166,453 0 電磁気学
21
優位率の検証
• 優位率の平均が増加した場合のみ収束性向上と相関がある 前処理はすべて
ILU(0)分解
行列 優位化 優位率の平均
反復回数
並換時間
前処理時間
反復時間
合計時間
K3PLATES
無し 1.27 487
10.00 0.13
27.50
27.63
あり 1.65 301
10.12 0.12
17.08
17.32
BCIRCUIT
無し 25.35 907 0.00 0.10 13.88
13.98
あり 25.35 296 0.19 0.09 4.5
3 4.8
1
SME3DA 無し 3.10 527 0.00 0.72 8.2
8 9.0
0
あり 3.10 598 0.25 0.72 9.4
8 10.45
ZHAO1 無し 10.81 10 0.00 0.03 0.0
7 0.1
0
あり 3.30 10 0.09 0.04 0.0
6 0.1
9
22
ILUC(tol) 分解のときの MC64 の閾値依存性
• 閾値を用いる ILUC(tol)分解の場合,閾値によって MC64 の評価が定め難い
K3PLATES
0
2000
4000
6000
8000
10000
12000
14000
16000
tolerance
Iter
atio
ns
Original MC64
SME3DA
0
2000
4000
6000
8000
10000
12000
14000
16000
tolerance
Iter
atio
ns
Original MC64
BCIRCUIT
0
100
200
300
400
500
600
tolerance
Iter
atio
ns
Original MC64
例 1 例 2
例 3
23
まとめと今後の課題
• 対角要素に零要素を持つ行列でも, MC64 による対角優位化により, BiCGSafe 法が収束するようになる
• 対角優位性と収束性向上の関係を調べた すなわち,各行列の優位率を計算し,優位率
が増加した場合のみ収束性が向上する
• MC64 と良く適合する前処理や反復法の調査