2012年度・前期・数理解析・計算機数学2・第12回 1
● 講義資料
▼ 講義予定
• 連立一次方程式の数値解法:消去法
● 前回の講義のまとめ
★ Symplectic法(前回の続き)
• HamiltonianH が
H(q, p) =T(p) +U(q) と分解できている場合に,以下の計算スキーム
qn+1 =qn+hdT dp(pn), pn+1=pn−hdU
dq(qn+1),
をSymplectic Euler 法とよび, 1次のSymplectic解法となっていることが証明できる.
実際,1段目の写像(qn, pn)7→(qn+1, pn)をS1h,2段目の写像(qn+1, pn)7→(qn+1, pn+1)を Sh2 と書くと,それぞれの微分は
DSh1= I ∂p∂q∂2T
0 I
! ,
DSh2= I 0
−∂p∂q∂2U I
! , となり,それぞれ
det(DS1h) = 1, det(DSh2) = 1,
となるので, Symplectic Euler法のスキーム Sh: (qn, pn)7→(qn+1, pn+1)は, det(DSh) = 1 を満たし,面積保存写像となる.
実際には,DSh1,DSh2,DSh は, Symplectic群
Sp(N) =
M ∈M2N(R) :MTJM =J , J = 0 I
−I 0
!
に入る. (なので, Symplectic解法と呼ぶ.)
Symplectic Euler法をH(q, p) = (1/2)(q2+p2)に適用すると, qn+1
pn+1
!
= 1 h
−h 1−h2
! qn
pn
!
となり,この行列の行列式はたしかに1となっている.
Jul. 04, 2012, Version: 1.0 [email protected]
2012年度・前期・数理解析・計算機数学2・第12回 2
• p次のSymplectic 解法で計算すると, HamiltonianH は保存しないかわりに, ある関数H˜ が存在して,
H(q˜ n, pn) =一定値,
H(q˜ n, pn)−H(qn, pn) =O(hp) が成り立つ.
実際H(q, p) = (1/2)(q2+p2)の時には,
H˜(q, p) = (1/2)(q2+p2+hqp) となる.
• H(q, p) =T(p) +U(q)の時により高次のSymplectic解法を構成するには,上記のSh1,Sh2 を 合成して
S2bkhSc1kh· · ·Sb21hS1c1h
を考え, パラメータ{bj}, {cj} をp次となるようにきめればよい. 実際,以下のようにきめ る方法が知られている.
★ 2階線形常微分方程式の境界値問題
• u: [0,1]−→Rに対する微分方程式の境界値問題
u′′(x) +cu(x) =f(x), x∈(0,1),
u(0) =u(1) = 0 (1)
を離散変数法を用いて数値的に解くことを考える.
• 定義域の区間[0,1]を N 等分して, xk =kh, (h= 1/N)での厳密解の値u(xk)の近似値を uk と書く. この時,2階微分u′′(x)を
u′′(x)∼ u(x+h)−2u(x) +u(x−h) h2
と差分化する. これは,
u′(x)∼u(x+h)−u(x) h
∼u(x)−u(x−h) h
u′′(x)∼u′(x+h)−u′(x) h
と考えて導出したものである.
• したがって,方程式を差分化すると,
u(xk+1)−2u(xk) +u(xk−1)
h2 +cu(xk) =f(xk) uk+1−2uk+uk−1
h2 +cuk =fk
となる. ここで,この式はk= 1, . . . , N−1 に対して成り立つ式である.
Jul. 04, 2012, Version: 1.0 [email protected]
2012年度・前期・数理解析・計算機数学2・第12回 3
• ここで,境界条件u(0) =u(1) = 1は,
u0=uN = 0 と書き直せるので,解くべき式は
u2−2u1
h2 +cu1=f1, uk+1−2uk+uk−1
h2 +cuk=fk, k= 2, . . . , N−2,
−2uN−1+uN−2
h2 +cuN−2=fN−2
(2)
となり,未知ベクトルU = (uk)に対する連立一次方程式となる.
• いま,
A=
−2 1
1 −2 1
. .. ... ...
1 −2 1
1 −2
と書くと, (2) は
1
h2A+cE
U =F (3)
と書き直すことができる. したがって,2階線形常微分方程式の境界値問題(1) を離散変数 法で解くことは,連立一次方程式(3)を解くことに帰着できた.
● 実習内容
1. (★★★)連立一次方程式
3x+ 12y+ 9z= 3 2x+ 5 y+ 4z= 4
−x+ 3 y+ 2z= 5
を,はき出し法およびGauss の消去法で解くプログラムを書きなさい.
2. (★★★)連立一次方程式
2x+ 2y+ z= 3 x+ y+ 2z= 4 y+ z= 5
を,はき出し法およびGauss の消去法で解くプログラムを書きなさい.
Jul. 04, 2012, Version: 1.0 [email protected]