Microsoft PowerPoint - omp-f-01.ppt [互換モード]

Size: px
Start display at page:

Download "Microsoft PowerPoint - omp-f-01.ppt [互換モード]"

Transcription

1 科学技術計算のための マルチコアプログラミング入門 Fortr 編第 Ⅰ 部 : 概要 対象アプリケーション OpeMP 中島研吾 東京大学情報基盤センター

2 OMP- 本編の背景 マイクロプロセッサのマルチコア化 メニーコア化 低消費電力 様々なプログラミングモデル OpeMP 指示行 ディレクティヴ を挿入するだけで手軽に 並列化 ができるため 広く使用されている 様々な解説書 データ依存性 t epeecy メモリへの書き込みと参照が同時に発生 並列化を実施するには 適切なデータの並べ替えを施す必要がある このような対策はOpeMP 向けの解説書でも詳しく取り上げられることは余りない : とても面倒くさい Hybr 並列プログラミングモデル

3 OMP- 3 Ft MPI vs. Hybr Ft-MPI:Ech PE -> Iepeet core core core memory core core memory core core memory core core core core core Hybr:Herrch Structure memory core core core core memory core core core core memory core core core core

4 4 We re ow Post-Pet-Sce Er GFLOPS PF PF TF PFLOPS: Pet = 5 Fotg OPertos per Sec. E-FLOPS = 8 w be tte -

5 5 Key-Issues towrs App./Agorthms o E-Sce Systems Jc Dogrr ORNL/U. Teessee t SIAM/PP Hybr/Heterogeeous Archtecture Mutcore + GPU Mutcore + Mycore more teget Me Precso Computto Auto-Tug/Sef-Aptg Fut Toert Commucto Reucg Agorthms

6 Heterogeeous Archtecture by 6 CPU+GPU or CPU+Mycore w be geer ess th 5 yers NVIDIA Ferm Ite MIC

7 7 CPU+Acceertor/Co-Processor GPU Mycore 高いメモリーバンド幅 GPU プログラミング環境 :CUDAOpeCL 一部のアプリケーションでは高効率 : 陽的 FDMBEM メニーコア Mycores Ite My Itegrte Core Archtecture MIC GPU より賢い : 軽い OS コンパイラが使える Ite eo Ph

8 8 Hybr 並列プログラミングモデルは必須 Messge Pssg MPI Mut Threg OpeMP CUDA OpeCL OpeACC 京 でも Hybr 並列プログラミングモデルが推奨されている 但し MPI+ 自動並列化 ノード内

9 OMP- 9 本編の目的 有限体積法から導かれる疎行列を対象としたICCG 法 を題材とした データ配置 reorergなど 科学技術計算のためのマルチコアプログラミングにおいて重要なアルゴリズムについての講習 更に理解を深めるための Fを利用した実習 単一のアプリケーションに特化した内容であるが 基本的な考え方は様々な分野に適用可能である 実はこの方法は意外に効果的である

10 OMP- 本編の目的 続き 単一のアプリケーションに特化した内容であるが 基本的な考え方は様々な分野に適用可能である 実はこの方法は意外に効果的である いわゆる 並列化講習会 とはだいぶ趣が異なる SMASH: Scece 無き科学技術計算はあり得ない! Scece Moeg Agorthm Softwre Hrwre

11 OMP- ファイルの用意 o your PC コピー 展開 >$ c <$CUR> >$ tr vf mutcore-c.tr >$ tr vf mutcore-f.tr >$ c mutcore 以下のディレクトリが出来ていることを確認 L L これらを以降 <$P-L><$P-L> Your PC F

12 OMP- 可視化には PrVew を使用 フリーソフトウェア Wows 版 Mc 版がある UNI 版もあり

13 OMP- 3 資料は Web 上にもあります

14 OMP- 4 背景 有限体積法 前処理付反復法 ICCG 法によるポアソン方程式法ソルバーについて 実行方法 データ構造 プログラムの説明 OpeMP 初期化 係数マトリクス生成 ICCG 法

15 OMP- 5 本編の目的より 有限体積法から導かれる疎行列を対象とした ICCG 法 を題材とした データ配置 reorerg など 科学技術計算のためのマルチコアプログラミングにおいて重要なアルゴリズムについての講習 有限体積法 疎行列 ICCG 法

16 OMP- 6 対象とするアプリケーションの概要 支配方程式 : 三次元ポアソン方程式 f y z 有限体積法 Fte Voume MethoFVM による空間離散化 任意形状の要素 要素中心で変数を定義 直接差分法 Drect Fte Dfferece Metho とも呼ばれる 境界条件 ディリクレ 体積フラックス 反復法による連立一次方程式解法 共役勾配法 CG+ 前処理

17 OMP- 7 解いている問題 : 三次元ポアソン方程式 変数 : 要素中心で定義 ポアソン方程式 y z f = t Z=Z m 境界条件 各要素で体積フラックス Z=Z m 面で= z y 各要素の体積フラックス = fot+j+ 要素体積 j=yzce3

18 OMP- 8 対象 : 規則正しい三次元差分格子半非構造的に扱う NZ Z z y N NY Y

19 OMP- 9 体積フラックス f の内容 f fot j y f z j YZ ce YZ ce YZ ce 3 YZce =3 は YZ 方向の差分格子のインデックス各メッシュが YZ 方向の何番目にあるかを示している NZ Z z y N NY Y

20 OMP- 有限体積法 Fte Voume Metho FVM 面を通過するフラックスの保存に着目 隣接要素との拡散 b S V Q 体積フラックス S e S b b c b V : 要素体積 S : 表面面積 j : 要素中心から表面までの距離 Q : 体積フラックス S c c c

21 OMP- 一次元ポアソン方程式 : 中央差分 / / Q - +

22 OMP- 有限体積法 Fte Voume Metho FVM 面を通過するフラックスの保存に着目 隣接要素との拡散 b S V Q 体積フラックス S e S b b c b V : 要素体積 S : 表面面積 j : 要素中心から表面までの距離 Q : 体積フラックス S c c c

23 OMP- 3 一次元差分法との比較 /3 h S b b S b b 一辺の長さhの正方形メッシュ接触面積 : S = h 要素体積 : V = h 接触面までの距離 : j =h/ 厚さ : この面を通過するフラックス :Qs b Qs b b b b S b フーリエの法則面を通過するフラックス = ー ポテンシャル勾配

24 OMP- 4 一次元差分法との比較 /3 h S b b S b b 一辺の長さhの正方形メッシュ接触面積 : S = h 要素体積 : V = h 接触面までの距離 : j =h/ 厚さ : S V Q 両辺を V で割る : この部分に注目すると V S Q

25 OMP- 5 一次元差分法との比較 3/3 h h h b b S S b b b b b h h h h S V h b b b h h h h h h h h 一辺の長さ h の正方形メッシュ接触面積 : S = h 要素体積 : V = h 接触面までの距離 : j =h/ 厚さ : 要素 について成立連立一次方程式

26 OMP- 6 三次元では NEIBcece NEIBcece NEIBcece3 NEIBcece5 NEIBcece4 NEIBcece6 NEIBcece NEIBcece NEIBcece3 NEIBcece5 NEIBcece4 NEIBcece6 y z y z z y f y z y z z y z y z y z y ce ce ce eb ce ce eb ce ce eb ce ce eb ce ce eb ce ce eb

27 OMP- 7 整理すると : 連立一次方程式 ce ce ce ce V f S z y f y z y z z y z y z y z y ce ce ce eb ce ce eb ce ce eb ce ce eb ce ce eb ce ce eb f A 対角項非対角項 N ce V f S S ce ce ce ce ce ce

28 8 有限要素法の係数マトリクスゼロが多い : 疎行列 } { } ]{ [ F F F F F F F F F F F F F F F F D D D D D D D D D D D D D D D D F K

29 OMP- 9 FVM の係数行列も疎行列面を通過するフラックスの保存に着目周囲の要素とのみ関係がある 隣接要素との拡散 b S V Q 体積フラックス S e S b b c b V : 要素体積 S : 表面面積 j : 要素中心から表面までの距離 Q : 体積フラックス S c c c

30 D-Prt 3 疎行列 : が多い Aj のように正方行列の全成分を記憶することは疎行列では非効率的 密 行列向け F F F F F F F F F F F F F F F F D D D D D D D D D D D D D D D D 有限体積法 : 非零非対角成分の数は高々 数百 規模 例えば未知数が 8 個あるとすると記憶容量 ワード数 は 正方行列 :O 6 非零非対角成分数 :O 非零成分のみ記憶するのが効率的

31 D-Prt 3 行列ベクトル積への適用 非零 非対角成分のみを格納 疎行列向け方法 Compresse Row Storge CRS Dg 対角成分 実数 =N Ie 非対角成分数に関する一次元配列 通し番号 整数 =N Item 非対角成分の要素 列 番号 整数 = en AMt 非対角成分 実数 = en {Y}= [A]{} o = N Y= Dg* o = Ie-+ Ie Y= Y + Amt*Item eo eo F F F F F F F F F F F F F F F F D D D D D D D D D D D D D D D D

32 行列ベクトル積への適用 非零 非対角成分のみを格納 疎行列向け方法 Compresse Row Storge CRS 3 {Q}=[A]{P} for=;<n;++{ W[Q][] = Dg[] * W[P][]; for=ie[];<ie[+];++{ W[Q][] += AMt[]*W[P][Item[]]; } } D-Prt

33 D-Prt 33 行列ベクトル積 : 密行列 とても簡単 N N N N N N N N N N N N N N N N N N N N y y y y {Y}= [A]{} o j= N Yj=. o = N Yj= Yj + Aj* eo eo

34 TK-FVM- 34 Compresse Row Storge CRS

35 TK-FVM- 35 Compresse Row Storge CRS NODE_tot= 8 対角成分 D=. D= 3.6 D3= 5.7 D4= 9.8 D5=.5 D6=.4 D7= 3. D8= 5.3

36 TK-FVM- 36 Compresse Row Storge CRS

37 TK-FVM- 37 Compresse Row Storge CRS 非対角 e= 成分数 e= 4 e= 6 e3= 8 3 e4= 4 e5= 5 e6= 7 4 e7= 4 e8= 5 e-+~e 番目が 行目の非対角成分 NPLU= 5 =en

38 TK-FVM- 38 Compresse Row Storge CRS 非対角 e= 成分数.4 3. e= 5 4 e= 6 e3= e4= e5= e6= e7= e8= e-+~e 番目が 行目の非対角成分 NPLU= 5 =en

39 TK-FVM- 39 Compresse Row Storge CRS 例 : tem 7= 5 AMAT 7=.5 tem9= 3 AMAT9=.5

40 TK-FVM- 4 Compresse Row Storge CRS D 対角成分 実数 =N e 非対角成分数に関する一次元配列 通し番号 整数 =N tem 非対角成分の要素 列 番号 整数 = en AMAT 非対角成分 実数 = en {Y}= [A]{} o = N Y= D* o = e-+ e Y= Y + AMAT*tem eo eo

41 4 疎行列 : 非零成分のみ記憶 メモリへの負担大 memory-bou: 間接参照 差分 FEMFVM {Y}= [A]{} o = N Y= D* o = e-+ e = tem Y= Y + AMAT* eo eo

42 4 行列ベクトル積 : 密行列 とても簡単メモリへの負担も小さい N N N N N N N N N N N N N N N N N N N N y y y y {Y}= [A]{} o j= N Yj=. o = N Yj= Yj + Aj* eo eo

43 OMP- 43 背景 有限体積法 前処理付反復法 ICCG 法によるポアソン方程式法ソルバーについて 実行方法 データ構造 プログラムの説明 OpeMP 初期化 係数マトリクス生成 ICCG 法

44 44 科学技術計算における 大規模線形方程式の解法 多くの科学技術計算は 最終的に大規模線形方程式 A=b を解くことに帰着される mportt epesve アプリケーションに応じて様々な手法が提案されている 疎行列 sprse 密行列 ese 直接法 rect 反復法 tertve 密行列 ese グローバルな相互作用 :BEM スペクトル法 MOMD 気液 疎行列 sprse ローカルな相互作用 :FEMFDMMD 固 高速多重極展開付 BEM

45 45 直接法 Drect Metho Guss の消去法 完全 LU 分解 逆行列 A - を直接求める 利点 安定 幅広いアプリケーションに適用可能 Prt Pvotg 疎行列 密行列いずれにも適用可能 欠点 反復法よりもメモリ 計算時間を必要とする 密行列の場合 ON 3 の計算量 大規模な計算向けではない ON の記憶容量 ON 3 の計算量

46 46 反復法とは 適当な初期解 から始めて 繰り返し計算によって真の解に収束 coverge させていく A b It Souto 初期解 Ler Equtos 連立一次方程式 b b b

47 47 反復法 Itertve Metho 定常 sttory 法 反復計算中 解ベクトル以外の変数は変化せず SORGuss-SeeJcobなど A b 概して遅い M 非定常 osttory 法 拘束 最適化条件が加わる Kryov 部分空間 subspce への写像を基底として使用するため Kryov 部分空間法とも呼ばれる CGCojugte Gret: 共役勾配法 BCGSTABB-Cojugte Gret Stbze GMRESGeerze Mm Resu Nb

48 48 反復法 Itertve Metho 続き 利点 直接法と比較して メモリ使用量 計算量が少ない 並列計算には適している 欠点 収束性が アプリケーション 境界条件の影響を受けやすい 前処理 precotog が重要

49 Sover-Itertve 49 非定常反復法 : クリロフ部分空間法 / Kryov Subspce Metho A I b b A 以下の反復式を導入し... を求める : r A b A I b where A b r : 残差ベクトル resu r A r I Ar r Ar A b A r b A b r

50 Sover-Itertve 5 非定常反復法 : クリロフ部分空間法 / Kryov Subspce Metho z は 次のクリロフ部分空間 Kryov Subspce に属するベクトル 問題はクリロフ部分空間からどのようにして解の近似ベクトル を求めるかにある : r A I I r A I r z r A I r A r I r r r A r A Ar r

51 Sover-Itertve 5 代表的な非定常反復法 : 共役勾配法 Cojugte Gret 法 略して CG 法 最も代表的な 非定常 反復法 対称正定値行列 Symmetrc Postve Defte:SPD 任意のベクトル {} に対して {} T [A]{}> 全対角成分 > 全固有値 > 全部分行列式 主小行列式 首座行列式 > と同値 アルゴリズム 最急降下法 Steepest Descet Metho の変種 = - + p : 反復解 p : 探索方向 : 定数 et 厳密解を y とするとき {-y} T [A]{-y} を最小とするような {} を求める 詳細は参考文献参照 例えば : 森正武 数値解析 第 版 共立出版

52 Sover-Itertve 5 共役勾配法 CG 法 のアルゴリズム Compute r = b-[a] for = - = r - r - f = p = r ese - = - / - p = r ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - 行列ベクトル積 ベクトル内積 ベクトル定数倍の加減 DAPY : Vector : Scr

53 Sover-Itertve 53 共役勾配法 CG 法 のアルゴリズム Compute r = b-[a] for = - = r - r - f = p = r ese - = - / - p = r ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - 行列ベクトル積 ベクトル内積 ベクトル定数倍の加減 DAPY : Vector : Scr

54 Sover-Itertve 54 共役勾配法 CG 法 のアルゴリズム Compute r = b-[a] for = - = r - r - f = p = r ese - = - / - p = r ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - 行列ベクトル積 ベクトル内積 ベクトル定数倍の加減 DAPY : Vector : Scr

55 Sover-Itertve 55 共役勾配法 CG 法 のアルゴリズム Compute r = b-[a] for = - = r - r - f = p = r ese - = - / - p = r ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - 行列ベクトル積 ベクトル内積 ベクトル定数倍の加減 DAPY Doube {y}= {} + {y} : Vector : Scr

56 Sover-Itertve 56 共役勾配法 CG 法 のアルゴリズム Compute r = b-[a] for = - = r - r - f = p = r ese - = - / - p = r ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - : Vector : Scr

57 Sover-Itertve 57 CG 法アルゴリズムの導出 /5 y を厳密解 Ay=b とするとき 下式を最小にする を求める : T y A y T y A y A y A Ay y Ay A Ay y Ay A b y b 定数 従って 下記 f を最小にする を求めればよい : f A b f h f h A b h Ah 任意のベクトル h

58 58 b A f Ah h b A h f h f 任意のベクトル h Ah h b A h f Ah h b h A h b A b h b Ah h Ah A h A b h b Ah h A h b h h A h h f Sover-Itertve

59 59 CG 法アルゴリズムの導出 /5 p Sover-Itertve CG 法は任意の から始めて f の最小値を逐次探索する 今 番目の近似値 と探索方向 p が決まったとすると : f A b p Ap p p f f + を最小にするためには : Ap p r p Ap p A b p p f A b r は第 近似に対する残差

60 Sover-Itertve 6 CG 法アルゴリズムの導出 3/5 残差 r も以下の式によって計算できる : r r Ap r r b r A A r b A A Ap 探索方向を以下の漸化式によって求める : p r p r p 3 本当のところは下記のように + 回目に厳密解 y が求まれば良いのであるが 解がわかっていない場合は困難 y p

61 6 CG 法アルゴリズムの導出 4/5 ところで 下式のような都合の良い直交関係がある : 従って以下が成立する : Ap p p Ap y Ap Ap p r p Ap r p Ap A b p p A b p A b p A Ay p y Ap Ap p r p y Ap Sover-Itertve

62 Sover-Itertve 6 CG 法アルゴリズムの導出 5/5 p Ap r p Ap r Ap p Ap r Ap p Ap 4 p Ap p と p + が行列 A に関して共役 cojugte Compute p =r = b-[a] for = cc. - = p - r = r - - [A]p - chec covergece r f ot coverge p p r p r Ap Ap Ap e cc. - p = r + - p -

63 Sover-Itertve 63 CG 法アルゴリズム 任意の j に対して以下の共役関係が得られる : j p Ap j 探索方向 p 残差ベクトル r についても以下の関係が成立する : j r r j p r r r N 次元空間で互いに直交で一次独立な残差ベクトル r は N 個しか存在しない 従って共役勾配法は未知数が N 個のときに N 回以内に収束する 実際は丸め誤差の影響がある 条件数が大きい場合 Top Agorthms the th Cetury SIAM モンテカルロ法 シンプレックス法 クリロフ部分空間法 行列分解法 最適化 Fortr コンパイラ QR 法 クイックソート FFT 整数関係アルゴリズム FMM 高速多重極法

64 64 Proof /3 Mthemtc Iucto 数学的帰納法 Sover-Itertve j Ap p j r r j j Ap p r p 3 4 Ap r r p r p r p Ap p Ap r 直交性共役性

65 65 Proof /3 Mthemtc Iucto 数学的帰納法 Sover-Itertve * s stsfe for j j where Ap p Ap p Ap p p Ap r Ap r r r r r r j Ap p j r r j j f < f = Ap p r p Ap r p r p r r p r r r p r r Ap p r r Ap p p r r Ap r r r r r * * * * Ap p r p 3 4 Ap r r p r p Ap p Ap r j または

66 Sover-Itertve Proof 3/3 Mthemtc Iucto 数学的帰納法 j r r j j p Ap j * 66 * s stsfe for f < f = j where j または j 3 p Ap r p Ap r Ap * p r p Ap r r r r r Ap 3 p r p r Ap 4 p Ap 3 p Ap r Ap p Ap 4

67 67 Sover-Itertve r p r r Ap p r r Ap p p r r Ap r r r r r r r 3 * Ap p r p 3 4 Ap r r p r p Ap p Ap r r p r r

68 68 r r r r r Ap r r r r r Ap p Ap r 実際は はもうちょっと簡単な形に変形できる : r r r p Ap p r r Ap p r p Ap p A b p Sover-Itertve

69 Sover-Itertve 69 共役勾配法 CG 法 のアルゴリズム Compute r = b-[a] for = - = r - r - f = p = r ese - = - / - p = r ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - : Vector : Scr r r r p r r r Ap

70 OMP- 7 前処理 precotog とは? 反復法の収束は係数行列の固有値分布に依存 固有値分布が少なく かつに近いほど収束が早い 単位行列 条件数 coto umber 対称正定 = 最大最小固有値比 条件数がに近いほど収束しやすい もとの係数行列 [A] に良く似た前処理行列 [M] を適用することによって固有値分布を改善する 前処理行列 [M] によって元の方程式 [A]{}={b} を [A ]{}={b } へと変換する ここで [A ]=[M] - [A] {b }=[M] - {b} である [A ]=[M] - [A] が単位行列に近ければ良いということになる [A ]=[A][M] - のように右からかけることもある 前処理 は密行列 疎行列ともに使用するが 普通は疎行列を対象にすることが多い

71 OMP- 7 前処理付共役勾配法 Precotoe Cojugte Gret Metho PCG Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - p = z ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - [M]= [M ][M ] [A ] =b [A ]=[M ] - [A][M ] - =[M ] b =[M ] - b p =>[M ]p r =>[M ] - r p = r p - [M ]p = [M ] - r [M ]p - p = [M ] - [M ] - r p - p = [M] - r p - - = [M] - r - r - / [M] - r - r - - = [M] - r - r - / p - [A]p -

72 OMP- 7 前処理付共役勾配法 Precotoe Cojugte Gret Metho PCG Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - p = z ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - 実際にやるべき計算は : z M r 近似逆行列 の計算が必要 : M A M A 究極の前処理 : 本当の逆行列 M A M A 対角スケーリング : 簡単 = 弱い M D M D

73 OMP- 73 対角スケーリング 点ヤコビ前処理 前処理行列として もとの行列の対角成分のみを取り出した行列を前処理行列 [M] とする 対角スケーリング 点ヤコビ pot-jcob 前処理 M D... D sove [M]z - = r - という場合に逆行列を簡単に求めることができる 簡単な問題では収束する D N... D N

74 OMP- 74 ILU IC 最もよく使用されている前処理 疎行列用 不完全 LU 分解 Icompete LU Fctorzto 不完全コレスキー分解 Icompete Choesy Fctorzto 対称行列 不完全な直接法 もとの行列が疎でも 逆行列は疎とは限らない f- もとの行列と同じ非ゼロパターン f- 無し を持っているのが ILUIC

75 LU 分解法 : 完全 LU 分解法 直接法の一種 逆行列を直接求める手法 逆行列 に相当するものを保存しておけるので 右辺が変わったときに計算時間を節約できる 逆行列を求める際にF- もとの行列ではであったところに値が入る が生じる LU fctorzto OMP- 75

76 不 完全 LU 分解法 ILU fctorzto Icompete LU fctorzto F- の発生を制限して 前処理に使う手法 不完全な逆行列 少し弱い直接法 F- を許さないとき :ILU OMP- 76

77 OMP- 77 LU 分解による連立一次方程式の解法 A が 行列のとき A を次式のように表すことを あるいは そのような L と U そのものを A の LU 分解という. u u u u u u u u u u LU A L:Lower trgur prt of mtr A U:Upper trgur prt of mtr A

78 OMP- 78 連立一次方程式の行列表現 元の連立一次方程式の一般形 b b b 行列表現 b b b A b b A

79 LU 分解を用いた A=b の解法 A LU となるAのLU 分解 LとUを求める. Ly b の解 yを求める. 簡単! 3 U y の解 を求める. 簡単! この が A b の解となる A LU Ly b OMP- 79

80 OMP- 8 Ly=b の解法 : 前進代入 b Ly b b b y y y b y y y b y y b y y b y y b y y b y b y 芋づる式に oe fter other 解が求まる.

81 OMP- 8 U=y の解法 : 後退代入 y U y y y u u u u u u y u u u y u u y u / / / u u y u u y u y j j 芋づる式に oe fter other 解が求まる.

82 OMP- 8 LU 分解の求め方 u u u u u u u u u u u u u u u u u u u u u u u u u u u u

83 OMP- 83 数値例 u u u u u u u u u u A 第 行 u u u u 第 列 / / / u u u u u u 第 行 u u u u u u u u u 第 列 u u u u

84 数値例 続き A u u u u u u u u u u 第 3 行 u u u u 3 4 u u u u 第 3 列 u u u u 第 4 行 第 4 列 u u u u u 行 列 行 列 の順に求める式を作っていく. OMP- 84

85 OMP- 85 数値例 続き 結局 A L U

86 OMP- 86 実例 :5 点差分

87 OMP- 87 実例 :5 点差分

88 OMP- 88 実例 : 係数マトリクス =

89 OMP- 89 実例 : 解 =

90 OMP- 9 完全 LU 分解したマトリクス もとのマトリクス LU 分解したマトリクス [L][U] 同時に表示 [L] 対角成分 = 省略 f- が生じている もともと だった成分が非ゼロになっている

91 OMP- 9 不完全 LU 分解したマトリクス f- 無し 不完全 LU 分解したマトリクス f- 無し [L][U] 同時に表示 [L] 対角成分 = 省略 完全 LU 分解したマトリクス [L][U] 同時に表示 [L] 対角成分 = 省略 f- が生じている もともと だった成分が非ゼロになっている

92 OMP- 9 解の比較 : ちょっと違う 不完全 LU 分解 完全 LU 分解

93 OMP- 93 ILU IC 前処理 F- を全く考慮しない 不完全な 分解 記憶容量 計算量削減 これを解くと 不完全な 解が得られるが 本来の解とそれほどずれているわけではない 問題に依存する

94 OMP- 94 前処理の分類 :Tre-off We Strog Pot Jcob Dgo Bocg ILU ILU ILU Guss Emto Smpe Esy to be Preze Chep Compcte Gob Depeecy Epesve

95 OMP- 95 背景 有限体積法 前処理付反復法 ICCG 法によるポアソン方程式法ソルバーについて 実行方法 データ構造 プログラムの説明 初期化 係数マトリクス生成 ICCG 法 OpeMP 超 入門

96 OMP- 96 対象とするアプリケーションの概要 支配方程式 : 三次元ポアソン方程式 有限体積法 Fte Voume MethoFVM による空間離散化 任意形状の要素 要素中心で変数を定義 直接差分法 Drect Fte Dfferece Metho とも呼ばれる 境界条件 y ディリクレ 体積フラックス 反復法による連立一次方程式解法 共役勾配法 CG+ 前処理 z f

97 OMP- 97 対象 : 規則正しい三次元差分格子半非構造的に扱う NZ Z z y N NY Y

98 OMP- 98 解いている問題 : 三次元ポアソン方程式 変数 : 要素中心で定義 ポアソン方程式 y z f = t Z=Z m 境界条件 各要素で体積フラックス Z=Z m 面で= z y 各要素の体積フラックス = fot+j+ 要素体積 j=yzce3

99 OMP- 99 有限体積法 Fte Voume Metho FVM 面を通過するフラックスの保存に着目 隣接要素との拡散 b S V Q 体積フラックス S e S b b c b V : 要素体積 S : 表面面積 j : 要素中心から表面までの距離 Q : 体積フラックス S c c c

100 OMP- プログラムの実行プログラム 必要ファイル 実行ディレクトリ :<$P-L>/ru mg メッシュジェネレータ mesh.t メッシュファイル L-so ポアソン方程式ソルバー test.p 結果ファイル PrVew 実際は mesh.t は使わない INPUT.DAT 制御ファイル

101 OMP- $> c <$P-L>/ru プログラムの実行コンパイル $> gfortr -O mg.f -o mg or cc O mg.c o mg $> s mg メッシュジェネレータ : mg mg $> c../src $> me $> s../ru/l-so L-so ポアソン方程式ソルバー : L-so gfortr が無い場合は g95 などをご利用ください Mefe も書き換える

102 OMP- プログラムの実行メッシュ生成 $> c../ru $>./mg 4 3 $> s mesh.t mesh.t 下図の NNYNZ を入力すると mesh.t が生成される NZ N NY

103 OMP mesh.t/5 re '' N NY NZ re '' ICELTOT o = ICELTOT re NEIBce = 6 YZj j= 3 eo

104 OMP mesh.t/5 NZ NY N YZ 方向の要素数 re '' N NY NZ re '' ICELTOT o = ICELTOT re NEIBce = 6 YZj j= 3 eo

105 OMP mesh.t3/5 要素数 :N NY NZ re '' N NY NZ re '' ICELTOT o = ICELTOT re NEIBce = 6 YZj j= 3 eo

106 OMP re '' N NY NZ re '' ICELTOT mesh.t4/5 隣接要素 :NEIBce o = ICELTOT re NEIBce = 6 YZj j= 3 eo z y :4 3: 項目目は通し番号です 読み飛ばし 6: 5 5:3 4:9 :6

107 OMP- 7 NEIBce: 隣接している要素番号 境界面の場合は NEIBcece6 NEIBcece4 NEIBcece NEIBcece NEIBcece3 NEIBcece5 NEIBcece= ce NEIBcece= ce + NEIBcece3= ce N NEIBcece4= ce + N NEIBcece5= ce N*NY NEIBcece6= ce + N*NY

108 OMP mesh.t5/5 YZ 方向の位置 :YZj z y re '' N NY NZ re '' ICELTOT o = ICELTOT re NEIBce = 6 YZj j= 3 eo

109 OMP- 9 NEIBce: 隣接している要素番号 境界面の場合は NEIBcece6 NEIBcece4 NEIBcece NEIBcece NEIBcece3 = YZce j= YZce = YZce3 ce= -*N*NY + j-*n + z y NEIBcece5 NEIBcece= ce NEIBcece= ce + NEIBcece3= ce N NEIBcece4= ce + N NEIBcece5= ce N*NY NEIBcece6= ce + N*NY

110 OMP- プログラムの実行制御データ <$P-L>/ru/INPUT.DAT の作成 N/NY/NZ MEHOD :.e-.e-.e- D/DY/DZ.e-8 EPSICCG N NY NZ 各方向のメッシュ数 METHOD 前処理行列の作成方法 : 次ページ D DY DZ 各要素の YZ 方向辺長さ EPSICCG ICCG 法の収束判定値 NZ N NY

111 OMP- 前処理手法の選択 N/NY/NZ MEHOD :.e-.e-.e- D/DY/DZ.e-8 EPSICCG METHOD= 不完全修正コレスキー分解 非対角項保存 METHOD= 不完全修正コレスキー分解 METHOD=3 対角スケーリング 点ヤコビ METHOD=3 について計算してみよ!

112 OMP- $> c <$P-L>/ru $>./L-so $> s test.p test.p プログラムの実行計算実行 ポスト処理

113 FEM3D-Prt 3 PrVew ファイルを開く 図の表示 イメージファイルの保存

114 4 UCD Formt /3 Ustructure Ce Dt 要素の種類点線三角形四角形四面体角錐三角柱六面体二次要素線 三角形 四角形 四面体 角錐 三角柱 六面体 キーワード pt e tr qu tet pyr prsm he e tr qu tet pyr prsm he 4

115 5 UCD Formt /3 Orgy for AVS mcroavs Eteso of the UCD fe s p There re two types of formts. Oy o type c be re by PrVew. 5

116 6 UCD Formt 3/3: O Formt 全節点数 全要素数 各節点のデータ数 各要素のデータ数 モデルのデータ数 節点番号 座標 Y 座標 Z 座標 節点番号 座標 Y 座標 Z 座標 要素番号 材料番号 要素の種類 要素を構成する節点のつながり 要素番号 材料番号 要素の種類 要素を構成する節点のつながり 要素のデータ成分数 成分 の構成数 成分 の構成数 各成分の構成数 要素データ成分 のラベル 単位 要素データ成分 のラベル 単位 各要素データ成分のラベル 単位 要素番号 要素データ 要素データ 要素番号 要素データ 要素データ 節点のデータ成分数 成分 の構成数 成分 の構成数 各成分の構成数 節点データ成分 のラベル 単位 節点データ成分 のラベル 単位 各節点データ成分のラベル 単位 節点番号 節点データ 節点データ 節点番号 節点データ 節点データ 6

117 OMP- 7 背景 有限体積法 前処理付反復法 ICCG 法によるポアソン方程式法ソルバーについて 実行方法 データ構造 プログラムの説明 OpeMP 初期化 係数マトリクス生成 ICCG 法

118 OMP- 8 プログラムの構成 progrm MAIN use STRUCT use PCG use sover_iccg use sover_iccg use sover_pcg mpct REAL*8 A-HO-Z c INPUT c POINTER_INIT c BOUNDARY_CELL c CELL_METRICS c POI_GEN PHI=. f METHOD.eq. c sove_iccg f METHOD.eq. c sove_iccg f METHOD.eq.3 c sove_pcg c OUTUCD stop e MAIN メインルーチン INPUT 制御ファイル読込 INPUT.DAT POINTER_INIT メッシュファイル読込 mesh.t BOUNDARY_CELL = を設定する要素の探索 CELL_METRICS 表面積 体積等の計算 POI_GEN 行列コネクティビティ生成 各成分の計算 境界条件 SOLVER_ICCG ICCG 法ソルバー METHOD= SOLVER_ICCG ICCG 法ソルバー METHOD= j FORM_ILU ~ j j ~ ~ ~ j SOLVER_PCG ICCG 法ソルバー METHOD=3

119 OMP- 9 moue STRUCT moue STRUCT cue 'precso.c'!c!c-- METRICs & FLU teger =t :: ICELTOT ICELTOTp N teger =t :: N NY NZ NP NYP NZP IBNODTOT teger =t :: Nc NYc NZc re =re :: & & D DY DZ AREA YAREA ZAREA RD RDY RDZ & & RD RDY RDZ RD RDY RDZ re =re meso: octbe :: & & VOLCEL VOLNOD RVC RVN teger =t meso:: octbe :: & & YZ NEIBce ICELTOT: 要素数 N NY NZ N: 節点数 NNYNZ: yz 方向要素数 NPNYPNZP: yz 方向節点数 IBNODTOT: NP NYP YZICELTOT3: 要素座標 NEIBceICELTOT6: 隣接要素!C!C-- BOUNDARYs teger =t :: ZmCELtot teger =t meso: octbe :: BC_INDE BC_NOD teger =t meso: octbe :: ZmCEL!C!C-- WORK teger =t meso:: octbe :: IWK re=re meso:: octbe :: FCV e moue STRUCT

120 OMP- moue PCG/5 moue PCG teger prmeter :: N= 56 teger :: NUm NLm NCOLORtot NCOLOR NU NL METHOD re=8 :: EPSICCG re=8 meso: octbe :: D PHI BFORCE re=8 meso: octbe :: AL AU teger meso: octbe :: INL INU COLORe teger meso: octbe :: OLDtoNEW NEWtoOLD teger meso:: octbe :: IAL IAU teger meso: octbe :: el teml teger meso: octbe :: eu temu e moue PCG 扱う行列 : 疎行列 自分の周辺のみと接続 非ゼロ成分のみを記憶する 上下三角成分を別々に記憶 L U

121 OMP- moue PCG/5 moue PCG teger prmeter :: N= 56 teger :: NUm NLm NCOLORtot NCOLOR NU NL METHOD teger :: NPL NPU re=8 :: EPSICCG re=8 meso: octbe :: D PHI BFORCE re=8 meso: octbe :: AL AU teger meso: octbe :: INL INU COLORe teger meso: octbe :: OLDtoNEW NEWtoOLD teger meso:: octbe :: IAL IAU teger meso: octbe :: el teml teger meso: octbe :: eu temu e moue PCG 補助配列 下三角成分 列番号 : 非対角成分で自分より要素番号が小さい IALcou < 上三角成分 列番号 : 非対角成分で自分より要素番号が大きい IAUcou > INLICELTOT 非零下三角成分の数 IALNLICELTOT 非零下三角成分 列番号 INUICELTOT 非零上三角成分の数 IAUNUICELTOT 非零上三角成分 列番号 NUNL 非零上下三角成分の最大数 ここでは6 U el:iceltot eu:iceltot NPLNPU temlnpltemunpu 各行の非零下三角成分数 CRS 各行の非零上三角成分数 CRS 非零上下三角成分数の合計 CRS 比零上下三角成分 列番号 CRS L

122 OMP- moue PCG3/5 moue PCG teger prmeter :: N= 56 teger :: NUm NLm NCOLORtot NCOLOR NU NL METHOD teger :: NPL NPU re=8 :: EPSICCG re=8 meso: octbe :: D PHI BFORCE re=8 meso: octbe :: AL AU teger meso: octbe :: INL INU COLORe teger meso: octbe :: OLDtoNEW NEWtoOLD teger meso:: octbe :: IAL IAU teger meso: octbe :: el teml teger meso: octbe :: eu temu 補助配列 下三角成分 列番号 : IALcou < その個数が INL 上三角成分 列番号 : IAUcou > その個数が INU e moue PCG INLICELTOT 非零下三角成分の数 IALNLICELTOT 非零下三角成分 列番号 INUICELTOT 非零上三角成分の数 IAUNUICELTOT 非零上三角成分 列番号 NUNL 非零上下三角成分の最大数 ここでは6 U el:iceltot eu:iceltot NPLNPU temlnpltemunpu 各行の非零下三角成分数 CRS 各行の非零上三角成分数 CRS 非零上下三角成分数の合計 CRS 比零上下三角成分 列番号 CRS L

123 OMP- 3 moue PCG4/5 moue PCG teger prmeter :: N= 56 teger :: NUm NLm NCOLORtot NCOLOR NU NL METHOD teger :: NPL NPU re=8 :: EPSICCG re=8 meso: octbe :: D PHI BFORCE re=8 meso: octbe :: AL AU teger meso: octbe :: INL INU COLORe teger meso: octbe :: OLDtoNEW NEWtoOLD teger meso:: octbe :: IAL IAU teger meso: octbe :: el teml teger meso: octbe :: eu temu 補助配列 下三角成分 列番号 : IALcou < その個数が INL 上三角成分 列番号 : IAUcou > その個数が INU e moue PCG INLICELTOT 非零下三角成分の数 IALNLICELTOT 非零下三角成分 列番号 INUICELTOT 非零上三角成分の数 IAUNUICELTOT 非零上三角成分 列番号 NUNL 非零上下三角成分の最大数 ここでは6 U el:iceltot eu:iceltot NPLNPU temlnpltemunpu 各行の非零下三角成分数 CRS 各行の非零上三角成分数 CRS 非零上下三角成分数の合計 CRS 比零上下三角成分 列番号 CRS L

124 OMP- 4 moue PCG 5/5 moue PCG teger prmeter :: N= 56 teger :: NUm NLm NCOLORtot NCOLOR NU NL METHOD teger :: NPL NPU re=8 :: EPSICCG re=8 meso: octbe :: D PHI BFORCE re=8 meso: octbe :: AL AU teger meso: octbe :: INL INU COLORe teger meso: octbe :: OLDtoNEW NEWtoOLD teger meso:: octbe :: IAL IAU teger meso: octbe :: el teml teger meso: octbe :: eu temu e moue PCG METHOD 前処理手法 ===3 EPSICCG D ICELTOT PHI ICLETOT BFORCEICELTOT ALNPLAUNPU 収束打切残差係数行列の対角成分従属変数連立一次方程式の右辺ベクトル係数行列の比零上下三角成分 CRS

125 OMP- 5 行列関係変数 : まとめ 配列 変数名 型 内容 DN R 対角成分 N: 全メッシュ数 =ICELTOT BFORCEN R 右辺ベクトル PHIN R 未知数ベクトル el:n I 各行の非零下三角成分数 CRS eu:n I 各行の非零上三角成分数 CRS NPL I 非零下三角成分総数 CRS NPU I 非零上三角成分総数 CRS temlnpl I 非零下三角成分 列番号 CRS temunpu I 非零下三角成分 列番号 CRS ALNPL R 非零下三角成分 係数 CRS AUNPL R 非零上三角成分 係数 CRS

126 OMP- 6 行列関係変数 : まとめ 補助配列 配列 変数名 型 内容 NLNU I 各行の非零上下三角成分の最大数 ここでは6 INLN I 各行の非零下三角成分数 INUN I 各行の非零上三角成分数 IALNLN I 各行の非零下三角成分に対応する列番号 IAUNUN I 各行の非零上三角成分に対応する列番号 補助配列を使う理由 NPLNPUの値が前以てわからない後掲の並び替え orergreorerg のとき CRS 形式ではやりにくい

127 OMP- 7 行列ベクトル積 :{q}=[a]{p} o = N VAL= D*p o = el-+ el VAL= VAL + AL*ptemL eo o = eu-+ eu VAL= VAL + AU*ptemU eo q= VAL eo

128 OMP- 8 プログラムの構成 progrm MAIN use STRUCT use PCG use sover_iccg use sover_iccg use sover_pcg mpct REAL*8 A-HO-Z c INPUT c POINTER_INIT c BOUNDARY_CELL c CELL_METRICS c POI_GEN MAIN メインルーチン INPUT 制御ファイル読込 INPUT.DAT POINTER_INIT メッシュファイル読込 mesh.t BOUNDARY_CELL = を設定する要素の探索 CELL_METRICS 表面積 体積等の計算 PHI=. f METHOD.eq. c sove_iccg f METHOD.eq. c sove_iccg f METHOD.eq.3 c sove_pcg c OUTUCD stop e POI_GEN 行列コネクティビティ生成 各成分の計算 境界条件 SOLVER_ICCG ICCG 法ソルバー METHOD= SOLVER_ICCG ICCG 法ソルバー METHOD= SOLVER_PCG ICCG 法ソルバー METHOD=3 j FORM_ILU ~ j j ~ ~ ~ j

129 OMP- 9 put: INPUT.DAT の読み込み!C!C***!C*** INPUT!C***!C!C INPUT CONTROL DATA!C subroute INPUT use STRUCT use PCG mpct REAL*8 A-HO-Z chrcter*8 CNTFIL!C!C-- CNTL. fe ope fe='input.dat' sttus='uow' re * N NY NZ re * METHOD re * D DY DZ re * EPSICCG cose!c=== retur e N/NY/NZ MEHOD -3.e-.e-.e- D/DY/DZ.e-8 EPSICCG

130 OMP- 3 poter_t/3: mesh.t の作成!C!C***!C*** POINTER_INIT!C***!C subroute POINTER_INIT use STRUCT use PCG mpct REAL*8 A-HO-Z!C!C !C Geertg MESH fo.!c !C=== ICELTOT= N * NY * NZ NP= N + NYP= NY + NZP= NZ + octe NEIBceICELTOT6 YZICELTOT3 NEIBce= NNYNZ: yz 方向要素数 NPNYPNZP: yz 節点数 可視化用 ICELTOT: 要素数 N NY NZ NEIBceICELTOT6: 隣接要素 octe/eocte for C YZICELTOT3: 要素座標

131 OMP- 3 poter_t/3: mesh.t の作成 o = NZ o j= NY o = N ce= -*N*NY + j-*n + NEIBcece= ce - NEIBcece= ce + NEIBcece3= ce - N NEIBcece4= ce + N NEIBcece5= ce - N*NY NEIBcece6= ce + N*NY f.eq. NEIBcece= f.eq.n NEIBcece= f j.eq. NEIBcece3= f j.eq.ny NEIBcece4= f.eq. NEIBcece5= f.eq.nz NEIBcece6= YZce= YZce= j YZce3= NEIBcece6 NEIBcece NEIBcece3 NEIBcece5 NEIBcece4 NEIBcece!C=== eo eo eo = YZce j= YZce = YZce3 ce= -*N*NY + j-*n + NEIBcece= ce NEIBcece= ce + NEIBcece3= ce N NEIBcece4= ce + N NEIBcece5= ce N*NY NEIBcece6= ce + N*NY

132 OMP- 3 poter_t3/3!c!c !C Prmeters!C !C=== f D.e..e the D=. / fotn DY=. / fotny DZ=. / fotnz ef D=. となっていた場合のみ DDYDZ をこのように指定 NP= N + NYP= NY + NZP= NZ +!C=== IBNODTOT= NP * NYP N = NP * NYP * NZP retur e

133 OMP- 33 poter_t3/3: 節点 可視化用!C!C !C Prmeters!C !C=== f D.e..e the D=. / fotn DY=. / fotny DZ=. / fotnz ef NP= N + NYP= NY + NZP= NZ !C=== IBNODTOT= NP * NYP N = NP * NYP * NZP retur e NPNYPNZP: yz 方向節点数 IBNODTOT: NP NYP N: 節点数 可視化に使用

134 OMP- 34 boury_ce!c!c***!c*** BOUNDARY_CELL!C***!C subroute BOUNDARY_CELL use STRUCT mpct REAL*8 A-HO-Z Z=Z m の要素の定義 総数 : ZmCELtot 要素番号 : ZmCEL:!C!C !C Zm!C !C=== IFACTOT= N * NY ZmCELtot= IFACTOT octe ZmCELZmCELtot!C=== cou= = NZ o j= NY o = N ce= -*IFACTOT + j-*n + cou= cou + ZmCELcou= ce eo eo retur e Z

135 OMP- 35 ce_metrcs!c!c***!c*** CELL_METRICS!C***!C subroute CELL_METRICS use STRUCT use PCG mpct REAL*8 A-HO-Z!C!C-- ALLOCATE octe VOLCELICELTOT octe RVCICELTOT!C!C-- VOLUME AREA PROJECTION etc. AREA= DY * DZ YAREA= D * DZ ZAREA= D * DY RD=. / D RDY=. / DY RDZ=. / DZ RD=. / D** RDY=. / DY** RDZ=. / DZ** RD=. /.5*D RDY=. /.5*DY RDZ=. /.5*DZ 計算に必要な諸パラメータ DZ z y AREA DY D AREA Y Z YAREA Z ZAREA Y RD RDY RDZ Y Z V= D * DY * DZ RV=./V VOLCEL= V RVC = RV retur e

136 OMP- 36 ce_metrcs!c!c***!c*** CELL_METRICS!C***!C subroute CELL_METRICS use STRUCT use PCG mpct REAL*8 A-HO-Z!C!C-- ALLOCATE octe VOLCELICELTOT octe RVCICELTOT!C!C-- VOLUME AREA PROJECTION etc. AREA= DY * DZ YAREA= D * DZ ZAREA= D * DY RD=. / D RDY=. / DY RDZ=. / DZ RD=. / D** RDY=. / DY** RDZ=. / DZ** RD=. /.5*D RDY=. /.5*DY RDZ=. /.5*DZ V= D * DY * DZ RV=./V VOLCEL= V RVC = RV retur e 計算に必要な諸パラメータ DZ z y RD AREA DY D RDY Y RDZ RD RDY.5.5 Y RDZ.5 Z Z

137 OMP- 37 ce_metrcs!c!c***!c*** CELL_METRICS!C***!C subroute CELL_METRICS use STRUCT use PCG mpct REAL*8 A-HO-Z!C!C-- ALLOCATE octe VOLCELICELTOT octe RVCICELTOT!C!C-- VOLUME AREA PROJECTION etc. AREA= DY * DZ YAREA= D * DZ ZAREA= D * DY RD=. / D RDY=. / DY RDZ=. / DZ 計算に必要な諸パラメータ DZ z y AREA DY D RD=. / D** RDY=. / DY** RDZ=. / DZ** RD=. /.5*D RDY=. /.5*DY RDZ=. /.5*DZ V= D * DY * DZ RV=./V VOLCEL= V RVC = RV retur e VOLCEL V Y RV RVC VOLCEL Z

138 OMP- 38 プログラムの構成 progrm MAIN use STRUCT use PCG use sover_iccg use sover_iccg use sover_pcg mpct REAL*8 A-HO-Z c INPUT c POINTER_INIT c BOUNDARY_CELL c CELL_METRICS c POI_GEN MAIN メインルーチン INPUT 制御ファイル読込 INPUT.DAT POINTER_INIT メッシュファイル読込 mesh.t BOUNDARY_CELL = を設定する要素の探索 CELL_METRICS 表面積 体積等の計算 PHI=. f METHOD.eq. c sove_iccg f METHOD.eq. c sove_iccg f METHOD.eq.3 c sove_pcg c OUTUCD stop e POI_GEN 行列コネクティビティ生成 各成分の計算 境界条件 SOLVER_ICCG ICCG 法ソルバー METHOD= SOLVER_ICCG ICCG 法ソルバー METHOD= SOLVER_PCG ICCG 法ソルバー METHOD=3 j FORM_ILU ~ j j ~ ~ ~ j

139 OMP- 39 po_ge/7 subroute POI_GEN use STRUCT use PCG mpct REAL*8 A-HO-Z!C!C-- INIT. = ICELTOT NU= 6 NL= 6 octe BFORCE D PHI octe INL INU IALNL IAUNU PHI=. D=. INL= INU= IAL= IAU=

140 OMP- 4 配列の宣言 配列 変数名 型 内容 DN R 対角成分 N: 全メッシュ数 =ICELTOT BFORCEN R 右辺ベクトル PHIN R 未知数ベクトル el:n I 各行の非零下三角成分数 CRS eu:n I 各行の非零上三角成分数 CRS NPL I 非零下三角成分総数 CRS NPU I 非零上三角成分総数 CRS temlnpl I 非零下三角成分 列番号 CRS temunpu I 非零下三角成分 列番号 CRS ALNPL R 非零下三角成分 係数 CRS AUNPL R 非零上三角成分 係数 CRS

141 OMP- 4!C!C !C CONNECTIVITY!C !C=== o ce= ICELTOT cn= NEIBcece cn= NEIBcece cn3= NEIBcece3 cn4= NEIBcece4 cn5= NEIBcece5 cn6= NEIBcece6 coug= f cn5.e. the cou= INLce + IALcouce= cn5 INL ce= cou ef f cn3.e. the cou= INLce + IALcouce= cn3 INL ce= cou ef f cn.e. the cou= INLce + IALcouce= cn INL ce= cou ef NEIBcece po_ge/7 NEIBcece6 NEIBcece3 NEIBcece5 NEIBcece4 下三角成分 NEIBcece5= ce N*NY NEIBcece3= ce N NEIBcece= ce NEIBcece

142 OMP- 4 f cn.e. the cou= INUce + IAUcouce= cn INU ce= cou ef po_ge3/7 f cn4.e. the cou= INUce + IAUcouce= cn4 INU ce= cou ef NEIBcece6 NEIBcece4!C=== f cn6.e. the cou= INUce + IAUcouce= cn6 INU ce= cou ef eo NEIBcece NEIBcece3 NEIBcece NEIBcece5 上三角成分 NEIBcece= ce + NEIBcece4= ce + N NEIBcece6= ce + N*NY

143 OMP- 43!C!C-- D rry octe el: eu: el= eu= o ce= ICELTOT elce= INLce euce= INUce eo o ce= ICELTOT elce= elce + elce- euce= euce + euce- eo NPL= eliceltot NPU= euiceltot octe temlnpl ALNPL octe temunpu AUNPU teml= temu= po_ge4/7 配列の宣言 配列 変数名 型 内容 DN R 対角成分 N: 全メッシュ数 =ICELTOT BFORCEN R 右辺ベクトル PHIN R 未知数ベクトル el:n I 各行の非零下三角成分数 CRS eu:n I 各行の非零上三角成分数 CRS NPL I 非零下三角成分総数 CRS NPU I 非零上三角成分総数 CRS temlnpl I 非零下三角成分 列番号 CRS temunpu I 非零下三角成分 列番号 CRS ALNPL R 非零下三角成分 係数 CRS AUNPL R 非零上三角成分 係数 CRS!C=== AL=. AU=.

144 OMP- 44 有限体積法 Fte Voume Metho FVM 面を通過するフラックスの保存に着目 隣接要素との拡散 b S V Q 体積フラックス S e S b b c b V : 要素体積 S : 表面面積 j : 要素中心から表面までの距離 Q : 体積フラックス S c c c

145 OMP- 45 全体マトリクスの生成要素 に関する釣り合い S V Q S S V Q S S V Q D 対角成分 AL AU 非対角成分 BFORCE 右辺

146 OMP- 46!C!C !C INTERIOR & NEUMANN BOUNDARY CELLs!C !C=== coug= o ce= ICELTOT cn= NEIBcece cn= NEIBcece cn3= NEIBcece3 cn4= NEIBcece4 cn5= NEIBcece5 cn6= NEIBcece6 VOL= VOLCELce cou= f cn5.e. the coef =RDZ * ZAREA Dce= Dce - coef cou= cou + = cou + elce- teml= cn5 AL= coef ef f cn3.e. the coef =RDY * YAREA Dce= Dce - coef cou= cou + = cou + elce- teml= cn3 AL= coef ef f cn.e. the coef =RD * AREA Dce= Dce - coef cou= cou + = cou + elce- teml= cn AL= coef ef po_ge5/7 係数の計算 境界面以外 W D N DY DY D E W y y N S y y S f c E y

147 OMP- 47 三次元では NEIBcece6 NEIBcece NEIBcece4 NEIBcece f cn5.e. the coef = RDZ * ZAREA Dce= Dce coef z y NEIBcece3 cou= cou + = cou + elce- NEIBcece5 eb ce eb ce3 y eb ce5 z ce ce ce yz z y eb ce eb ce4 y eb ce6 z ce ce ce yz z y teml= cn5 AL= coef ef f ce yz

148 OMP- 48 po_ge6/7 cou= f cn.e. the coef = RD * AREA Dce= Dce - coef cou= cou + = cou + euce- temu= cn AU= coef ef 係数の計算 境界面以外 N f cn4.e. the coef = RDY * YAREA Dce= Dce - coef cou= cou + = cou + euce- temu= cn4 AU= coef ef W D DY D E!C=== f cn6.e. the coef = RDZ * ZAREA Dce= Dce - coef cou= cou + = cou + euce- temu= cn6 AU= coef ef = YZce jj= YZce = YZce3 BFORCEce= -fot+jj+ * VOL eo DY S E W y y N S y y f c y

149 OMP- 49 po_ge6/7 cou= f cn.e. the coef = RD * AREA Dce= Dce - coef cou= cou + = cou + euce- temu= cn AU= coef ef f cn4.e. the coef = RDY * YAREA Dce= Dce - coef cou= cou + = cou + euce- temu= cn4 AU= coef ef f cn6.e. the coef = RDZ * ZAREA Dce= Dce - coef cou= cou + = cou + euce- temu= cn6 AU= coef ef = YZce jj= YZce = YZce3 体積発熱 f fot j j YZ ce YZ ce YZ ce 3 YZce =3 は YZ 方向の差分格子のインデックス 各メッシュが YZ 方向の何番目にあるかを示している!C=== BFORCEce= -fot+jj+ * VOL eo

150 OMP- 5!C!C !C DIRICHLET BOUNDARY CELLs!C !C TOP SURFACE!C=== o b= ZmCELtot ce= ZmCELb coef=. * RDZ * ZAREA Dce= Dce - coef eo!c=== retur e po_ge7/7 係数の計算 境界面 =- DZ Z=Zm = 境界面の外側に 大きさが同じで 値が =- となるような要素があると仮定 境界面で丁度 = となる : 一次近似

151 OMP- 5 ディリクレ条件 S V Q W D DZ S D E S D 対角成分 AL AU BFORCE 非対角成分 右辺 S V Q

152 OMP- 5 ディリクレ条件 D D DZ DZ W E S N Q V S D 対角成分 BFORCE 右辺 AL AU 非対角成分 Q V S S N N Q V y z S S

153 OMP- 53 ディリクレ条件 D D DZ DZ W E S N Q V S D 対角成分 BFORCE 右辺 AL AU 非対角成分 Q V S S N N Q V y z S S Q V y z S S

154 OMP- 54 ディリクレ条件 D D DZ DZ W E S N Q V S D 対角成分 BFORCE 右辺 AL AU 非対角成分 Q V S S Q V y z S S

155 OMP- 55 ディリクレ条件 D D DZ DZ W E S N Q V S D 対角成分 BFORCE 右辺 AL AU 非対角成分 Q V S S Q V y z S S Q V S y z S

156 OMP- 56 ディリクレ条件 W D N DZ DZ S D E S S S y z S V Q D 対角成分 AL AU BFORCE 非対角成分 右辺 o b= ZmCELtot ce= ZmCELb coef=. * RDZ * y V Q ZAREA Dce= Dce - coef eo z S S VQ S V Q

157 OMP- 57 プログラムの構成 progrm MAIN use STRUCT use PCG use sover_iccg use sover_iccg use sover_pcg mpct REAL*8 A-HO-Z c INPUT c POINTER_INIT c BOUNDARY_CELL c CELL_METRICS c POI_GEN MAIN メインルーチン INPUT 制御ファイル読込 INPUT.DAT POINTER_INIT メッシュファイル読込 mesh.t BOUNDARY_CELL = を設定する要素の探索 CELL_METRICS 表面積 体積等の計算 PHI=. f METHOD.eq. c sove_iccg f METHOD.eq. c sove_iccg f METHOD.eq.3 c sove_pcg c OUTUCD stop e POI_GEN 行列コネクティビティ生成 各成分の計算 境界条件 SOLVER_ICCG ICCG 法ソルバー METHOD= SOLVER_ICCG ICCG 法ソルバー METHOD= SOLVER_PCG ICCG 法ソルバー METHOD=3 j FORM_ILU ~ j j ~ ~ ~ j

158 OMP- 58 背景 有限体積法 前処理付反復法 ICCG 法によるポアソン方程式法ソルバーについて 実行方法 データ構造 プログラムの説明 OpeMP 初期化 係数マトリクス生成 ICCG 法

159 OMP- 59 あとは線形方程式を解けば良い 共役勾配法 Cojugte GretCG 前処理 不完全コレスキー分解 Icompete Choesy FctorztoIC 実は不完全 修正 コレスキー分解 ICCG

160 OMP- 6 修正コレスキー分解 対称行列 A の LU 分解 対称行列 A は 対角行列 D を利用して [A]= [L][D][L] T のような形に分解することができる この分解を LDL T 分解または修正コレスキー分解 mofe Choesy ecomposto と呼ぶ [A]= [L][L] T とするような分解法もある コレスキー分解 N=5 の場合の例

161 OMP- 6 修正コレスキー分解 j ここで j j j とすると以下が導かれる j j j j j

162 j j j j

163 OMP- 63 不完全修正コレスキー分解 j ここで j j j とすると以下が導かれる j j j j j 実際には 不完全 な分解を実施し このような形を用いることが多い j j

164 OMP- 64 プログラムの実行制御データ <$P-L>/ru/INPUT.DAT の作成 N/NY/NZ MEHOD :.e-.e-.e- D/DY/DZ..e-8 OMEGA EPSICCG METHOD 前処理行列の作成方法 : 不完全修正コレスキー分解 METHOD= 対角成分のみ変更 METHOD= 非対角成分変更 F-は無し: j の場合のみ METHOD=3 対角スケーリング 点ヤコビ j j j j j

165 OMP- 65 不完全修正コレスキー分解 j ここで j j j とすると以下が導かれる j j j j j j j 対角成分のみがもとの行列と変わる

166 OMP- 66 不完全修正コレスキー分解を使用した前進後退代入 r LDL z T r z LDL z M T r y L y z DL T / / / / / / / / / /

167 OMP- 67 不完全修正コレスキー分解を使用した 前進後退代入!C!C !C {z}= [Mv]{r}!C !C=== o = N WY= WR eo W DD / Ly r o = N WVAL= WY o = el-+ el WVAL= WVAL - AL * WtemLY eo WY= WVAL * WDD eo DL T z y!c=== o = N - SW =. o = eu-+ eu SW= SW + AU * WtemUZ eo WZ= WY - WDD * SW eo / 3 3 / / / / / / / / / 33 44

168 OMP- 68 不完全修正コレスキー分解を使用した 前進後退代入 : 計算順序考慮!C!C !C {z}= [Mv]{r}!C !C=== o = N WZ= WR eo W DD / Lz z o = N WVAL= WZ o = el-+ el WVAL= WVAL - AL * WtemLZ eo WZ= WVAL * WDD eo DL T z z!c=== o = N - SW =. o = eu-+ eu SW= SW + AU * WtemUZ eo WZ= WZ - WDD * SW eo / 3 3 / / / / / / / / / 33 44

169 OMP- 69 sove_iccg/7:method=!c***!c*** moue sover_iccg!c***! moue sover_iccg cots!c!c*** sove_iccg!c subroute sove_iccg & & N NPL NPU el teml eu temu D B & & AL AU EPS ITR IER mpct REAL*8 A-HO-Z re=8 meson :: D re=8 meson :: B re=8 meson :: re=8 mesonpl :: AL re=8 mesonpu :: AU teger meso:n:: el eu teger mesonpl:: teml teger mesonpu:: temu re=8 meso:: octbe :: W teger prmeter :: R= teger prmeter :: Z= teger prmeter :: Q= teger prmeter :: P= 3 teger prmeter :: DD= 4 変数名 : ICELTOT N BFORCE B PHI EPSICCG EPS W= WR {r} W= WZ {z} W= WQ {q} W3= WP {p} W4= WDD {}

170 OMP- 7 sove_iccg/7:method=!c!c !C INIT!C !C=== octe WN4 o = N =. W=.D W=.D W3=.D W4=.D eo!c=== o = N VAL= D o = el-+ el VAL= VAL - AL** * WtemLDD eo WDD=./VAL eo 不完全修正コレスキー分解 WDD= WDD: D: temlj: ALj: j j j j j j j 対角成分のみがもとの行列と変わる

171 OMP- 7 sove_iccg3/7:method=!c!c !C {r}= {b} - [A]{}!C !C=== o = N VAL= D* o = el-+ el VAL= VAL + AL*temL eo o = eu-+ eu VAL= VAL + AU*temU eo WR= B - VAL eo!c=== BNRM=.D o = N BNRM = BNRM + B ** eo BNRM= b あとで収束判定に使用 Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - p = z ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p -

172 OMP- 7 sove_iccg4/7:method=!c!c************************************************* ITERATION ITR= N o L= ITR!C!C !C {z}= [Mv]{r}!C !C=== o = N WZ= WR eo!c=== o = N WVAL= WZ o = el-+ el WVAL= WVAL - AL * WtemLZ eo WZ= WVAL * WDD eo o = N - SW =. o = eu-+ eu SW= SW + AU * WtemUZ eo WZ= WZ - WDD*SW eo Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - p = z p ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e

173 OMP- 73 sove_iccg4/7:method=!c!c************************************************* ITERATION ITR= N o L= ITR!C!C !C {z}= [Mv]{r}!C !C=== o = N WZ= WR eo!c=== T M z LDL z r Lz o = N WVAL= WZ o = el-+ el WVAL= WVAL - AL * WtemLZ eo WZ= WVAL * WDD eo o = N - SW =. DL T o = eu-+ eu SW= SW + AU * WtemUZ eo WZ= WZ - WDD*SW eo r z z 前進代入 Forwr Substtuto 後退代入 Bcwr Substtuto

174 OMP- 74 sove_iccg5/7:method=!c!c !C RHO= {r}{z}!c !C=== RHO=. o = N RHO= RHO + WR*WZ eo!c=== Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese e - = - / - p = z p ef q = [A]p = - /p q = - + p r = r - - q chec covergece r

175 OMP- 75 sove_iccg6/7:method=!c!c !C {p} = {z} f ITER=!C BETA= RHO / RHO otherwse!c !C=== f L.eq. the!c=== o = N WP= WZ eo ese BETA= RHO / RHO o = N WP= WZ + BETA*WP eo ef!c!c !C {q}= [A]{p}!C !C=== o = N VAL= D*WP o = el-+ el VAL= VAL + AL*WtemLP eo o = eu-+ eu VAL= VAL + AU*WtemUP eo WQ= VAL eo!c=== Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - p = z p ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e

176 OMP- 76 sove_iccg7/7: METHOD=!C!C !C ALPHA= RHO / {p}{q}!c !C=== C=. o = N C= C + WP*WQ eo ALPHA= RHO / C!C===!C!C !C {}= {} + ALPHA*{p}!C {r}= {r} - ALPHA*{q}!C !C=== o = N = + ALPHA * WP WR= WR - ALPHA * WQ eo DNRM=. o = N DNRM= DNRM + WR** eo!c=== ERR = sqrtdnrm/bnrm f ERR.t. EPS the IER = goto 9 ese RHO = RHO ef eo IER = Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - p = z p ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e

177 OMP- 77 sove_iccg7/7: METHOD=!C!C !C ALPHA= RHO / {p}{q}!c !C=== C=. o = N C= C + WP*WQ eo ALPHA= RHO / C!C===!C!C !C {}= {} + ALPHA*{p}!C {r}= {r} - ALPHA*{q}!C !C=== o = N = + ALPHA * WP WR= WR - ALPHA * WQ eo DNRM=. o = N DNRM= DNRM + WR** eo!c=== ERR = sqrtdnrm/bnrm f ERR.t. EPS the IER = goto 9 ese RHO = RHO ef eo IER = r= b-[a] DNRM= r BNRM= b ERR= r / b Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - p = z p ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e

178 OMP- 78 sove_iccg/3: METHOD=!C!C***!C*** moue sover_iccg!c***! moue sover_iccg cots!c!c*** sove_iccg!c subroute sove_iccg & & N NPL NPU el teml eu temu D B & & AL AU EPS ITR IER mpct REAL*8 A-HO-Z re=8 meson :: D re=8 meson :: B re=8 meson :: re=8 mesonpl :: AL re=8 mesonpu :: AU teger meso:n :: el eu teger mesonpl:: teml teger mesonpu:: temu re=8 meso:: octbe :: W teger prmeter :: R= teger prmeter :: Z= teger prmeter :: Q= teger prmeter :: P= 3 teger prmeter :: DD= 4 Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - p = z ef q = [A]p = - /p q = - + p r = r - - q chec covergece r e p - re=8 meso: octbe :: ALu AUu re=8 meso: octbe :: Du

179 OMP- 79 sove_iccg/3: METHOD=!C!C !C INIT!C !C=== octe WN4 o = N =. W=.D W=.D W3=.D W4=.D eo!c=== c FORM_ILU Du ALuAUu には ILU 分解された対角 下三角 上三角成分が入る 行列 [M]

180 OMP- 8 FORM_ILU/ 不完全修正コレスキー分解 : 正確には不完全修正 LU 分解 sover_iccg.f に附属 cots!c!c***!c*** FORM_ILU!C***!C!C form ILU mtr!c subroute FORM_ILU mpct REAL*8 A-HO-Z teger meso: octbe :: IW IW teger meso: octbe :: IWsL IWsU re =8:: RHS_Aj DINV A Aj!C!C !C INIT.!C !C=== octe ALuNPL AUuNPU octe DuN!C=== o = N Du= D o = INL ALu= AL eo o = INU AUu= AU eo eo j j j DuALuAUu 初期値として DALAU の値を代入する j j Du ALuAUu には ILU 分解された対角 下三角 上三角成分が入る 行列 [M]

181 OMP- 8 FORM_ILU /!C!C !C ILU fctorzto!c !C=== octe IWN IWN IW= IW= o = N o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo o co= el-+ el = temlco D= Du DINV=./D A= ALuco o co= eu-+ eu j= temuco f j.eq. the Aj= AUuco RHS_Aj= A * DINV * Aj Du= Du - RHS_Aj ef f j.t... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj j = IWj ALuj= ALuj - RHS_Aj ef f j.gt... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj eo eo j = IWj AUuj= AUuj - RHS_Aj ef o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo eo o = N Du=. / Du eo eocte IW IW!C=== e subroute FORM_ILU o = N o = - f A s o-zero the o j= + N f Aj s o-zero the Aj= Aj & -A*A - *Aj ef eo ef eo eo

182 OMP- 8 FORM_ILU /!C!C !C ILU fctorzto!c !C=== octe IWN IWN IW= IW= o = N o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo o co= el-+ el = temlco D= Du DINV=./D A= ALuco o co= eu-+ eu j= temuco f j.eq. the Aj= AUuco RHS_Aj= A * DINV * Aj Du= Du - RHS_Aj ef f j.t... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj j = IWj ALuj= ALuj - RHS_Aj ef f j.gt... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj eo eo j = IWj AUuj= AUuj - RHS_Aj ef o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo eo o = N Du=. / Du eo eocte IW IW!C=== e subroute FORM_ILU o = N o = - f A s o-zero the o j= + N f Aj s o-zero the Aj= Aj & -A*A - *Aj ef eo ef eo eo

183 OMP- 83 FORM_ILU /!C!C !C ILU fctorzto!c !C=== octe IWN IWN IW= IW= o = N o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo o co= el-+ el = temlco D= Du DINV=./D A= ALuco o co= eu-+ eu j= temuco f j.eq. the Aj= AUuco RHS_Aj= A * DINV * Aj Du= Du - RHS_Aj ef f j.t... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj j = IWj ALuj= ALuj - RHS_Aj ef f j.gt... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj eo eo j = IWj AUuj= AUuj - RHS_Aj ef o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo eo o = N Du=. / Du eo eocte IW IW!C=== e subroute FORM_ILU o = N o = - f A s o-zero the o j= + N f Aj s o-zero the Aj= Aj & -A*A - *Aj ef eo ef eo eo

184 OMP- 84 FORM_ILU /!C!C !C ILU fctorzto!c !C=== octe IWN IWN IW= IW= o = j N o = el-+ j el IWtemL= j j j eo o = eu-+ eu IWtemU= eo o co= el-+ el = temlco D= Du DINV=./D A= ALuco o co= eu-+ eu j= temuco f j.eq. the Aj= AUuco RHS_Aj= A * DINV * Aj Du= Du - RHS_Aj ef f j.t... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj j = IWj ALuj= ALuj - RHS_Aj ef j= f j.gt... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj eo eo j = IWj AUuj= AUuj - RHS_Aj ef o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo eo o = N Du=. / Du eo eocte IW IW!C=== e subroute FORM_ILU o = N o = - f A s o-zero the o j= + N f Aj s o-zero the Aj= Aj & -A*A - *Aj ef eo ef eo eo

185 OMP- 85 FORM_ILU /!C!C !C ILU fctorzto!c !C=== j octe IWN j IWN IW= j j j IW= o = N o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo o co= el-+ el = temlco D= Du DINV=./D A= ALuco o co= eu-+ eu j= temuco f j.eq. the Aj= AUuco RHS_Aj= A * DINV * Aj Du= Du - RHS_Aj ef f j.t... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj j = IWj ALuj= ALuj - RHS_Aj ef j< f j.gt... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj eo eo j = IWj AUuj= AUuj - RHS_Aj ef o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo eo o = N Du=. / Du eo eocte IW IW!C=== e subroute FORM_ILU o = N o = - f A s o-zero the o j= + N f Aj s o-zero the Aj= Aj & -A*A - *Aj ef eo ef eo eo

186 OMP- 86 FORM_ILU /!C!C !C ILU fctorzto!c !C=== j octe IWN j IWN IW= j j j IW= o = N o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo o co= el-+ el = temlco D= Du DINV=./D A= ALuco o co= eu-+ eu j= temuco f j.eq. the Aj= AUuco RHS_Aj= A * DINV * Aj Du= Du - RHS_Aj ef f j.t... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj j = IWj ALuj= ALuj - RHS_Aj ef f j.gt... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj eo eo j = IWj AUuj= AUuj - RHS_Aj ef o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo eo o = N Du=. / Du eo eocte IW IW!C=== e subroute FORM_ILU j> o = N o = - f A s o-zero the o j= + N f Aj s o-zero the Aj= Aj & -A*A - *Aj ef eo ef eo eo

187 OMP- 87 FORM_ILU /!C!C !C ILU fctorzto!c !C=== j octe IWN j IWN IW= j j j IW= o = N o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo o co= el-+ el = temlco D= Du DINV=./D A= ALuco o co= eu-+ eu j= temuco f j.eq. the Aj= AUuco RHS_Aj= A * DINV * Aj Du= Du - RHS_Aj ef f j.t... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj j = IWj ALuj= ALuj - RHS_Aj ef j< f j.gt... IWj.e. the Aj= AUuco RHS_Aj= A * DINV * Aj eo eo j = IWj AUuj= AUuj - RHS_Aj ef o = el-+ el IWtemL= eo o = eu-+ eu IWtemU= eo eo o = N Du=. / Du eo eocte IW IW!C=== e subroute FORM_ILU 実はこの IF 文の中は通らない 理由は後述 したがって ALu= AL AUu= AU j>

188 OMP- 88 j= j< j> /3 j ある要素 に接続する下三角成分 の上三角成分 j が : j= 自身である場合Du 更新 j j j j j

189 OMP- 89 j= j< j> /3 j ある要素 に接続する下三角成分 の上三角成分 j が : j< の下三角成分である場合 ALu-j 更新 j j j j j

190 OMP- 9 j= j< j> 3/3 j ある要素 に接続する下三角成分 の上三角成分 j が : 3 j> の上三角成分である場合 AUu-j 更新 実際は 3 に該当する場合は無し j j j j j

191 OMP- 9 sove_iccg3/3: METHOD=!C!C***************************************************** ITERATION ITR= N o L= ITR!C!C !C {z}= [Mv]{r}!C !C=== o = N WZ= WR eo!c=== o = N WVAL= WZ o = el-+ el WVAL= WVAL - ALu * WtemLZ eo WZ= WVAL * Du eo o = N - SW =. o = eu-+ eu SW= SW + AUu * WtemUZ eo WZ= WZ - Du*SW eo これ以下の処理は sove_iccg と全く同じ Compute r = b-[a] for = sove [M]z - = r - - = r - z - f = p = z ese - = - / - e p = z ef q = [A]p = - /p q = - + p r = r - - q chec covergece r p -

科学技術計算のための マルチコアプログラミング入門第 Ⅰ 部 : 概要, 対象アプリケーション,OpenMP 中島研吾 大島聡史 林雅江 東京大学情報基盤センター

科学技術計算のための マルチコアプログラミング入門第 Ⅰ 部 : 概要, 対象アプリケーション,OpenMP 中島研吾 大島聡史 林雅江 東京大学情報基盤センター 科学技術計算のための マルチコアプログラミング入門第 Ⅰ 部 : 概要, 対象アプリケーション,OpenMP 中島研吾 大島聡史 林雅江 東京大学情報基盤センター OMP- 本セミナーの背景 マイクロプロセッサのマルチコア化, メニーコア化 低消費電力, 様々なプログラミングモデル OpenMP 指示行 ( ディレクティヴ ) を挿入するだけで手軽に 並列化 ができるため, 広く使用されている 様々な解説書

More information

Microsoft PowerPoint - 1d.ppt [互換モード]

Microsoft PowerPoint - 1d.ppt [互換モード] 数値計算の基礎 一次元熱伝導方程式の差分法 による解法 年夏季集中講義 中島研吾 並列計算プログラミング 66-57 先端計算機演習 66-49 概要 一次元熱伝導方程式と差分法 連立一次方程式の解法 反復法について 共役勾配法 CG 法 前処理について 共役勾配法を使用した一次元熱伝導解析プログラムについて d d 一次元熱伝導方程式 / 支配方程式 : 簡単のため熱伝導率 BF BF d, @,

More information

列を意識する必要が無い とよく言われる 実際,FORTRAN や C などで記述されたソースコードにディレクティヴを挿入すればよいのだが, 一筋縄ではいかないこともある ディレクティヴの挿入による単純な並列化では, 非常に計算時間を要したり, 正しい答えを得られない場合もある 本連載で取り扱う 有限

列を意識する必要が無い とよく言われる 実際,FORTRAN や C などで記述されたソースコードにディレクティヴを挿入すればよいのだが, 一筋縄ではいかないこともある ディレクティヴの挿入による単純な並列化では, 非常に計算時間を要したり, 正しい答えを得られない場合もある 本連載で取り扱う 有限 OpenMP によるプログラミング入門 (Ⅰ) 中島研吾 東京大学大学院理学系研究科地球惑星科学専攻 1. はじめに, 本連載の概要東京大学大学院理学系研究科地球惑星科学専攻では,23 年度から 21 世紀 COE プログラム 多圏地球システムの進化と変動の予測可能性( 観測地球科学と計算地球科学の融合拠点の形成 ) ( 以下 多圏地球 COE ) を実施している 筆者が担当している 並列計算プログラミング,

More information

Microsoft PowerPoint - 10.pptx

Microsoft PowerPoint - 10.pptx m u. 固有値とその応用 8/7/( 水 ). 固有値とその応用 固有値と固有ベクトル 行列による写像から固有ベクトルへ m m 行列 によって線形写像 f : R R が表せることを見てきた ここでは 次元平面の行列による写像を調べる とし 写像 f : を考える R R まず 単位ベクトルの像 u y y f : R R u u, u この事から 線形写像の性質を用いると 次の格子上の点全ての写像先が求まる

More information

パソコンシミュレータの現状

パソコンシミュレータの現状 第 2 章微分 偏微分, 写像 豊橋技術科学大学森謙一郎 2. 連続関数と微分 工学において物理現象を支配する方程式は微分方程式で表されていることが多く, 有限要素法も微分方程式を解く数値解析法であり, 定式化においては微分 積分が一般的に用いられており. 数学の基礎知識が必要になる. 図 2. に示すように, 微分は連続な関数 f() の傾きを求めることであり, 微小な に対して傾きを表し, を無限に

More information

09.pptx

09.pptx 講義内容 数値解析 第 9 回 5 年 6 月 7 日 水 理学部物理学科情報理学コース. 非線形方程式の数値解法. はじめに. 分法. 補間法.4 ニュートン法.4. 多変数問題への応用.4. ニュートン法の収束性. 連立 次方程式の解法. 序論と行列計算の基礎. ガウスの消去法. 重対角行列の場合の解法項目を変更しました.4 LU 分解法.5 特異値分解法.6 共役勾配法.7 反復法.7. ヤコビ法.7.

More information

Microsoft PowerPoint - 10.pptx

Microsoft PowerPoint - 10.pptx 0. 固有値とその応用 固有値と固有ベクトル 2 行列による写像から固有ベクトルへ m n A : m n n m 行列によって線形写像 f R R A が表せることを見てきた ここでは 2 次元平面の行列による写像を調べる 2 = 2 A 2 2 とし 写像 まず 単位ベクトルの像を求める u 2 x = v 2 y f : R A R を考える u 2 2 u, 2 2 0 = = v 2 0

More information

OpenMP/OpenACC によるマルチコア メニィコア並列プログラミング入門 Fortran 編第 Ⅳ 部 :OpenMP による並列化 + 演習 中島研吾 東京大学情報基盤センター

OpenMP/OpenACC によるマルチコア メニィコア並列プログラミング入門 Fortran 編第 Ⅳ 部 :OpenMP による並列化 + 演習 中島研吾 東京大学情報基盤センター OpenMP/OpenACC によるマルチコア メニィコア並列プログラミング入門 Fortran 編第 Ⅳ 部 :OpenMP による並列化 + 演習 中島研吾 東京大学情報基盤センター OMP-3 1 OpenMP 並列化 L2-sol を OpenMP によって並列化する 並列化にあたってはスレッド数を PEsmpTOT によってプログラム内で調節できる方法を適用する 基本方針 同じ 色 ( または

More information

FEM原理講座 (サンプルテキスト)

FEM原理講座 (サンプルテキスト) サンプルテキスト FEM 原理講座 サイバネットシステム株式会社 8 年 月 9 日作成 サンプルテキストについて 各講師が 講義の内容が伝わりやすいページ を選びました テキストのページは必ずしも連続していません 一部を抜粋しています 幾何光学講座については 実物のテキストではなくガイダンスを掲載いたします 対象とする構造系 物理モデル 連続体 固体 弾性体 / 弾塑性体 / 粘弾性体 / 固体

More information

memo

memo 数理情報工学特論第一 機械学習とデータマイニング 4 章 : 教師なし学習 3 かしまひさし 鹿島久嗣 ( 数理 6 研 ) kashima@mist.i.~ DEPARTMENT OF MATHEMATICAL INFORMATICS 1 グラフィカルモデルについて学びます グラフィカルモデル グラフィカルラッソ グラフィカルラッソの推定アルゴリズム 2 グラフィカルモデル 3 教師なし学習の主要タスクは

More information

行列、ベクトル

行列、ベクトル 行列 (Mtri) と行列式 (Determinnt). 行列 (Mtri) の演算. 和 差 積.. 行列とは.. 行列の和差 ( 加減算 ).. 行列の積 ( 乗算 ). 転置行列 対称行列 正方行列. 単位行列. 行列式 (Determinnt) と逆行列. 行列式. 逆行列. 多元一次連立方程式のコンピュータによる解法. コンピュータによる逆行列の計算.. 定数項の異なる複数の方程式.. 逆行列の計算

More information

Microsoft PowerPoint - omp-02.ppt

Microsoft PowerPoint - omp-02.ppt 科学技術計算のための マルチコアプログラミング入門第 Ⅱ 部 : オーダリング 2009 年 9 月 14 日 15 日中島研吾 2009-09-14/15 2 データ依存性の解決策は? オーダリング (Ordering) について Red-Black,Multicolor(MC) Cuthill-McKee(CM),Reverse-CM(RCM) オーダリングと収束の関係 オーダリングの実装 オーダリング付

More information

memo

memo 計数工学プログラミング演習 ( 第 4 回 ) 2016/05/10 DEPARTMENT OF MATHEMATICA INFORMATICS 1 内容 リスト 疎行列 2 連結リスト (inked ists) オブジェクトをある線形順序に並べて格納するデータ構造 単方向連結リスト (signly linked list) の要素 x キーフィールド key ポインタフィールド next x->next:

More information

Microsoft PowerPoint - SolverDirect.ppt [互換モード]

Microsoft PowerPoint - SolverDirect.ppt [互換モード] 線形方程式の解法 : 直接法 中島研吾 東京大学情報基盤センター同大学院情報理工学系研究科数理情報学専攻数値解析 ( 科目番号 58) C 言語速習コース 以下の 日間実施 月 7 日 ( 金 )5:-8:( 予定 ) 翌日センター試験のため休講, 浅野地区は入試がなく施設利用可能 月 日 ( 火 ):-7:( 予定 ) 情報基盤センター ( 浅野 ) 本館 大演習室 http://www.tc.-too.c.jp/tcpge/ctmp/jhogo.pdf

More information

PowerPoint Presentation

PowerPoint Presentation 付録 2 2 次元アフィン変換 直交変換 たたみ込み 1.2 次元のアフィン変換 座標 (x,y ) を (x,y) に移すことを 2 次元での変換. 特に, 変換が と書けるとき, アフィン変換, アフィン変換は, その 1 次の項による変換 と 0 次の項による変換 アフィン変換 0 次の項は平行移動 1 次の項は座標 (x, y ) をベクトルと考えて とすれば このようなもの 2 次元ベクトルの線形写像

More information

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�)

Microsoft Word ã‡»ã…«ã‡ªã…¼ã…‹ã…žã…‹ã…³ã†¨åłºæœ›å•¤(佒芤喋çfl�) Cellulr uo nd heir eigenlues 東洋大学総合情報学部 佐藤忠一 Tdzu So Depren o Inorion Siene nd rs Toyo Uniersiy. まえがき 一次元セルオ-トマトンは数学的には記号列上の行列の固有値問題である 固有値問題の行列はふつう複素数体上の行列である 量子力学における固有値問題も無限次元ではあるが関数環上の行列でその成分は可換環である

More information

OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 富山富山県立大学中川慎二

OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 富山富山県立大学中川慎二 OpenFOAM(R) ソースコード入門 pt1 熱伝導方程式の解法から有限体積法の実装について考える 前編 : 有限体積法の基礎確認 2013/11/17 オープンCAE 勉強会 @ 富山富山県立大学中川慎二 * OpenFOAM のソースコードでは, 基礎式を偏微分方程式の形で記述する.OpenFOAM 内部では, 有限体積法を使ってこの微分方程式を解いている. どのようにして, 有限体積法に基づく離散化が実現されているのか,

More information

スライド 1

スライド 1 大規模連立一次方程式に対する 高並列前処理技術について 今倉暁筑波大学計算科学研究センター 共同研究者櫻井鉄也 ( 筑波大学 ), 住吉光介 ( 沼津高専 ), 松古栄夫 (KEK) 1 /49 本日のトピック 大規模連立一次方程式 のための ( 前処理付き )Krylov 部分空間法の概略について紹介する. 高並列性を考慮した前処理として, 反復法を用いた重み付き定常反復型前処理を導入し, そのパラメータを最適化手法を提案

More information

PowerPoint Presentation

PowerPoint Presentation 応用数学 Ⅱ (7) 7 連立微分方程式の立て方と解法. 高階微分方程式による解法. ベクトル微分方程式による解法 3. 演算子による解法 連立微分方程式 未知数が複数個あり, 未知数の数だけ微分方程式が与えられている場合, これらを連立微分方程式という. d d 解法 () 高階微分方程式化による解法 つの方程式から つの未知数を消去して, 未知数が つの方程式に変換 のみの方程式にするために,

More information

Microsoft PowerPoint - H21生物計算化学2.ppt

Microsoft PowerPoint - H21生物計算化学2.ppt 演算子の行列表現 > L いま 次元ベクトル空間の基底をケットと書くことにする この基底は完全系を成すとすると 空間内の任意のケットベクトルは > > > これより 一度基底を与えてしまえば 任意のベクトルはその基底についての成分で完全に記述することができる これらの成分を列行列の形に書くと M これをベクトル の基底 { >} による行列表現という ところで 行列 A の共役 dont 行列は A

More information

数学 ⅡB < 公理 > 公理を論拠に定義を用いて定理を証明する 1 大小関係の公理 順序 (a > b, a = b, a > b 1 つ成立 a > b, b > c a > c 成立 ) 順序と演算 (a > b a + c > b + c (a > b, c > 0 ac > bc) 2 図

数学 ⅡB < 公理 > 公理を論拠に定義を用いて定理を証明する 1 大小関係の公理 順序 (a > b, a = b, a > b 1 つ成立 a > b, b > c a > c 成立 ) 順序と演算 (a > b a + c > b + c (a > b, c > 0 ac > bc) 2 図 数学 Ⅱ < 公理 > 公理を論拠に定義を用いて定理を証明する 大小関係の公理 順序 >, =, > つ成立 >, > > 成立 順序と演算 > + > + >, > > 図形の公理 平行線の性質 錯角 同位角 三角形の合同条件 三角形の合同相似 量の公理 角の大きさ 線分の長さ < 空間における座漂とベクトル > ベクトルの演算 和 差 実数倍については 文字の計算と同様 ベクトルの成分表示 平面ベクトル

More information

(Microsoft PowerPoint - \221\34613\211\361)

(Microsoft PowerPoint - \221\34613\211\361) 計算力学 ~ 第 回弾性問題の有限要素解析 (Ⅱ)~ 修士 年後期 ( 選択科目 ) 担当 : 岩佐貴史 講義の概要 全 5 講義. 計算力学概論, ガイダンス. 自然現象の数理モデル化. 行列 場とその演算. 数値計算法 (Ⅰ) 5. 数値計算法 (Ⅱ) 6. 初期値 境界値問題 (Ⅰ) 7. 初期値 境界値問題 (Ⅱ) 8. マトリックス変位法による構造解析 9. トラス構造の有限要素解析. 重み付き残差法と古典的近似解法.

More information

Microsoft PowerPoint - 2_FrontISTRと利用可能なソフトウェア.pptx

Microsoft PowerPoint - 2_FrontISTRと利用可能なソフトウェア.pptx 東京大学本郷キャンパス 工学部8号館2階222中会議室 13:30-14:00 FrontISTRと利用可能なソフトウェア 2017年4月28日 第35回FrontISTR研究会 FrontISTRの並列計算ハンズオン 精度検証から並列性能評価まで 観測された物理現象 物理モデル ( 支配方程式 ) 連続体の運動を支配する偏微分方程式 離散化手法 ( 有限要素法, 差分法など ) 代数的な数理モデル

More information

Microsoft Word - 補論3.2

Microsoft Word - 補論3.2 補論 3. 多変量 GARC モデル 07//6 新谷元嗣 藪友良 対数尤度関数 3 章 7 節では 変量の対数尤度を求めた ここでは多変量の場合 とくに 変量について対数尤度を求める 誤差項 は平均 0 で 次元の正規分布に従うとする 単純化のため 分散と共分散は時間を通じて一定としよう ( この仮定は後で変更される ) したがって ij から添え字 を除くことができる このとき と の尤度関数は

More information

<4D F736F F D E4F8E9F82C982A882AF82E98D7397F1>

<4D F736F F D E4F8E9F82C982A882AF82E98D7397F1> 3 三次における行列 要旨高校では ほとんど 2 2 の正方行列しか扱ってなく 三次の正方行列について考えてみたかったため 数 C で学んだ定理を三次の正方行列に応用して 自分たちで仮説を立てて求めていったら 空間における回転移動を表す行列 三次のケーリー ハミルトンの定理 三次における逆行列を求めたり 仮説をたてることができた. 目的 数 C で学んだ定理を三次の正方行列に応用する 2. 概要目的の到達点として

More information

連立方程式の解法

連立方程式の解法 連立方程式の解法連立方程式をエクセルを用いて解く方法は以下の 2 種類が考えられます 1) エクセルの行列関数を用いる 2) VBA でヤコビ法やガウスザイデル法を用いる ここでは両方について説明します 1) エクセルの行列関数を用いる方法エクセルは表計算ですから行と列に並んだ数値を扱うのは得意です 連立方程式は次のように行列を用いて表すことができます 連立方程式が行列形式で表されることを考慮して解法を考えてみます

More information

代数 幾何 < ベクトル > 1 ベクトルの演算 和 差 実数倍については 文字の計算と同様 2 ベクトルの成分表示 平面ベクトル : a x e y e x, ) ( 1 y1 空間ベクトル : a x e y e z e x, y, ) ( 1 1 z1

代数 幾何 < ベクトル > 1 ベクトルの演算 和 差 実数倍については 文字の計算と同様 2 ベクトルの成分表示 平面ベクトル : a x e y e x, ) ( 1 y1 空間ベクトル : a x e y e z e x, y, ) ( 1 1 z1 代数 幾何 < ベクトル > ベクトルの演算 和 差 実数倍については 文字の計算と同様 ベクトルの成分表示 平面ベクトル :, 空間ベクトル : z,, z 成分での計算ができるようにすること ベクトルの内積 : os 平面ベクトル :,, 空間ベクトル :,,,, z z zz 4 ベクトルの大きさ 平面上 : 空間上 : z は 良く用いられる 5 m: に分ける点 : m m 図形への応用

More information

Microsoft PowerPoint - Eigen.ppt [互換モード]

Microsoft PowerPoint - Eigen.ppt [互換モード] 固有値解析 中島研吾 東京大学情報基盤センター同大学院情報理工学系研究科数理情報学専攻数値解析 ( 科目番号 58) 行列の固有値問題 べき乗法 対称行列の固有値計算法 Eige Eige A 行列の固有値問題 標準固有値問題 (Stdrd Eigevle Problem を満足する と を求める : 固有値 (eigevle) : 固有ベクトル (eigevetor) 一般固有値問題 (Geerl

More information

DVIOUT

DVIOUT 最適レギュレータ 松尾研究室資料 第 最適レギュレータ 節時不変型無限時間最適レギュレータ 状態フィードバックの可能な場合の無限時間問題における最適レギュレータについて確定系について説明する. ここで, レギュレータとは状態量をゼロにするようなコントローラのことである. なぜ, 無限時間問題のみを述べるかという理由は以下のとおりである. 有限時間の最適レギュレータ問題の場合の最適フィードバックゲインは微分方程式の解から構成される時間関数として表現される.

More information

Microsoft Word - thesis.doc

Microsoft Word - thesis.doc 剛体の基礎理論 -. 剛体の基礎理論初めに本論文で大域的に使用する記号を定義する. 使用する記号トルク撃力力角運動量角速度姿勢対角化された慣性テンソル慣性テンソル運動量速度位置質量時間 J W f F P p .. 質点の並進運動 質点は位置 と速度 P を用いる. ニュートンの運動方程式 という状態を持つ. 但し ここでは速度ではなく運動量 F P F.... より質点の運動は既に明らかであり 質点の状態ベクトル

More information

以下 変数の上のドットは時間に関する微分を表わしている (ex. 2 dx d x x, x 2 dt dt ) 付録 E 非線形微分方程式の平衡点の安定性解析 E-1) 非線形方程式の線形近似特に言及してこなかったが これまでは線形微分方程式 ( x や x, x などがすべて 1 次で なおかつ

以下 変数の上のドットは時間に関する微分を表わしている (ex. 2 dx d x x, x 2 dt dt ) 付録 E 非線形微分方程式の平衡点の安定性解析 E-1) 非線形方程式の線形近似特に言及してこなかったが これまでは線形微分方程式 ( x や x, x などがすべて 1 次で なおかつ 以下 変数の上のドットは時間に関する微分を表わしている (e. d d, dt dt ) 付録 E 非線形微分方程式の平衡点の安定性解析 E-) 非線形方程式の線形近似特に言及してこなかったが これまでは線形微分方程式 ( や, などがすべて 次で なおかつそれらの係数が定数であるような微分方程式 ) に対して安定性の解析を行ってきた しかしながら 実際には非線形の微分方程式で記述される現象も多く存在する

More information

Microsoft PowerPoint - SolverPrecond.ppt [互換モード]

Microsoft PowerPoint - SolverPrecond.ppt [互換モード] 前処理手法について 中島研吾 東京大学情報基盤センター同大学院情報理工学系研究科数理情報学専攻数値解析 ( 科目番号 500080) Precond. 2 TOC 前処理とは? 接触問題の例 ( 前処理 ) Selective Blocking Preconditioning 3 前処理 (preconditioning) とは? 反復法の収束は係数行列の固有値分布に依存 固有値分布が少なく, かつ1に近いほど収束が早い

More information

テンソル ( その ) テンソル ( その ) スカラー ( 階のテンソル ) スカラー ( 階のテンソル ) 階数 ベクトル ( 階のテンソル ) ベクトル ( 階のテンソル ) 行列表現 シンボリック表現 [ ]

テンソル ( その ) テンソル ( その ) スカラー ( 階のテンソル ) スカラー ( 階のテンソル ) 階数 ベクトル ( 階のテンソル ) ベクトル ( 階のテンソル ) 行列表現 シンボリック表現 [ ] Tsor th-ordr tsor by dcl xprsso m m Lm m k m k L mk kk quott rul by symbolc xprsso Lk X thrd-ordr tsor cotrcto j j Copyrght s rsrvd. No prt of ths documt my b rproducd for proft. テンソル ( その ) テンソル ( その

More information

多次元レーザー分光で探る凝縮分子系の超高速動力学

多次元レーザー分光で探る凝縮分子系の超高速動力学 波動方程式と量子力学 谷村吉隆 京都大学理学研究科化学専攻 http:theochem.kuchem.kyoto-u.ac.jp TA: 岩元佑樹 iwamoto.y@kuchem.kyoto-u.ac.jp ベクトルと行列の作法 A 列ベクトル c = c c 行ベクトル A = [ c c c ] 転置ベクトル T A = [ c c c ] AA 内積 c AA = [ c c c ] c =

More information

NS NS Scalar turbulence 5 6 FEM NS Mesh (A )

NS NS Scalar turbulence 5 6 FEM NS Mesh (A ) 22 3 2 1 2 2 2 3 3 4 NS 4 4.1 NS............ 5 5 Scalar turbulence 5 6 FEM 5 6.1 NS.................................... 6 6.2 Mes A )................................... 6 6.3.....................................

More information

Microsoft Word - NumericalComputation.docx

Microsoft Word - NumericalComputation.docx 数値計算入門 武尾英哉. 離散数学と数値計算 数学的解法の中には理論計算では求められないものもある. 例えば, 定積分は, まずは積分 ( 被積分関数の原始関数をみつけること できなければ値を得ることはできない. また, ある関数の所定の値における微分値を得るには, まずその関数の微分ができなければならない. さらに代数方程式の解を得るためには, 解析的に代数方程式を解く必要がある. ところが, これらは必ずしも解析的に導けるとは限らない.

More information

数学の世界

数学の世界 東京女子大学文理学部数学の世界 (2002 年度 ) 永島孝 17 6 行列式の基本法則と効率的な計算法 基本法則 三次以上の行列式についても, 二次の場合と同様な法則がなりたつ ここには三次の場合を例示するが, 四次以上でも同様である 1 単位行列の行列式の値は 1 である すなわち 1 0 0 0 1 0 1 0 0 1 2 二つの列を入れ替えると行列式の値は 1 倍になる 例えば a 13 a

More information

Microsoft Word - 201hyouka-tangen-1.doc

Microsoft Word - 201hyouka-tangen-1.doc 数学 Ⅰ 評価規準の作成 ( 単元ごと ) 数学 Ⅰ の目標及び図形と計量について理解させ 基礎的な知識の習得と技能の習熟を図り それらを的確に活用する機能を伸ばすとともに 数学的な見方や考え方のよさを認識できるようにする 評価の観点の趣旨 式と不等式 二次関数及び図形と計量における考え方に関 心をもつとともに 数学的な見方や考え方のよさを認識し それらを事象の考察に活用しようとする 式と不等式 二次関数及び図形と計量における数学的な見

More information

memo

memo 数理情報工学演習第一 C プログラミング演習 ( 第 5 回 ) 2015/05/11 DEPARTMENT OF MATHEMATICAL INFORMATICS 1 今日の内容 : プロトタイプ宣言 ヘッダーファイル, プログラムの分割 課題 : 疎行列 2 プロトタイプ宣言 3 C 言語では, 関数や変数は使用する前 ( ソースの上のほう ) に定義されている必要がある. double sub(int

More information

線形代数とは

線形代数とは 線形代数とは 第一回ベクトル 教科書 エクササイズ線形代数 立花俊一 成田清正著 共立出版 必要最低限のことに限る 得意な人には物足りないかもしれません 線形代数とは何をするもの? 線形関係 y 直線 yもも 次式で登場する (( 次の形 ) 線形 ただし 次元の話世の中は 3 次元 [4[ 次元 ] 次元 3 次元 4 次元 はどうやって直線を表すの? ベクトルや行列の概念 y A ベクトルを使うと

More information

Microsoft PowerPoint - シミュレーション工学-2010-第1回.ppt

Microsoft PowerPoint - シミュレーション工学-2010-第1回.ppt シミュレーション工学 ( 後半 ) 東京大学人工物工学研究センター 鈴木克幸 CA( Compter Aded geerg ) r. Jaso Lemo (SC, 98) 設計者が解析ツールを使いこなすことにより 設計の評価 設計の質の向上を図る geerg の本質の 計算機による支援 (CA CAM などより広い名前 ) 様々な汎用ソフトの登場 工業製品の設計に不可欠のツール 構造解析 流体解析

More information

<4D F736F F F696E74202D F A282BD94BD959C89F A4C E682528D652E707074>

<4D F736F F F696E74202D F A282BD94BD959C89F A4C E682528D652E707074> 発表の流れ SSE を用いた反復解法ライブラリ Lis 4 倍精度版の高速化 小武守恒 (JST 東京大学 ) 藤井昭宏 ( 工学院大学 ) 長谷川秀彦 ( 筑波大学 ) 西田晃 ( 中央大学 JST) はじめに 4 倍精度演算について Lisへの実装 SSEによる高速化 性能評価 スピード 収束 まとめ はじめに クリロフ部分空間法たとえば CG 法は, 理論的には高々 n 回 (n は係数行列の次元数

More information

例 e 指数関数的に減衰する信号を h( a < + a a すると, それらのラプラス変換は, H ( ) { e } e インパルス応答が h( a < ( ただし a >, U( ) { } となるシステムにステップ信号 ( y( のラプラス変換 Y () は, Y ( ) H ( ) X (

例 e 指数関数的に減衰する信号を h( a < + a a すると, それらのラプラス変換は, H ( ) { e } e インパルス応答が h( a < ( ただし a >, U( ) { } となるシステムにステップ信号 ( y( のラプラス変換 Y () は, Y ( ) H ( ) X ( 第 週ラプラス変換 教科書 p.34~ 目標ラプラス変換の定義と意味を理解する フーリエ変換や Z 変換と並ぶ 信号解析やシステム設計における重要なツール ラプラス変換は波動現象や電気回路など様々な分野で 微分方程式を解くために利用されてきた ラプラス変換を用いることで微分方程式は代数方程式に変換される また 工学上使われる主要な関数のラプラス変換は簡単な形の関数で表されるので これを ラプラス変換表

More information

GeoFEM開発の経験から

GeoFEM開発の経験から FrontISTR における並列計算のしくみ < 領域分割に基づく並列 FEM> メッシュ分割 領域分割 領域分割 ( パーティショニングツール ) 全体制御 解析制御 メッシュ hecmw_ctrl.dat 境界条件 材料物性 計算制御パラメータ 可視化パラメータ 領域分割ツール 逐次計算 並列計算 Front ISTR FEM の主な演算 FrontISTR における並列計算のしくみ < 領域分割に基づく並列

More information

補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位

補足 中学で学習したフレミング左手の法則 ( 電 磁 力 ) と関連付けると覚えやすい 電磁力は電流と磁界の外積で表される 力 F 磁 電磁力 F li 右ねじの回転の向き電 li ( l は導線の長さ ) 補足 有向線分とベクトル有向線分 : 矢印の位 http://totemt.sur.ne.p 外積 ( ベクトル積 ) の活用 ( 面積, 法線ベクトル, 平面の方程式 ) 3 次元空間の つのベクトルの積が つのベクトルを与えるようなベクトルの掛け算 ベクトルの積がベクトルを与えることからベクトル積とも呼ばれる これに対し内積は符号と大きさをもつ量 ( スカラー量 ) を与えるので, スカラー積とも呼ばれる 外積を使うと, 平行四辺形や三角形の面積,

More information

行列の反復解法 1. 点 Jacobi 法 数値解法の重要な概念の一つである反復法を取り上げ 連立一次方程式 Au=b の反復解法を調べる 行列のスペクトル半径と収束行列の定義を与える 行列のスペクトル半径行列 Aの固有値の絶対値の最大値でもって 行列 Aのスペクトル半径 r(a) を与える 収束行

行列の反復解法 1. 点 Jacobi 法 数値解法の重要な概念の一つである反復法を取り上げ 連立一次方程式 Au=b の反復解法を調べる 行列のスペクトル半径と収束行列の定義を与える 行列のスペクトル半径行列 Aの固有値の絶対値の最大値でもって 行列 Aのスペクトル半径 r(a) を与える 収束行 行列の反復解法 1. 点 Jacobi 法 数値解法の重要な概念の一つである反復法を取り上げ 連立一次方程式 Au=b の反復解法を調べる 行列のスペクトル半径と収束行列の定義を与える 行列のスペクトル半径行列 Aの固有値の絶対値の最大値でもって 行列 Aのスペクトル半径 r(a) を与える 収束行列 B が正方行列で のとき B を収束行列と呼ぶ 定理収束行列のスペクトル半径は である 簡単な証明もし

More information

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ 4 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プログラミング技術 工業 333 実教出版 ) 共通 : 科目 プログラミング技術 のオリエンテーション プログラミング技術は

More information

スライド 1

スライド 1 数値解析 平成 30 年度前期第 10 週 [6 月 12 日 ] 静岡大学工学研究科機械工学専攻ロボット 計測情報分野創造科学技術大学院情報科学専攻 三浦憲二郎 講義アウトライン [6 月 12 日 ] 連立 1 次方程式の直接解法 ガウス消去法 ( 復習 ) 部分ピボット選択付きガウス消去法 連立 1 次方程式 連立 1 次方程式の重要性 非線形の問題は基本的には解けない. 非線形問題を線形化して解く.

More information

1999年度 センター試験・数学ⅡB

1999年度 センター試験・数学ⅡB 99 センター試験数学 Ⅱ 数学 B 問題 第 問 ( 必答問題 ) [] 関数 y cos3x の周期のうち正で最小のものはアイウ 解答解説のページへ 0 x 360 のとき, 関数 y cos3x において, y となる x はエ個, y となる x はオ 個ある また, y sin x と y cos3x のグラフより, 方程式 sin x cos3x は 0 x 360のときカ個の解をもつことがわかる

More information

genron-3

genron-3 " ( K p( pasals! ( kg / m 3 " ( K! v M V! M / V v V / M! 3 ( kg / m v ( v "! v p v # v v pd v ( J / kg p ( $ 3! % S $ ( pv" 3 ( ( 5 pv" pv R" p R!" R " ( K ( 6 ( 7 " pv pv % p % w ' p% S & $ p% v ( J /

More information

Chap2

Chap2 逆三角関数の微分 Arcsin の導関数を計算する Arcsin I. 初等関数の微積分 sin [, ], [π/, π/] cos sin / (Arcsin ) 計算力の体力をつけよう π/ π/ E. II- 次の関数の導関数を計算せよ () Arccos () Arctan E. I- の解答 不定積分あれこれ () Arccos n log C C (n ) n e e C log (log

More information

Laplace2.rtf

Laplace2.rtf =0 ラプラスの方程式は 階の微分方程式で, 一般的に3つの座標変数をもつ. ここでは, 直角座標系, 円筒座標系, 球座標系におけるラプラスの方程式の解き方を説明しよう. 座標変数ごとに方程式を分離し, それを解いていく方法は変数分離法と呼ばれる. 変数分離解と固有関数展開法. 直角座標系における 3 次元の偏微分方程式 = x + y + z =0 (.) を解くために,x, y, z について互いに独立な関数の積で成り立っていると考え,

More information

Microsoft PowerPoint - 4.pptx

Microsoft PowerPoint - 4.pptx while 文 (1) 繰り返しの必要性 while の形式と動作 繰り返しにより平 根を求める ( 演習 ) 繰り返しにより 程式の解を求める ( 課題 ) Hello. をたくさん表示しよう Hello. を画面に 3 回表示するには, 以下で OK. #include int main() { printf("hello. n"); printf("hello. n");

More information

Microsoft PowerPoint - mp11-02.pptx

Microsoft PowerPoint - mp11-02.pptx 数理計画法第 2 回 塩浦昭義情報科学研究科准教授 shioura@dais.is.tohoku.ac.jp http://www.dais.is.tohoku.ac.jp/~shioura/teaching 前回の復習 数理計画とは? 数理計画 ( 復習 ) 数理計画問題とは? 狭義には : 数理 ( 数学 ) を使って計画を立てるための問題 広義には : 与えられた評価尺度に関して最も良い解を求める問題

More information

Microsoft PowerPoint - 夏の学校(CFD).pptx

Microsoft PowerPoint - 夏の学校(CFD).pptx /9/5 FD( 計算流体力学 ) の基礎理論 性能 運動分野 夏の学校 神戸大学大学院海事科学研究科勝井辰博 流体の質量保存 流体要素内の質量の増加率 [ 単位時間当たりの増加量 ] 単位時間に流体要素に流入する質量 流体要素 Fl lm (orol olm) v ( ) ガウスの定理 v( ) /9/5 = =( ) b=b =(b b b ) b= b = b + b + b アインシュタイン表記

More information

受信機時計誤差項の が残ったままであるが これをも消去するのが 重位相差である. 重位相差ある時刻に 衛星 から送られてくる搬送波位相データを 台の受信機 でそれぞれ測定する このとき各受信機で測定された衛星 からの搬送波位相データを Φ Φ とし 同様に衛星 からの搬送波位相データを Φ Φ とす

受信機時計誤差項の が残ったままであるが これをも消去するのが 重位相差である. 重位相差ある時刻に 衛星 から送られてくる搬送波位相データを 台の受信機 でそれぞれ測定する このとき各受信機で測定された衛星 からの搬送波位相データを Φ Φ とし 同様に衛星 からの搬送波位相データを Φ Φ とす RTK-GPS 測位計算アルゴリズム -FLOT 解 - 東京海洋大学冨永貴樹. はじめに GPS 測量を行う際 実時間で測位結果を得ることが出来るのは今のところ RTK-GPS 測位のみである GPS 測量では GPS 衛星からの搬送波位相データを使用するため 整数値バイアスを決定しなければならず これが測位計算を複雑にしている所以である この整数値バイアスを決定するためのつの方法として FLOT

More information

本日の講義内容 固有値 ( 線形代数 ) と応用問題 振動問題 ネットワーク定常問題 固有値計算アルゴリズム 密行列 べき乗法 ヤコビ法 ハウスホルダー三重対角 + 分割統治法 + 逆変換 疎行列 ランチョス法 ヤコビ デビッドソン法 その他 固有値計算ソフトウェア ScaLAPACK EigenE

本日の講義内容 固有値 ( 線形代数 ) と応用問題 振動問題 ネットワーク定常問題 固有値計算アルゴリズム 密行列 べき乗法 ヤコビ法 ハウスホルダー三重対角 + 分割統治法 + 逆変換 疎行列 ランチョス法 ヤコビ デビッドソン法 その他 固有値計算ソフトウェア ScaLAPACK EigenE Computer simulations create the future 固有値計算法 RIKEN AICS HPC Spring School 今村俊幸理化学研究所 AICS 2014/3/6 9:00~12:00 本日の講義内容 固有値 ( 線形代数 ) と応用問題 振動問題 ネットワーク定常問題 固有値計算アルゴリズム 密行列 べき乗法 ヤコビ法 ハウスホルダー三重対角 + 分割統治法 +

More information

<4D F736F F D FCD B90DB93AE96402E646F63>

<4D F736F F D FCD B90DB93AE96402E646F63> 7 章摂動法講義のメモ 式が複雑なので 黒板を何度も修正したし 間違ったことも書いたので メモを置きます 摂動論の式の導出無摂動系 先ず 厳密に解けている Schrödiger 方程式を考える,,,3,... 3,,,3,... は状態を区別する整数であり 状態 はエネルギー順に並んでいる 即ち は基底状態 は励起状態である { m } は相互に規格直交条件が成立する k m k mdx km k

More information

2018年度 東京大・理系数学

2018年度 東京大・理系数学 08 東京大学 ( 理系 ) 前期日程問題 解答解説のページへ関数 f ( ) = + cos (0 < < ) の増減表をつくり, + 0, 0 のと sin きの極限を調べよ 08 東京大学 ( 理系 ) 前期日程問題 解答解説のページへ n+ 数列 a, a, を, Cn a n = ( n =,, ) で定める n! an qn () n とする を既約分数 an p として表したときの分母

More information

【FdData中間期末過去問題】中学数学2年(連立方程式計算/加減法/代入法/係数決定)

【FdData中間期末過去問題】中学数学2年(連立方程式計算/加減法/代入法/係数決定) FdData 中間期末 : 中学数学 年 : 連立方程式計算 [ 元 1 次方程式 / 加減法 / 代入法 / 加減法と代入法 / 分数などのある連立方程式 / A=B=C, 元連立方程式 / 係数の決定 ] [ 数学 年 pdf ファイル一覧 ] 元 1 次方程式 次の方程式ア~カの中から, 元 1 次方程式をすべて選べ ア y = 6 イ x y = 5 ウ xy = 1 エ x + 5 = 9

More information

Stage 並列プログラミングを習得するためには : 1 計算機リテラシ, プログラミング言語 2 基本的な数値解析 3 実アプリケーション ( 例えば有限要素法, 分子動力学 ) のプログラミング 4 その並列化 という 4 つの段階 (stage) が必要である 本人材育成プログラムでは1~4を

Stage 並列プログラミングを習得するためには : 1 計算機リテラシ, プログラミング言語 2 基本的な数値解析 3 実アプリケーション ( 例えば有限要素法, 分子動力学 ) のプログラミング 4 その並列化 という 4 つの段階 (stage) が必要である 本人材育成プログラムでは1~4を コンピュータ科学特別講義 科学技術計算プログラミング I ( 有限要素法 ) 中島研吾 東京大学情報基盤センター 1. はじめに本稿では,2008 年度冬学期に実施した, コンピュータ科学特別講義 I 科学技術計算プログラミング ( 有限要素法 ) について紹介する 計算科学 工学, ハードウェアの急速な進歩, 発達を背景に, 第 3 の科学 としての大規模並列シミュレーションへの期待は, 産学において一層高まっている

More information

差分スキーム 物理 化学 生物現象には微分方程式でモデル化される例が多い モデルを使って現実の現象をコンピュータ上で再現することをシミュレーション ( 数値シミュレーション コンピュータシミュレーション ) と呼ぶ そのためには 微分方程式をコンピュータ上で計算できる数値スキームで近似することが必要

差分スキーム 物理 化学 生物現象には微分方程式でモデル化される例が多い モデルを使って現実の現象をコンピュータ上で再現することをシミュレーション ( 数値シミュレーション コンピュータシミュレーション ) と呼ぶ そのためには 微分方程式をコンピュータ上で計算できる数値スキームで近似することが必要 差分スキーム 物理 化学 生物現象には微分方程式でモデル化される例が多い モデルを使って現実の現象をコンピュータ上で再現することをシミュレーション ( 数値シミュレーション コンピュータシミュレーション ) と呼ぶ そのためには 微分方程式をコンピュータ上で計算できる数値スキームで近似することが必要になる その一つの方法が微分方程式を差分方程式におき直すことである 微分方程式の差分化 次の 1 次元境界値問題を考える

More information

構造力学Ⅰ第12回

構造力学Ⅰ第12回 第 回材の座屈 (0 章 ) p.5~ ( 復習 ) モールの定理 ( 手順 ) 座屈とは 荷重により梁に生じた曲げモーメントをで除して仮想荷重と考える 座屈荷重 偏心荷重 ( 曲げと軸力 ) 断面の核 この仮想荷重に対するある点でのせん断力 たわみ角に相当する曲げモーメント たわみに相当する ( 例 ) 単純梁の支点のたわみ角 : は 図 を仮想荷重と考えたときの 点の支点反力 B は 図 を仮想荷重と考えたときのB

More information

情報処理概論(第二日目)

情報処理概論(第二日目) 情報処理概論 工学部物質科学工学科応用化学コース機能物質化学クラス 第 8 回 2005 年 6 月 9 日 前回の演習の解答例 多項式の計算 ( 前半 ): program poly implicit none integer, parameter :: number = 5 real(8), dimension(0:number) :: a real(8) :: x, total integer

More information

< 中 3 分野例題付き公式集 > (1)2 の倍数の判定法は 1 の位が 0 又は偶数 ( 例題 )1~5 までの 5 つの数字を使って 3 ケタの数をつくるとき 2 の倍数は何通りできるか (2)5 の倍数の判定法は 1 の位が 0 又は 5 ( 例題 )1~9 までの 9 個の数字を使って 3

< 中 3 分野例題付き公式集 > (1)2 の倍数の判定法は 1 の位が 0 又は偶数 ( 例題 )1~5 までの 5 つの数字を使って 3 ケタの数をつくるとき 2 の倍数は何通りできるか (2)5 の倍数の判定法は 1 の位が 0 又は 5 ( 例題 )1~9 までの 9 個の数字を使って 3 () の倍数の判定法は の位が 0 又は偶数 ~ までの つの数字を使って ケタの数をつくるとき の倍数は何通りできるか () の倍数の判定法は の位が 0 又は ~9 までの 9 個の数字を使って ケタの数をつくるとき の倍数は何通りできるか () の倍数の判定法は 下 ケタが 00 又は の倍数 ケタの数 8 が の倍数となるときの 最小の ケタの数は ( 解 ) 一の位の数は の 通り 十の位は一の位の数以外の

More information

静的弾性問題の有限要素法解析アルゴリズム

静的弾性問題の有限要素法解析アルゴリズム 概要 基礎理論. 応力とひずみおよび平衡方程式. 降伏条件式. 構成式 ( 応力 - ひずみ関係式 ) 有限要素法. 有限要素法の概要. 仮想仕事の原理式と変分原理. 平面ひずみ弾性有限要素法定式化 FEM の基礎方程式平衡方程式. G G G ひずみ - 変位関係式 w w w. kl jkl j D 構成式応力 - ひずみ関係式 ) (. 変位の境界条件力の境界条件境界条件式 t S on V

More information

1/30 平成 29 年 3 月 24 日 ( 金 ) 午前 11 時 25 分第三章フェルミ量子場 : スピノール場 ( 次元あり ) 第三章フェルミ量子場 : スピノール場 フェルミ型 ボーズ量子場のエネルギーは 第二章ボーズ量子場 : スカラー場 の (2.18) より ˆ dp 1 1 =

1/30 平成 29 年 3 月 24 日 ( 金 ) 午前 11 時 25 分第三章フェルミ量子場 : スピノール場 ( 次元あり ) 第三章フェルミ量子場 : スピノール場 フェルミ型 ボーズ量子場のエネルギーは 第二章ボーズ量子場 : スカラー場 の (2.18) より ˆ dp 1 1 = / 平成 9 年 月 日 ( 金 午前 時 5 分第三章フェルミ量子場 : スピノール場 ( 次元あり 第三章フェルミ量子場 : スピノール場 フェルミ型 ボーズ量子場のエネルギーは 第二章ボーズ量子場 : スカラー場 の (.8 より ˆ ( ( ( q -, ( ( c ( H c c ë é ù û - Ü + c ( ( - に限る (. である 一方 フェルミ型は 成分をもち その成分を,,,,

More information

2016年度 京都大・文系数学

2016年度 京都大・文系数学 06 京都大学 ( 文系 ) 前期日程問題 解答解説のページへ xy 平面内の領域の面積を求めよ x + y, x で, 曲線 C : y= x + x -xの上側にある部分 -- 06 京都大学 ( 文系 ) 前期日程問題 解答解説のページへ ボタンを押すと あたり か はずれ のいずれかが表示される装置がある あたり の表示される確率は毎回同じであるとする この装置のボタンを 0 回押したとき,

More information

計算機シミュレーション

計算機シミュレーション . 運動方程式の数値解法.. ニュートン方程式の近似速度は, 位置座標 の時間微分で, d と定義されます. これを成分で書くと, d d li li とかけます. 本来は が の極限をとらなければいけませんが, 有限の小さな値とすると 秒後の位置座標は速度を用いて, と近似できます. 同様にして, 加速度は, 速度 の時間微分で, d と定義されます. これを成分で書くと, d d li li とかけます.

More information

Microsoft PowerPoint - Eigen.pptx

Microsoft PowerPoint - Eigen.pptx 固有値解析 中島研吾 東京大学情報基盤センター同大学院情報理工学系研究科数理情報学専攻数値解析 ( 科目番号 -58) 行列の固有値問題 べき乗法 対称行列の固有値計算法 : ヤコビ法 A 行列の固有値問題 標準固有値問題 (Stndrd vlue Prolem を満足する と を求める : 固有値 (eigenvlue) : 固有ベクトル (eigenvector) 一般固有値問題 (Generl

More information

cp-7. 配列

cp-7. 配列 cp-7. 配列 (C プログラムの書き方を, パソコン演習で学ぶシリーズ ) https://www.kkaneko.jp/cc/adp/index.html 金子邦彦 1 本日の内容 例題 1. 月の日数配列とは. 配列の宣言. 配列の添え字. 例題 2. ベクトルの内積例題 3. 合計点と平均点例題 4. 棒グラフを描く配列と繰り返し計算の関係例題 5. 行列の和 2 次元配列 2 今日の到達目標

More information

<8D828D5A838A817C A77425F91E6318FCD2E6D6364>

<8D828D5A838A817C A77425F91E6318FCD2E6D6364> 4 1 平面上のベクトル 1 ベクトルとその演算 例題 1 ベクトルの相等 次の問いに答えよ. ⑴ 右の図 1 は平行四辺形 である., と等しいベクトルをいえ. ⑵ 右の図 2 の中で互いに等しいベクトルをいえ. ただし, すべてのマス目は正方形である. 解 ⑴,= より, =,= より, = ⑵ 大きさと向きの等しいものを調べる. a =d, c = f d e f 1 右の図の長方形 において,

More information

Microsoft Word - 漸化式の解法NEW.DOCX

Microsoft Word - 漸化式の解法NEW.DOCX 閑話休題 漸化式の解法 基本形 ( 等差数列, 等比数列, 階差数列 ) 等差数列 : d 等比数列 : r の一般項を求めよ () 3, 5 () 3, () 5より数列 は, 初項 3, 公差の等差数列であるので 5 3 5 5 () 数列 は, 初項 3, 公比 の等比数列であるので 3 階差数列 : f の一般項を求めよ 3, より のとき k k 3 3 において, を代入すると 33 となるので,は

More information

学習指導要領

学習指導要領 (1) 数と式 学習指導要領 数と式 (1) 式の計算二次の乗法公式及び因数分解の公式の理解を深め 式を多面的にみたり目的に応じて式を適切に変形したりすること 東京都立町田高等学校学力スタンダード 整式の加法 減法 乗法展開の公式を利用できる 式を1 つの文字におき換えることによって, 式の計算を簡略化することができる 式の形の特徴に着目して変形し, 展開の公式が適用できるようにすることができる 因数分解因数分解の公式を利用できる

More information

Matrix and summation convention Kronecker delta δ ij 1 = 0 ( i = j) ( i j) permutation symbol e ijk = (even permutation) (odd permutation) (othe

Matrix and summation convention Kronecker delta δ ij 1 = 0 ( i = j) ( i j) permutation symbol e ijk = (even permutation) (odd permutation) (othe Matr ad summato covto Krockr dlta δ ( ) ( ) prmutato symbol k (v prmutato) (odd prmutato) (othrs) gvalu dtrmat dt 6 k rst r s kt opyrght s rsrvd. No part of ths documt may b rproducd for proft. 行列 行 正方行列

More information

レッスン15  行列とグラフ

レッスン15  行列とグラフ レッスン 15 行列とグラフ このレッスンでは行列のグラフを定義し 簡単な応用例として 行列のグラフの強連結性 ( 各頂点から他のすべての頂点に至る道が存在する ) 行列の既約性 ( 順列行列相似変換による ブロック三角行列化が不可能 ) およびこの事実の 2 次元境界値問題の差分法による解法への応用をのべる グラフ理論入門のつもりで読んで頂きたい 15.1 行列のグラフ 与えられた次正方行列 =

More information

Microsoft PowerPoint - CSA_B3_EX2.pptx

Microsoft PowerPoint - CSA_B3_EX2.pptx Computer Science A Hardware Design Excise 2 Handout V2.01 May 27 th.,2019 CSAHW Computer Science A, Meiji University CSA_B3_EX2.pptx 32 Slides Renji Mikami 1 CSAHW2 ハード演習内容 2.1 二次元空間でのベクトルの直交 2.2 Reserved

More information

< BD96CA E B816989A B A>

< BD96CA E B816989A B A> 数 Ⅱ 平面ベクトル ( 黄色チャート ) () () ~ () " 図 # () () () - - () - () - - () % から %- から - -,- 略 () 求めるベクトルを とする S であるから,k となる実数 k がある このとき k k, であるから k すなわち k$, 求めるベクトルは --,- - -7- - -, から また ',' 7 (),,-,, -, -,

More information

Microsoft PowerPoint - Lec17 [互換モード]

Microsoft PowerPoint - Lec17 [互換モード] 情報デザイン専攻 画像情報処理論及び演習 - フィルタ処理 エッジ強調 - 差分法 変分法と平滑化 エッジ S Yoszw: s@re.p 今日の授業内容 www.re.p/rc/yoszw/ecres/e.ml www.re.p/rc/yoszw/ecres/ec7.p. 勾配とエッジの基礎 : 差分法.. plcと拡散方程式の基礎 : 変分法. 第 6 回講義水曜日 限教室 68 吉澤信 s@re.p

More information

<4D F736F F F696E74202D20906C8D488AC28BAB90DD8C7689F090CD8D488A D91E F1>

<4D F736F F F696E74202D20906C8D488AC28BAB90DD8C7689F090CD8D488A D91E F1> 人工環境設計解析工学構造力学と有限要素法 ( 第 回 ) 東京大学新領域創成科学研究科 鈴木克幸 固体力学の基礎方程式 変位 - ひずみの関係 適合条件式 ひずみ - 応力の関係 構成方程式 応力 - 外力の関係 平衡方程式 境界条件 変位規定境界 反力規定境界 境界条件 荷重応力ひずみ変形 場の方程式 Γ t Γ t 平衡方程式構成方程式適合条件式 構造力学の基礎式 ひずみ 一軸 荷重応力ひずみ変形

More information

学習指導要領

学習指導要領 (1) 数と式 ア数と集合 ( ア ) 実数数を実数まで拡張する意義を理解し 簡単な無理数の四則計算をすること 絶対値の意味を理解し適切な処理することができる 例題 1-3 の絶対値をはずせ 展開公式 ( a + b ) ( a - b ) = a 2 - b 2 を利用して根号を含む分数の分母を有理化することができる 例題 5 5 + 2 の分母を有理化せよ 実数の整数部分と小数部分の表し方を理解している

More information

gengo1-8

gengo1-8 問題提起その 1 一文字ずつ文字 ( 数字 ) を読み込み それぞれの文字が何回入力されたかを数えて出力するプログラム int code, count_0=0, count_1=0, count_2=0, count_3=0,..., count_9=0; while( (code=getchar())!= EOF ){ } switch(code){ case 0 : count_0++; break;

More information

学習指導要領

学習指導要領 (1) 数と式 学習指導要領ア数と集合 ( ア ) 実数数を実数まで拡張する意義を理解し 簡単な無理数の四則計算をすること 第 1 章第 節実数 東高校学力スタンダード 4 実数 (P.3~7) 自然数 整数 有理数 無理数 実数のそれぞれの集 合について 四則演算の可能性について判断できる ( 例 ) 下の表において, それぞれの数の範囲で四則計算を考えるとき, 計算がその範囲で常にできる場合には

More information

Microsoft Word - Chap17

Microsoft Word - Chap17 第 7 章化学反応に対する磁場効果における三重項機構 その 7.. 節の訂正 年 7 月 日. 節 章の9ページ の赤枠に記載した説明は間違いであった事に気付いた 以下に訂正する しかし.. 式は 結果的には正しいので安心して下さい 磁場 の存在下でのT 状態のハミルトニアン は ゼーマン項 と時間に依存するスピン-スピン相互作用の項 との和となる..=7.. g S = g S z = S z g

More information

4STEP 数学 B( 新課程 ) を解いてみた 平面上のベクトル 6 ベクトルと図形 59 A 2 B 2 = AB 2 - AA æ 1 2 ö = AB1 + AC1 - ç AA1 + AB1 3 3 è 3 3 ø 1

4STEP 数学 B( 新課程 ) を解いてみた   平面上のベクトル 6 ベクトルと図形 59 A 2 B 2 = AB 2 - AA æ 1 2 ö = AB1 + AC1 - ç AA1 + AB1 3 3 è 3 3 ø 1 平面上のベクトル 6 ベクトルと図形 A B AB AA AB + AC AA + AB AA AB + AC AB AB + AC + AC AB これと A B ¹, AB ¹ より, A B // AB \A B //AB A C A B A B B C 6 解法 AB b, AC とすると, QR AR AQ b QP AP AQ AB + BC b b + ( b ) b b b QR よって,P,

More information

経営学部2015.indd

経営学部2015.indd 研究ノート Excel を用いた連立方程式の解法の比較光成豊明 Excel を用いた連立方程式の解法の比較 The comparison of the answer of the simultaneous equation which used Excel 光成豊明 Toyoaki Mitsunari 本報告では, 表計算ソフトウェアである Excel を使用して連立方程式の解法の手段として, 消去法

More information

<4D F736F F D2094F795AA95FB92F68EAE82CC89F082AB95FB E646F63>

<4D F736F F D2094F795AA95FB92F68EAE82CC89F082AB95FB E646F63> 力学 A 金曜 限 : 松田 微分方程式の解き方 微分方程式の解き方のところが分からなかったという声が多いので プリントにまとめます 数学的に厳密な話はしていないので 詳しくは数学の常微分方程式を扱っているテキストを参照してください また os s は既知とします. 微分方程式の分類 常微分方程式とは 独立変数 と その関数 その有限次の導関数 がみたす方程式 F,,, = のことです 次までの導関数を含む方程式を

More information

今後の予定 6/29 パターン形成第 11 回 7/6 データ解析第 12 回 7/13 群れ行動 ( 久保先生 ) 第 13 回 7/17 ( 金 ) 休講 7/20 まとめ第 14 回 7/27 休講?

今後の予定 6/29 パターン形成第 11 回 7/6 データ解析第 12 回 7/13 群れ行動 ( 久保先生 ) 第 13 回 7/17 ( 金 ) 休講 7/20 まとめ第 14 回 7/27 休講? 今後の予定 6/29 パターン形成第 11 回 7/6 データ解析第 12 回 7/13 群れ行動 ( 久保先生 ) 第 13 回 7/17 ( 金 ) 休講 7/20 まとめ第 14 回 7/27 休講? 数理生物学演習 第 11 回パターン形成 本日の目標 2 次元配列 分子の拡散 反応拡散モデル チューリングパタン 拡散方程式 拡散方程式 u t = D 2 u 拡散が生じる分子などの挙動を記述する.

More information

Microsoft PowerPoint - H22制御工学I-10回.ppt

Microsoft PowerPoint - H22制御工学I-10回.ppt 制御工学 I 第 回 安定性 ラウス, フルビッツの安定判別 平成 年 6 月 日 /6/ 授業の予定 制御工学概論 ( 回 ) 制御技術は現在様々な工学分野において重要な基本技術となっている 工学における制御工学の位置づけと歴史について説明する さらに 制御システムの基本構成と種類を紹介する ラプラス変換 ( 回 ) 制御工学 特に古典制御ではラプラス変換が重要な役割を果たしている ラプラス変換と逆ラプラス変換の定義を紹介し

More information

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき

More information

<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69

<4D F736F F F696E74202D2091E6824F82538FCD8CEB82E88C9F8F6F814592F990B382CC8CB4979D82BB82CC82505F D E95848D8682CC90B69 第 章 誤り検出 訂正の原理 その ブロック符号とその復号 安達文幸 目次 誤り訂正符号化を用いる伝送系誤り検出符号誤り検出 訂正符号 7, ハミング符号, ハミング符号生成行列, パリティ検査行列の一般形符号の生成行列符号の生成行列とパリティ検査行列の関係符号の訂正能力符号多項式 安達 : コミュニケーション符号理論 安達 : コミュニケーション符号理論 誤り訂正符号化を用いる伝送系 伝送システム

More information

に対して 例 2: に対して 逆行列は常に存在するとは限らない 逆行列が存在する行列を正則行列 (regular matrix) という 正則である 逆行列が存在する 一般に 正則行列 A の逆行列 A -1 も正則であり (A -1 ) -1 =A が成り立つ また 2 つの正則行列 A B の積

に対して 例 2: に対して 逆行列は常に存在するとは限らない 逆行列が存在する行列を正則行列 (regular matrix) という 正則である 逆行列が存在する 一般に 正則行列 A の逆行列 A -1 も正則であり (A -1 ) -1 =A が成り立つ また 2 つの正則行列 A B の積 2 逆行列 逆行列の計算は 連立一次方程式を数値的に解くために利用される 気象学の分野では線形系の応答問題を数値的に解くときに用いられることも多い ここでは計算機を用いて逆行列を求める方法を学ぶ 2.1 はじめにたとえば 次のような連立一次方程式を解くことを考える このような 2 元連立一次方程式は 代入法や消去法によって容易に解くことができる 解法をプログラミング言語によって記述することも困難ではない

More information

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生

0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生 0 21 カラー反射率 slope aspect 図 2.9: 復元結果例 2.4 画像生成技術としての計算フォトグラフィ 3 次元情報を復元することにより, 画像生成 ( レンダリング ) に応用することが可能である. 近年, コンピュータにより, カメラで直接得られない画像を生成する技術分野が生まれ, コンピューテーショナルフォトグラフィ ( 計算フォトグラフィ ) と呼ばれている.3 次元画像認識技術の計算フォトグラフィへの応用として,

More information

第 5 章 構造振動学 棒の振動を縦振動, 捩り振動, 曲げ振動に分けて考える. 5.1 棒の縦振動と捩り振動 まっすぐな棒の縦振動の固有振動数 f[ Hz] f = l 2pL である. ただし, L [ 単位 m] は棒の長さ, [ 2 N / m ] 3 r[ 単位 Kg / m ] E r

第 5 章 構造振動学 棒の振動を縦振動, 捩り振動, 曲げ振動に分けて考える. 5.1 棒の縦振動と捩り振動 まっすぐな棒の縦振動の固有振動数 f[ Hz] f = l 2pL である. ただし, L [ 単位 m] は棒の長さ, [ 2 N / m ] 3 r[ 単位 Kg / m ] E r 第 5 章 構造振動学 棒の振動を縦振動, 捩り振動, 曲げ振動に分けて考える 5 棒の縦振動と捩り振動 まっすぐな棒の縦振動の固有振動数 f[ Hz] f l pl である ただし, L [ 単位 m] は棒の長さ, [ N / m ] [ 単位 Kg / m ] E は (5) E 単位は棒の材料の縦弾性係数 ( ヤング率 ) は棒の材料の単位体積当りの質量である l は境界条件と振動モードによって決まる無

More information

Microsoft PowerPoint - 三次元座標測定 ppt

Microsoft PowerPoint - 三次元座標測定 ppt 冗長座標測定機 ()( 三次元座標計測 ( 第 9 回 ) 5 年度大学院講義 6 年 月 7 日 冗長性を持つ 次元座標測定機 次元 辺測量 : 冗長性を出すために つのレーザトラッカを配置し, キャッツアイまでの距離から座標を測定する つのカメラ ( 次元的なカメラ ) とレーザスキャナ : つの角度測定システムによる座標測定 つの回転関節による 次元 自由度多関節機構 高増潔東京大学工学系研究科精密機械工学専攻

More information

<4D F736F F D2097CD8A7793FC96E582BD82ED82DD8A E6318FCD2E646F63>

<4D F736F F D2097CD8A7793FC96E582BD82ED82DD8A E6318FCD2E646F63> - 第 章たわみ角法の基本式 ポイント : たわみ角法の基本式を理解する たわみ角法の基本式を梁の微分方程式より求める 本章では たわみ角法の基本式を導くことにする 基本式の誘導法は各種あるが ここでは 梁の微分方程式を解いて基本式を求める方法を採用する この本で使用する座標系は 右手 右ネジの法則に従った座標を用いる また ひとつの部材では 図 - に示すように部材の左端の 点を原点とし 軸線を

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 復習 ) 時系列のモデリング ~a. 離散時間モデル ~ y k + a 1 z 1 y k + + a na z n ay k = b 0 u k + b 1 z 1 u k + + b nb z n bu k y k = G z 1 u k = B(z 1 ) A(z 1 u k ) ARMA モデル A z 1 B z 1 = 1 + a 1 z 1 + + a na z n a = b 0

More information

Microsoft Word - 非線形計画法 原稿

Microsoft Word - 非線形計画法 原稿 非線形計画法条件付き最適化問題は目的関数と制約条件で示すが この中に一つでも 次式でないものが含まれる問題を総称して非線形計画法いう 非線形計画問題は 多くの分野で研究されているが 複雑性により十分汎用的なものは確立されておらず 限定的なものに限り幾つかの提案がなされている ここでは簡単な解法について紹介する. 制約なし極値問題 単純問題の解法 変数で表される関数 の極値は を解くことによって求められる

More information

Microsoft PowerPoint - elast.ppt [互換モード]

Microsoft PowerPoint - elast.ppt [互換モード] 弾性力学入門 年夏学期 中島研吾 科学技術計算 Ⅰ(48-7) コンピュータ科学特別講義 Ⅰ(48-4) elast 弾性力学 弾性力学の対象 応力 弾性力学の支配方程式 elast 3 弾性力学 連続体力学 (Continuum Mechanics) 固体力学 (Solid Mechanics) の一部 弾性体 (lastic Material) を対象 弾性論 (Theor of lasticit)

More information