.
...
偏微分方程式と P (x, t) の数値計算
樋口さぶろお
龍谷大学理工学部数理情報学科
計算科学☆演習II L07(2013-05-22 Wed)
今日の目標 .
1.. P(x, t) の漸化式と,拡散方程式の関係が説明で きる
. ..
2 P(x, t)の漸化式を計算するプログラムが書ける
http://hig3.net
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 1 / 23
P(x, t)の生成関数Z(λ, t) Quiz解説
ここまで来たよ
1... P(x, t) の生成関数Z(λ, t) Quiz解説
生成関数の定義の復習
Z(λ, t)を用いた期待値の計算
2... 偏微分方程式とP(x, t)の数値計算
P(x, t)と拡散方程式
P(x, t)の数値計算
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 2 / 23
P(x, t)の生成関数Z(λ, t) Quiz解説
Quiz解答:P(x, t)の意味 λは意味を考えないほうがいいパラメタだ
が,eλ·x という形を考えると, (長さ)−1 の次元を持つはず. Z は確率に eλx という次元のない数をかけたもの.
Quiz解答:生成関数
. ..
1 P(x, t+ 1) = 39P(x−1, t) +19P(x, t) +59P(x+ 1, t). P(x,0) =δx0. .
2.. 漸化式は,Z(λ, t+ 1) = (39eλ+19 +59e−λ)Z(λ, t),初項は Z(λ,0) = 1より,一般項は,Z(λ, t) = (39eλ+19 +59e−λ)t. .
..
3 Z(λ,2)の,eλ の係数を考えて,P(1,2) = 2·1939
(1)では,P じゃなく Z の漸化式と初項を求めてね,と言っています. (1)
でP, (2)でZの漸化式を求めてる人多数. 答える場所が違います. P の
漸化式は先週済んだから,独立した問にはしてません.
(3)では,確率 29eλ という人多数. ‘(5 +x+ 3x2)2 のx3 の係数は?’ って きかれたら 6x3 じゃまずいのでは? 実用的にはλ= 0 とおけばeλ = 1.
(3)では,Z(1,2)を展開する話のときに,いきなり2C1 が出てくる人がい るけど,(a+b+c)t の展開だから,多項係数なのでは?
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 3 / 23
P(x, t)の生成関数Z(λ, t) Quiz解説
Quiz解答:2項分布でかけるP(x, t) .
..
1
位置 x 確率
−2 q2 0 2pq +2 p2 .
2..
位置 x 確率
−4 q4
−2 4pq3 0 6p2q2 +2 4p3q +4 p4 .
3.. 10C5p5q5= 252p5q5.
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 4 / 23
P(x, t)の生成関数Z(λ, t) 生成関数の定義の復習
ここまで来たよ
1... P(x, t) の生成関数Z(λ, t) Quiz解説
生成関数の定義の復習
Z(λ, t)を用いた期待値の計算
2... 偏微分方程式とP(x, t)の数値計算
P(x, t)と拡散方程式
P(x, t)の数値計算
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 5 / 23
P(x, t)の生成関数Z(λ, t) 生成関数の定義の復習
生成関数 Z(λ, t) の定義の復習
.
...
生成関数Z(λ, t) =
+∞
∑
x=−∞
eλ·xP(x, t).
数列を‘関数’にパッケージしたもの.
例Xt+1=Xt+Rt+1, R =
R 確率
−1 q= 1−p
+1 p
,X0 =10 のとき
Z(λ, t) = e10λ(peλ+qe−λ)t
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 6 / 23
P(x, t)の生成関数Z(λ, t) Z(λ, t)を用いた期待値の計算
ここまで来たよ
1... P(x, t) の生成関数Z(λ, t) Quiz解説
生成関数の定義の復習
Z(λ, t)を用いた期待値の計算
2... 偏微分方程式とP(x, t)の数値計算
P(x, t)と拡散方程式
P(x, t)の数値計算
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 7 / 23
P(x, t)の生成関数Z(λ, t) Z(λ, t)を用いた期待値の計算
Z (λ, t) を用いた期待値の計算
例 E(Xt) =
+∞
∑
x=−∞
x×P(x, t)
Z(λ, t) の式の形が(上のように漸化式を解いて)わかってるとする. 上のE(XT)の定義は Z(λ, t) =
x=+∑∞ x=−∞
eλxP(x, t) に似てるけど,
x 足りない. eλx がじゃま
また誰かの思いついた超絶技巧λ= 0 での微分係数.
∂
∂λZ(λ, t) λ=0
= ∂
∂λ
+∞
∑
x=−∞
eλxP(x, t) λ=0
=
+∞
∑
x=−∞
xeλxP(x, t)
λ=0 =
+∞
∑
x=−∞
x×P(x, t)
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 8 / 23
P(x, t)の生成関数Z(λ, t) Z(λ, t)を用いた期待値の計算
.
Z (λ, t)
からの期待値の計算 .....
一般に期待値は,
E(f(Xt)) = f ( ∂
∂λ )
Z(λ, t) λ=0
Z(λ, t) は親玉みたいなもの
母関数
計算例
E(Xt) = ∂
∂λZ(λ, t) λ=0
= ∂
∂λe10λ(peλ+qe−λ)t λ=0
答え合わせ まえにやったんだった. X0 = 0 なら,E(Xt) =t×E(R).
E(Xt2) =?
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 9 / 23
P(x, t)の生成関数Z(λ, t) Z(λ, t)を用いた期待値の計算
2まではすでにやった問題. 3からやろう. .
Quiz(
生成関数)
..
...
原点 x= 0から出発し,各時間ステップtで確率39 でxから x+ 1 に,確 率 59でx から x−1に移動,確率 19 でx にとどまるような,ペンギンの ランダムウォークを考える.
時刻 t に,x にペンギンがいる確率を P(x, t)とする.
. ..
1 生成関数 Z(λ, t) =
+∞
∑
x=−∞
eλxP(x, t) の満たす漸化式と,初項を求め よう.
. ..
2 生成関数 Z(λ, t) を求めよう. .
3.. 生成関数を展開して,P(1,3)を求めよう. .
..
4 母平均値 E(Xt) を求めよう. .
Quiz(生成関数)
..
...
ランダムウォークの座標 Xtの生成関数がZ(λ, t) = (13eλ+ 23e−λ)t であ るとき樋口さぶろお,母平均(数理情報学科)E(Xt)を求めようL07偏微分方程式と. P(x, t)の数値計算 計算科学☆演習II(2013) 10 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式
ここまで来たよ
1... P(x, t) の生成関数Z(λ, t) Quiz解説
生成関数の定義の復習
Z(λ, t)を用いた期待値の計算
2... 偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式
P(x, t)の数値計算
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 11 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式
P (x, t) と拡散方程式 .微分の差分近似の復習
..
...
f(x+ ∆x)−f(x)≃f′(x)∆x f(x+ ∆x)−f(x)
∆x →f′(x) (∆x→0)
微積分,数値計算法
漸化式での更新は,t⇝t+ 1,x⇝x±1 って言ってきたけど,ここでは t⇝t+ ∆t,x⇝x±∆x と思おう.
p=q = 12 とすると,例えば, P(x, t+ ∆t) = 1
2P(x−∆x, t) + 1
2P(x+ ∆x, t)
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 12 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式
±∆t,±∆x を微分で書きたい…
P(x, t+ ∆t)−P(x, t) =1
2[(P(x+ ∆x, t)−P(x, t))
−(P(x, t)−P(x−∆x, t))]
∂P
∂t (x, t)∆t=1 2
(∂P
∂x(x, t)−∂P
∂x(x−∆x, t) )
∆x
∂P
∂t (x, t)∆t=1 2
( ∂
∂x
∂P
∂x(x, t)∆x )
∆x
∂P
∂t (x, t) =1 2
(∆x)2
∆t
∂2P
∂x2(x, t) 熱や濃度のときは P(x, t) でなく,よくu(x, t) で書く. .拡散方程式
(
放物型偏微分方程式の典型例)
..
...
∂u
∂t(x, t) =D·∂2u
∂x2(x, t) D >0:拡散定数
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 13 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式
偏微分方程式
多変数関数 u(x1, x2, . . . , xn)に対する微分方程式で,いろんな変数のの 偏微分が混ざってるもの ↔ 常微分方程式 u′(t) =−2u(t).
拡散方程式,熱方程式は,偏微分方程式の中でも,放物型といわれるタイ
プ 現象の数学A
別のタイプ: 波動方程式,双曲型 現象の数学B,ラプラス方程式,楕円型 太鼓の形
アニメ.
常微分方程式: x(t): 数x が変化していく
偏微分方程式: u(x, t): 関数 u(x) が変化していく
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 14 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)と拡散方程式
.
Quiz(偏微分方程式)
.....
次のうち,偏微分方程式と呼べるのはどれとどれ? .
..
1 計算科学IIでやったP(x, t) の漸化式(のある極限) .
2.. 物理数学IIでやったニュートンの運動方程式 .
..
3 物理数学IIや数理モデル基礎Iでやったx′′+ax′+bx=c.
. ..
4 関数論でやった コーシー-リーマンの関係式 .
5.. 計算科学Iでやったルンゲクッタ法 .
..
6 数理モデル基礎IIでやった,平衡点のタイプを考えるような連立微 分方程式
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 15 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算
ここまで来たよ
1... P(x, t) の生成関数Z(λ, t) Quiz解説
生成関数の定義の復習
Z(λ, t)を用いた期待値の計算
2... 偏微分方程式とP(x, t)の数値計算
P(x, t)と拡散方程式
P(x, t)の数値計算
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 16 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算
P (x, t) の数値計算 大注意:計算機使うけど
標本ナントカ
の計算じゃない.
乱数
不要.
漸化式 P(x, t+ 1) = (P(∗, t)の式) を計算して,横x,縦tのP(x, t) の 表で出力したい.
(rw6,rw7では横がt,縦n(サンプル番号)だったから逆) P(x, t) を配列 double p[x]で表す. 添字t は?
現在の時刻の p=P(x, t) を更新していく(ランダムウォークの x=x+getrandom(getuniform());と同じのり)
数値計算的悩み →解決 .
1.. x, tの範囲は正負両方↔配列の添字は0以上 → オフセット .
..
2 x, tの範囲は無限↔ 配列のサイズを宣言→ 境界条件
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 17 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算
オフセット
範囲,x=xmin,· · · ,0,· · · , xmax で,例えばxmin=−10のようにxが負 のところも考えたい.
p[-10] とかエラー
1 #d e f i n e XOFFSET 10 /∗ ず ら し 定 数. −XMIN=−x の 最 大 よ り 大 き め,
2 境 界 条 件 を 考 え る と も っ と 大 き く.∗/
3 d o u b l e p [XMAX+XOFFSET ] ; /∗大きめサイズで宣言.
4 境 界 条 件 を 考 え る と も っ と 大 き く.∗/
P(−10, t)↔p[-10+XOFFSET]
...
P(0, t)↔p[0+XOFFSET]
P(x, t)↔p[x+XOFFSET]
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 18 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算
プログラムの全体
1 d o u b l e p [XMAX+XOFFSET ] ;
2 d o u b l e p n e x t [XMAX+XOFFSET ] ;
3
4 /∗ こ こ で p [ x ] を 初 項 に 従 っ て 初 期 化 ∗/
5
6 f o r( t =0; t<=tmax ; t ++){
7 /∗ こ こ で 時 刻 t の p [ x ] を 出 力 ∗/
8
9 /∗ 漸 化 式 を 適 用 ∗/
10 f o r( x=xmin ; x<=xmax ; x++){
11 p n e x t [ x+XOFFSET] = (∗ p [ x+XOFFSET ] の 出 て く る 漸 化 式 右 辺 ∗) ;
12 }
13 f o r( x=xmin ; x<=xmax ; x++){
14 p [ x+XOFFSET]= p n e x t [ x+XOFFSET ] ;
15 }
16 }
次に出てくる境界条件は無視して書いてます.
p とpnext の2つが必要. なぜなら…(自分の言葉でどうぞ)
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 19 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算
境界条件
計算機では,しょせん有限範囲 p[xmin+XOFFSET],· · ·,
p[xmax+XOFFSET] しか計算できない.
しか〜し,端で困る. pnext[xmin+XOFFSET]=
0.5*p[xmin-1+XOFFSET]+0.5*p[xmin+1+XOFFSET];
解決策:
解くべき数学の問題を変更する.
P(x, t+ 1) =
1
2P(x−1, t) +12P(x+ 1, t) (xmin≦x≦xmax) スペシャルルール (x≤xmin−1) スペシャルルール (x≥xmax+ 1) p[xmin-1+XOFFSET],p[xmin+1+XOFFSET] を強制的に決める
今の場合, p[xmin-1+XOFFSET]=p[xmin+1+XOFFSET]=0としておけ ば,もとの無限領域の問題と似る. 固定境界条件
世の中には,他に自由境界条件,周期境界条件,· · ·
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 20 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算
.
Quiz(P (x, t)
の数値計算) .....
次のランダムウォークの確率の漸化式を考える.
P(x, t+ 1) = {1
5P(x−1, t) +45P(x+ 1, t) (それ以外)
0 (x≤ −1, x≧6),
P(x,0) = {
0.5 (x= 1,3) 0 (それ以外)
下のような P(x, t) の表を,漸化式を適用して埋めよう. t\x −1 0 +1 +2 +3 +4 +5 +6
0 1 2
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 21 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算
予習復習問題これからは毎週
金11:05締切の予習復習問題は RaMMoodle
http://el.math.ryukoku.ac.jp/moodle→計算科学II(講義) で やってね.
水13:35締切の予習復習問題は RaMMoodle
http://el.math.ryukoku.ac.jp/moodle→計算科学演習IIで やってね.
RaMMoodle にはスマートフォンからもアクセスできます.
http://hig3.net> Links>RaMMoodle.
自宅で演習の課題をやろうVisual Studioには Express Editionという‘無 料版’があります. 数理情報学科の学生はDreamSpark 経由で Visual
Studio 製品を自宅で使えます.
https://www.a.math.ryukoku.ac.jp/dreamspark/
演習の休講/補講計画
2013-07-26金2を予備日(休講候補), 2013-07-05金3(ここは休講する総 合演習の裏)に補講の予定. インフルエンザや台風が来て全学休講が発生 したら再変更あり樋口さぶろお (数理情報学科). L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 22 / 23
偏微分方程式とP(x, t)の数値計算 P(x, t)の数値計算
講義のプチテストやります!
2013-06-05水3, 90分, 30ピーナツ,参照相談なし. 紙のテスト. 過去問は公開してるけど,今年のQuizや下の出題計画のほうがまだ 参考になるかも.
出題計画(2013-05-29水3L08で詳細化・確定します)
▶ 離散的な確率変数が与えられたとき母平均値,母分散,母標準偏差,母 期待値の計算
▶ 標本が与えられたとき標本平均値,標本分散,標本標準偏差,標本期待 値の計算
▶ ランダムウォークのE(XT),V(XT)の性質
▶ ラグランジュ表示とオイラー表示
▶ ランダムウォークのルールから,確率P(x, t)の初期条件と漸化式を 求める
▶ P(x, t)の初期条件と漸化式から,生成関数Z(λ, t)の初期条件と漸化 式を求める
▶ 生成関数Z(λ, t)から,確率,平均値を求める
▶ 連続的な確率変数が与えられたとき母平均値, 母分散,母標準偏差,母 期待値の計算(L08)
樋口さぶろお (数理情報学科) L07偏微分方程式とP(x, t)の数値計算 計算科学☆演習II(2013) 23 / 23