• 検索結果がありません。

第10回

N/A
N/A
Protected

Academic year: 2021

シェア "第10回"

Copied!
31
0
0

読み込み中.... (全文を見る)

全文

(1)

おしらせ

• 第一回、および二回のレポートを、学科事務室にて

返却しています

– 各人、都合の良い時に、早めに取りに行ってください

• 正誤のみ確認しています(点数はつけていない)。

– 各人、間違ったところについては、きちんと理解して

おいてください。

• 課題レポート提出に関して

– 期限:2月9日(月)正午

– 提出先:物理学科事務室

(2)

数値計算法

若狭

智嗣

粒子物理学講座

第十回

逆行列を求める(Gauss-Jordan法)

&

行列の固有値問題

(3)

Gauss-Jordan法

• Gauss法 – 行列 A の左下非対角成分を0にする • Gauss-Jordan法 – 行列 A の左下非対角成分を0にする(Gauss法に同じ) – 行列 A の右上非対角成分も0にする – 行列 A の対角成分を1にする 連立方程式の解 x が自動的に得られる

(4)

具体例(3行3列の場合)

(5)
(6)

演習

• Gauss-Jordanの消去法により、連立方程式を解くサブルーチンを /home/teacher/z6wt01in/SAMPLE/jordan.f に置く。 このサブルーチンを用いて、連立方程式 を数値計算により解け。

24

21

7

5

15

7

8

3

6

6

4

2

z

y

x

z

y

x

z

y

x

(7)

プログラム(jordan)の説明(入出力のみ)

(/home/teacher/z6wt01in/SAMPLE/jordan.f)

このプログラム の機能 結果(解)は b に上書きされる (b の内容は破壊)

(8)

演習の答え

6

9

33

z

y

x

(9)

Gauss-Jordan法により逆行列を求める

• Gauss-Jordan法 – 行列 A の左下非対角成分を0にする(Gauss法に同じ) – 行列 A の右上非対角成分も0にする – 行列 A の対角成分を1にする Gauss-Jordan法は A をE (単位行列) に変換している (A に A-1 をかけて E にしている) 同じ操作をEに対して 行うと… E に A-1 をかけるので A-1 に変換される

(10)

演習

• Gauss-Jordanの消去法により、逆行列を求めるサブルーチンを /home/teacher/z6wt01in/SAMPLE/matinv_jordan.f に置く。 このサブルーチンを用いて、次の5行5列の行列 の逆行列を数値計算により求めよ。 • 上記で求めた逆行列が正しいことを、筆算と数値計算により 確認せよ

5

4

3

2

1

4

4

3

2

1

3

3

3

2

1

2

2

2

2

1

1

1

1

1

1

(11)

プログラム(matinv_jordan)の説明(入出力のみ)

(/home/teacher/z6wt01in/SAMPLE/matinv_jordan.f)

このプログラム の機能 結果(解)は a に上書きされる (a の内容は破壊) 行列要素は倍精度 (real*8)である必要 がある

(12)

プログラム例

途中略 以下略 行に関するループ 1行目から5行目 列に関するループ 1列目から5列目の要素が 同一行に出力される

(13)
(14)

演習の答え

1

1

0

0

0

1

2

1

0

0

0

1

2

1

0

0

0

1

2

1

0

0

0

1

2

(15)

固有値と固有振動ー線形物理学と非線形物理学ー

• 物理学の(かなり大雑把な)分類の1例 – 線形物理学 – 非線形物理学 • 線形物理学の例 – 力学のなかの弾性論 – 電磁気学 – 量子力学(波動方程式) • 線形物理学一般 – 対象とする形に固有のモード(波動)の固有値、固有運動(振動)を 求める問題に帰着 – 固有振動を求めるという意味では以下の分野でも重要 • 原子核物理学 • 固体物理学 極めて適用範囲が広く、それゆえ数値計算も重要である

(16)

行列の固有値問題の具体例ー2重振り子ー

• 微小振動

(17)

Lagrangeの運動方程式

• Lagrangeの運動方程式

• 固有振動(2つの質点が同じ角振動数ω で振動)の場合

(18)

行列・固有値問題へ

• 行列を用いた表現

(19)

演習

• 例題の2重振り子の固有振動を求めよ。 つまり以下の量を求めよ。 – 系の運動エネルギーと位置エネルギー – 系のラグランジアン – ラグランジの運動方程式 – 運動方程式から導かれる行列を用いた式と固有値方程式 – 2つの固有値 – 各固有値に対応した固有ベクトル • それぞれがどのような振動運動か図示せよ。

(20)

演習の解答

• 系の運動エネルギー • 系の位置エネルギー – 質点1,2の振れ角をθ 1, θ 2とし、 θ 1= θ 2=0をポテンシャルの基準にとる • 質点1 • 質点2 • 全体 • 系のラグランジアン

 

 

2 2 2 1 2 1 2 1 x m x m T     l x1 1 1 sin   2 1 1 1 2 1 ) cos 1 (mglmgl V    2 1 2 1 x l mgl x x2 1 2 2 sin    2 2 1 2 1 2 2 1 ) cos 1 (V mglmgl V V      2 1 2 2 1 ( ) 2 1 2 1 x x l mg x l mg   

2

1 2 2 1 2 1 2 2 1 x x x l mg V V V      V T L  

(21)

演習の解答ー固有値と固有ベクトルー

• 固有値 – 固有ベクトル – 規格化された固有ベクトル • 固有値 – 固有ベクトル – 規格化された固有ベクトル 2 2  

1 2 2 1 x x     92388 . 0 ) 2 2 ( 2 1 1      x

2 1

1  382680.2    xx 2 2  

1 2 2 1 x x    38268 . 0 ) 2 2 ( 2 1 1      x

2 1

1 0.923882   x   x

(22)
(23)

行列の固有値問題

• 固有値問題 • 固有値方程式 • 物理学でよく出てくる固有値方程式(2重振り子等) 固有値λと 固有ベクトルx を求める λに関する n次方程式の解 (一般に解くのが困難) 対角要素とそれに 隣り合う要素のみが 非0で対称 簡単化

(24)

3重対角行列の固有値問題の数値解法

• 3重対角実対称行列の解法 – スツルムの定理 (定理の説明は省略) • 推奨される態度 – 3重実対称行列のような特別な(疎な)行列に対してなら、 固有値を求めるプログラムがすでにあるはずである • (だから、スツルムの定理を知らなくても解けるはず) • 多くの有用な計算プログラムが掲載された本

– 「Numerical Recipes in Fortran 77, Second Edition」

W.H.Press, S.A.Teukolsky, W.T.Vetterling, and B.P. Flannery

– 3重対角実対称行列の固有値を求めるプログラムが掲載 • 既存のプログラム(ライブラリ)を用いる際の注意 – プログラムの動作・制限を正しく理解する • 自分の必要としているものか? – 入力・出力を正しく理解する • 正しく使用する

(25)

プログラム(tqli)の説明

(/home/teacher/z6wt01in/SAMPLE/tqli.f)

プログラムの 機能 上書きされる 上書き される Numerical Recipes に載っている

(26)

プログラム(pythag.f) (説明省略)

(/home/teacher/z6wt01in/SAMPLE/pythag.f)

道具として使えばよい ↓

(27)

演習

• n次3重実対称行列の固有値・固有ベクトルを求めるためのサブ ルーチンと関数を /home/teacher/z6wt01in/SAMPLE/tqli.f /home/teacher/z6wt01in/SAMPLE/pythag.f に置く。 • このサブルーチンを用いて、3重振り子の固有振動を求めよ。 3重振り子の固有値方程式は、 で与えられる。 この関係式を満たすλ (固有値)とx(固有ベクトル)を求めよ。 • 各々どのような運動か、簡単に図示せよ。 1 1 2 2 3 3

5

2

0

2

3

1

0

1

1

x

x

x

x

x

x











2 2 0

2 0

g

l

(28)

プログラム例

行列の次元 (今の場合3) program furiko implicit none c integer N parameter(N=3) c local variable real d(N) ! 対角要素 & 固有値 real e(N) ! 非対角要素 real z(N,N) ! 単位行列 & 固有ベクトル c for loop integer i,j

(29)

プログラム例(続き)

対角要素を代入 非対角要素を代入 単位行列を生成 列に関する ループ 行に関する ループ 対角要素なら 非対角要素なら c begin d(1)= 5.0 d(2)= 3.0 d(3)= 1.0 e(2)=-2.0 e(3)=-1.0 do i=1,N do j=1,N if (i.eq.j) then z(i,j) = 1.0 else z(i,j) = 0.0 endif end do end do

(30)

プログラム例(続き)

サブルーチンを呼んで、 固有値と固有ベクトルを求める 固有値 に関する ループ 書式(フォーマット)を使って、 表示を分かり易くしている 実際の出力と比較してみること call tqli(d,e,N,z) do i=1,N write(*,'(i2,a,f7.4,a,f8.5,a,f8.5,a,f8.5,a)') & i,'-th eigen value:',d(i),

& ', eigen vector:(',z(1,i),',',z(2,i),',',z(3,i),')' end do

(31)

参照

関連したドキュメント

Series of numerical analysis to estimate structural frequency and modal damping were conducted for a two-dof model using the simulated external forces induced by impulse force and

* Ishikawa Prefectural Institute of Public Health and Environmental Science 1-11 Taiyougaoka, Kanazawa, Ishikawa 920-1154 [Received April 23, 2001] Summary The cell...

アカウントロック時の値は “ACCOUNT_LOCK_ERROR” 、パスワード有効 期限超過時の値は “PASSWORD_YUKO_KIGEN_ERROR”

標準法測定値(参考値)は公益財団法人日本乳業技術協会により以下の方法にて測定した。 乳脂肪分 ゲルベル法 全乳固形分 常圧乾燥法

A., Miller, J., 1981 : Dynamically consistent nonlinear dynamos driven by convection in a rotating spherical shell.. the structure of the convection and the magnetic field without

• また, C が二次錐や半正定値行列錐のときは,それぞれ二次錐 相補性問題 (Second-Order Cone Complementarity Problem) ,半正定値 相補性問題 (Semi-definite

10 特定の化学物質の含有率基準値は、JIS C 0950(電気・電子機器の特定の化学物質の含有表

■鉛等の含有率基準値について は、JIS C 0950(電気・電子機器 の特定の化学物質の含有表示方