24
1 行行行行行行行行行行行行行行行行行行行行行行行行行行行行行行 行行行行 行行行行 行行行行行行行 行行行行 行行行行行行行行行行行行

行列の対角優位並び換えによる反復法の収束性評価およびその指標について

Embed Size (px)

DESCRIPTION

行列の対角優位並び換えによる反復法の収束性評価およびその指標について. 土持秀之 九州大学大学院 藤野清次 九州大学情報基盤センター. 発表の手順. 研究の背景と目的 反復法の収束性と行列の要素の並び換え 対角優位並び換え ( Diagonal Dominant Permutation ) MC64(Duff, Koster 1999, 2001) の概要 対角優位化の指標 数値実験 まとめと今後の課題. 研究の背景と目的. 背景 行列要素の並換手法として, n/o(natural ordering), RCM - PowerPoint PPT Presentation

Citation preview

1

行列の対角優位並び換えによる反復法の収束性評価およびその指標について

土持秀之 九州大学大学院藤野清次 九州大学情報基盤センター

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

と左右から掛ける

8

元の行列 Aと変換行列の例

213

642

83

91

675

A =

3

536

71

9

71

8

17

67

17

95

1

Dr =

Dc =

1

1

1

1

1

P =

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により,対角要素をすべて非零要素に換え,反復計算を行う

12

行列 LHR01に対するMC64の適用

-0.60 +0.93 -1.0 +1.0

元の行列 MC64後の行列

13

行列WEST2021に対するMC64の適用

-1.0 +1.0-35136 +2050

元の行列 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 と良く適合する前処理や反復法の調査

24

参考文献• Duff, I. S., Koster, J., SIAM J. Matrix Anal.

Appl. Vol. 20, pp. 889-901, 1999.

• Duff, I. S., Koster, J., SIAM J. Matrix Anal. Appl. Vol. 22, pp. 973-996, 2001.

• MC64 の技術マニュアル (Ver. 1.3.0), 2005.