講義資料

2014 年度・後期・数理解析・計算機数学3・第11回
1
● 講義資料
▼ 講義予定
• Symplectic 解法
• 連立一次方程式の数値解法
★ Symplectic 法
• Runge-Kutta 法は, 広範囲の常微分方程式の初期値問題に適用可能な汎用的な方法であるが,
力学に由来するエネルギー保存則が成り立つ系では, Runge-Kutta 法による数値解はエネル
ギーを保存しない.
たとえば, x′′ = −x の解に沿って, エネルギー
E(t) =
1
((x(t))2 + (x′ (t))2 )
2
は一定値を持つ. この証明は E ′ (t) = 0 を示す方法もあるが, 方程式の両辺に x′ をかけると
0 = x′′ (t)x′ (t) + x(t)x′ (t) =
1 d
((x′ (t))2 + (x(t))2 )
2 dt
となることからも証明できる.
しかし, 前進オイラー法では En = (1/2)(x2n + vn2 ) は単調増加となり, 古典的 Runge-Kutta
法では En は単調減少となってしまい, そのような数値解は「よい」数値解と言うことは難
しい. そこで, エネルギーまたはそれに近いものが保存するような数値解を構成することが
望まれる.
• ここでは, Hamilton 系と呼ばれる常微分方程式を考える.
未知関数を (q1 , . . . , qN , p1 , . . . , pn ), qi : [0, T ] −→ R, pi : [0, T ] −→ R として, Hamiltonian
H : R2N −→ R が与えられているととき, 常微分方程式
∂H
dq
=
,
dt
∂p
∂H
dp
=−
dt
∂q
を考える.
x′′ = −x に対応する問題としては, q = x, p = x′ と考え, H(q, p) = (1/2)(q 2 + p2 ) とすれば,
dq
∂H
=
= p,
dt
∂p
∂H
dp
=−
= −q
dt
∂q
より
d
d dq
= p = −q
dt dt
dt
となるので, x′′ = −x を考えることと, H(q, p) = (1/2)(q 2 + p2 ) に対する Hamilton 系を考
えることは同じである.
Dec. 10, 2014, Version: 1.0
[email protected]
2014 年度・後期・数理解析・計算機数学3・第11回
2
また, Hamlitonian H は解に沿って一定値をとる. すなわち,
dH
=0
dt
が成り立つ. (実際に計算してみればよい.)
なお, 系の運動エネルギーが (1/2)
qi2 で書けているとき, Hamiltonian H は, 系の全エネ
ルギーを与える関数に一致する.
• Hamilton 系の持つ重要な性質は, Hamiltonian が保存することのほかに, 次の Liouville の
定理が成り立つことである.
φt : R2N −→ R2N を初期条件 (q(0), p(0)) に対する解 (q(t), p(t)) による t 秒後の位置とす
る. (この写像を相流, または 1-parameter 変換群と呼ぶ.)この時, φt は R2N の任意の
領域の面積を保存する. すなわち, φt の微分 Dφt に対して,
| det(Dφt )| = 1
が成り立つ. (φt は面積保存写像となる.)
• このことから, Hamilton 系に対する数値解法として, (qn , pn ) → (qn+1 , pn+1 ) が面積保存写
像となるような解法が望ましいことがわかる. そのような解法を Symplectic 解法と呼ぶ.
• Hamiltonian H が
H(q, p) = T (p) + U (q)
と分解できている場合に, 以下の計算スキーム
dT
(pn ),
dp
dU
= pn − h
(qn+1 ),
dq
qn+1 = qn + h
pn+1
を Symplectic Euler 法とよび, 1 次の Symplectic 解法となっていることが証明できる.
• Symplectic Euler 法を拡張した方法のパラメータ
St¨olmer-Verlet (p = 2)
1
2
bi
0
1
ci
1/2
1/2
Ruth (p = 3)
1
2
1
bi
7/24
3/4
ci
2/3
−2/3
−1
Sanz-Serna (p = 4)
2
3
4
bi
7/48
3/8
ci
1/3
−1/3
Dec. 10, 2014, Version: 1.0
3
−1/24
−1/48
1
−1/48
−1/3
5
6
3/8
7/48
1/3
0
[email protected]
2014 年度・後期・数理解析・計算機数学3・第11回
3
• 陰的 Runge-Kutta 法で, Symplectic 解法となるものの例
陰的中点法(1段2次 Gauss-Legrandre 法)
1/2 1/2
1
2段4次
Gauss-Legrandre √
法
√
3− 3
3−2 3
1
6√
4√
12
3+ 3 3+2 3
1
6
12
4
1/2
1/2
√
5 − 15
10
1
2√
5 + 15
10
3段6次 Gauss-Legrandre
√ 法
√
5
80 − 24 15 50 − 12 15
36 √
360
360√
2
50 − 15 15
50 + 15 15
360√
9 √
360
5
50 + 12 15 80 + 24 15
360
360
36
5/18
4/9
5/18
● 実習内容
1. (★★★)6回目資料の「単振動」と「単振り子」の常微分方程式の初期値問題の数値解を,
Symplectic Euler 法で計算しなさい.
2. (★★★)6回目資料の「単振動」と「単振り子」の常微分方程式の初期値問題の数値解を,
3. (★★★)4 × 4 行列の積を計算するプログラムを書きなさい.
4. (★★★)4 × 4 行列の転置行列を計算するプログラムを書きなさい.
Dec. 10, 2014, Version: 1.0
[email protected]