Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Langevin法と確率微分方程式 / Langevin Equation
Search
kaityo256
PRO
July 02, 2021
Education
4.7k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Langevin法と確率微分方程式 / Langevin Equation
Langevin方程式の数値解法、Fokker-Planck方程式、伊藤/Stratonovich積分について
kaityo256
PRO
July 02, 2021
More Decks by kaityo256
See All by kaityo256
What is XAI?
kaityo256
PRO
0
170
勾配ブースティングと決定木の話 / gradient boosting and decision trees
kaityo256
PRO
7
1.8k
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
6k
この講義について / 00-setup
kaityo256
PRO
2
520
GitHubによるWebアプリケーションのデプロイ / 07-github-deploy
kaityo256
PRO
2
430
演習:Gitの基本操作 / 04-git-basic
kaityo256
PRO
1
690
演習:Gitの応用操作 / 05-git-advanced
kaityo256
PRO
1
390
演習:GitHubの基本操作 / 06-github-basic
kaityo256
PRO
1
490
バージョン管理とは / 01-a-vcs
kaityo256
PRO
2
500
Other Decks in Education
See All in Education
新しいJavaを学んで・使っていこう! / osd26do
gishi_yama
0
260
SFプロトタイピング体験(滝中学校)
yusk1450
PRO
0
140
観察、仮説、実行、検証、計画、提案を一年で3000回トレーニングする方法/3000 Thinking Loops in 365 Days
moriyuya
5
1.3k
【新規入学者様】ZEPメタバース校舎ガイド
ainischool
0
140
AWS Skill Builderを活用した一石二鳥の業務計画
ysaeki
0
140
エビデンスベースト英語教育入門:エビデンスは科学的知見(だけ)ではない,制度だ!
terasawat
0
210
Sanapilvet opetuksessa
matleenalaakso
1
36k
!コスパよくインターンに受かる方法!
ruribou
1
360
私たちはなんでテストするんだっけ? Ver.東北IT物産展2026 in 会津若松
camel_404
3
190
Quality Control of Crude Drugs
pawan_pharm
0
150
20260908_ターゲットとスコープを決める発表法
masakiokuda
1
110
Enterprise UI, v2
stevekinney
0
230
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Exploring anti-patterns in Rails
aemeredith
4
510
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
330
ラッコキーワード サービス紹介資料
rakko
1
4.9M
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
720
Thoughts on Productivity
jonyablonski
76
5.4k
Building Adaptive Systems
keathley
44
3.2k
How to make the Groovebox
asonas
2
2.4k
Color Theory Basics | Prateek | Gurzu
gurzu
1
470
HDC tutorial
michielstock
2
870
Transcript
1 Langevin法と確率微分方程式 慶應義塾大学理工学部物理情報工学科 渡辺 2021/07/02
2 確率微分方程式の厳密な取り扱いはかなり面倒です ここで紹介する確率微分方程式の解釈は、「とりあえずそう思っておく」 程度と認識してください
3 分子動力学法(Molecular Dynamics Method, MD)とは 狭義にはハミルトンの運動方程式を数値積分する手法 ሶ 𝑝 = −
𝜕𝐻 𝜕𝑞 ሶ 𝑞 = 𝜕𝐻 𝜕𝑝 𝑑𝐻 𝑑𝑡 = 𝜕𝐻 𝜕𝑝 ሶ 𝑝 + 𝜕𝐻 𝜕𝑞 ሶ 𝑞 = 0 より、この時間発展ではエネルギーが保存される (NVEアンサンブル) 我々が興味があるのは、物理量のエネルギー依存性ではなく温度依存性 温度を制御したい
4 ハミルトンの運動方程式に、温度制御項を付け加える ሶ 𝑝 = − 𝜕𝐻 𝜕𝑞 − 𝛾
𝜕𝐻 𝜕𝑝 + 2𝐷 𝑅 ሶ 𝑞 = 𝜕𝐻 𝜕𝑝 散逸項 揺動項 散逸項:エネルギーを減らそうとする 揺動項:エネルギーを注入する 散逸と揺動が釣り合ったところで温度が一定となる → Langevin法 温度制御項
5 ሶ 𝑝 = − 𝜕𝐻 𝜕𝑞 − 𝛾 𝜕𝐻
𝜕𝑝 + 2𝐷 𝑅 ሶ 𝑞 = 𝜕𝐻 𝜕𝑝 揺動項 揺動項のRは時間に依存する確率的な変数であり、以下を満たす 𝑅(𝑡) = 0 𝑅(𝑡1 ) 𝑅(𝑡2 ) = 𝛿(𝑡1- 𝑡2) 平均ゼロ 無相関(白色雑音) このような確率変数を含む微分方程式を確率微分方程式と呼ぶ 特に、ブラウン運動を記述する確率微分方程式をLangevin方程式と呼ぶ
6 ሶ 𝑝 = − 𝜕𝐻 𝜕𝑞 − 𝛾 𝜕𝐻
𝜕𝑝 + 2𝐷 𝑅 ሶ 𝑞 = 𝜕𝐻 𝜕𝑝 上記の時間発展に従う系の定常分布はカノニカル分布となる 𝑓(𝑝, 𝑞)~exp −𝛽𝐻 摩擦係数と拡散係数の比が温度を与える(揺動散逸定理) 𝛽 = 1 𝑘𝑇 = 𝛾/𝐷 (NVTアンサンブル)
7 ሶ 𝑝 = − 𝜕𝐻 𝜕𝑞 − 𝛾 𝜕𝐻
𝜕𝑝 + 2𝐷 𝑅 ሶ 𝑞 = 𝜕𝐻 𝜕𝑝 Langevin法は、温度制御項のついた運動方程式を 数値積分する手法 揺動項 Rは確率変数 • 確率変数を積分するにはどうすればよいか? • 運動方程式と分布関数の関係はどうなっているか?
8 積分区間を適当に分割し、以下の和をとる(Riemann和) න 𝑥𝑠 𝑥𝑒 𝑓 𝑥 𝑑𝑥 関数f(x)の定積分 を求めたい
O x f(x) O x f(x) ≒
9 分割の最大幅をδとする 任意の正数εに対してあるδが存在し、 𝑖 𝑛−1 𝑓 𝑥𝑖 𝑥𝑖+1 −
𝑥𝑖 − 𝐴 < 𝜀 を満たすAを定義できる場合、f(x)はRiemann可積分であり、 Aをf(x)の定積分、もしくはRiemann積分と呼ぶ 𝛿 = max(𝑥𝑖+1 − 𝑥𝑖 ) න 𝑥𝑠 𝑥𝑒 𝑓 𝑥 𝑑𝑡 ≡ 𝐴 簡単にいえば、短冊の和の極限がRiemann積分 我々が通常使う「積分」とはRiemann積分のこと
10 普通に積分できる場合、普通に数値積分できる ሶ 𝑥 = 𝑓(𝑥) を数値積分したい 𝑥 𝑡 +
ℎ = 𝑥 𝑡 + ሶ 𝑥 𝑡 ℎ + 𝑂(ℎ2) 数値積分とは𝑥 𝑡 と ሶ 𝑥 𝑡 から 𝑥 𝑡 + ℎ を求めること න 𝑡 𝑡+ℎ ሶ 𝑥𝑑𝑡 = 𝑥 𝑡 + ℎ − 𝑥(𝑡) ←これは厳密に成り立つが 一般に積分は厳密に求められない Taylor展開して一次までとる 無視する 𝑥 𝑡 と ሶ 𝑥 𝑡 から 𝑥 𝑡 + ℎ が近似的に求まった(一次のEuler法) Runge-Kutta法のような高次の積分や、Symplectic積分のよう に性質の良い積分など、数値積分法には様々なものがある
11 Riemann可積分である場合、積分値は分割の方法に依存しない 𝑥𝑘 𝑥𝑘+1 𝑓(𝑥𝑘 ) 𝑥𝑘 𝑥𝑘+1 𝑓(𝑥𝑘+1 )
𝑥𝑘 𝑥𝑘+1 𝑓(𝑥𝑘+1 ) + 𝑓(𝑥𝑘 ) 2 →分割区間と、短冊の「高さ」の参照点をどこにとっても良い 参照点を左端にとる 参照点を右端にとる 平均値を使う
12 ሶ 𝑥 = 𝑅 例えばこんな微分方程式を積分したい 𝑥 𝑡 −
𝑥 0 = න 0 𝑡 𝑅𝑑𝑡 形式的に積分してみる න 0 𝑡 𝑅𝑑𝑡 = lim 𝑁→∞ 𝑘=0 𝑁−1 𝑅 𝑡𝑘 ℎ これを評価するために みたいなものを考えたいが、右辺はよくわからない
13 න 0 𝑡 𝑅𝑑𝑡 = 𝑥 𝑡 −
𝑥(0) こっちはよくわからないので こっちから考える ሶ 𝑥 = 𝑅 連続的なランダムウォークの代わりに 離散的なランダムウォークを考える 𝑥𝑘+1 = 𝑥𝑘 + ℎ 𝑅𝑘
14 公平なコインを投げて、表なら右へ、裏なら左へ一歩進む 一歩の長さをh、一歩にかかる時間を𝜏としておく h x kステップ目の位置を𝑥𝑘 とすると、以下の式に従う 𝑥𝑘+1 = 𝑥𝑘
+ ℎ 𝑅𝑘 ただし、 𝑅𝑘 は確率1/2で1か-1を取る確率変数で、異なるステップ間は無相関 𝑅𝑘 = 0 𝑅𝑘 𝑅𝑙 = 𝛿𝑘𝑙 𝑅(𝑡) = 0 𝑅(𝑡1 ) 𝑅(𝑡2 ) = 𝛿(𝑡1- 𝑡2) cf. 連続版の確率変数
15 n回コインを投げた時、表が出る回数 𝑋 𝑃 𝑋 = 𝑘 =
𝑛 𝑘 1 2𝑛 これは確率1/2、試行回数n回の二項分布に従う 𝑋 = 𝑛/2 𝑋2 = 𝑛/4 1次と2次のモーメントはすぐに計算できる
16 n回コインを投げてX枚が表だったのなら、右にX歩、左にn-X歩進んでいる 𝑥𝑛 = 2 𝑋 − 𝑛 ℎ
𝑥𝑛 = 0 𝑥𝑛 2 = 𝑛ℎ2 平均 分散 二項分布は試行回数が多い時、同じ平均、分散を持つ正規分布で近似できる 𝑃 𝑥𝑛 = 𝑥 = 1 2𝜋𝑛ℎ2 exp − 𝑥2 2𝑛ℎ2
17 𝑥𝑛 2 = 𝑛ℎ2 から、 𝑛ℎ2 = 𝑡 𝑛𝜏
= 𝑡 (空間の連続極限) (時間の連続極限) を固定したままn無限大の極限をとる 𝑃 𝑥 < 𝑥 𝑡 < 𝑥 + 𝑑𝑥 = 1 2𝜋𝑡 exp − 𝑥2 2𝑡 𝑑𝑥 𝑃 𝑥𝑛 = 𝑥 = 1 2𝜋𝑛ℎ2 exp − 𝑥2 2𝑛ℎ2
18 𝑥𝑘+1 = 𝑥𝑘 + ℎ 𝑅𝑘 𝑥𝑛 =
𝑘=0 𝑛 𝑅𝑘 ℎ lim 𝑛→∞ 𝑥𝑛 = 𝑥(𝑡) ሶ 𝑥 = 𝑅 𝑥 𝑡 = න 0 𝑡 𝑅𝑑𝑡 lim 𝑛→∞ 𝑘=0 𝑛 𝑅𝑘 ℎ = න 0 𝑡 𝑅𝑑𝑡 離散 連続 極限をとった時の対応 𝑥 𝑡 = න 0 𝑡 𝑅𝑑𝑡 こっちが平均0、分散tの正規分布に 従うんだから こっちもそうでしょう
19 𝑃 𝑥 < න 0 𝑡 𝑅𝑑𝑡 <
𝑥 + 𝑑𝑥 = 1 2𝜋𝑡 exp − 𝑥2 2𝑡 𝑑𝑥 最終的に得られたもの න 0 𝑡 𝑅𝑑𝑡 平均0、分散tの正規分布に従う確率変数 ※ 通常はWiener過程として「そういうものだ」と定義してしまう は とみなすことができる(※) 確率微分方程式の数値解法を構築できる
20 例えばこんなLangevin方程式を解きたい ሶ 𝑣 = −𝛾𝑣 + 2𝐷 𝑅
形式的に積分する 𝑣 𝑡 + ℎ − 𝑣 𝑡 = න 𝑡 𝑡+ℎ −𝛾𝑣 + 2𝐷 𝑅 𝑑𝑡 時間刻みhが小さいと思って近似する 𝑣 𝑡 + ℎ − 𝑣 𝑡 ~ − 𝛾𝑣ℎ + 2𝐷 න 𝑡 𝑡+ℎ 𝑅𝑑𝑡 = −𝛾𝑣ℎ + 𝑤(0,2𝐷ℎ) 平均0、分散2Dhの 正規分布に従う乱数 これをEuler-Maruyama法と呼ぶ 𝑣 −𝛾𝑣
21 ሶ 𝑣 = −𝛾𝑣 + 2𝐷 𝑅 import
numpy as np N = 100000 # ステップ数 h = 0.01 # 時間刻み v = 0 data = [] for _ in range(N): v = v - v * h + np.random.normal(0,np.sqrt(2.0*h)) data.append(v) コードで書くとこんな感じ (𝛾 = 𝐷 = 1) 𝑣(𝑡 + ℎ) = 𝑣(𝑡) − 𝛾𝑣ℎ + 𝑤(0,2𝐷ℎ) Euler-Maruyama法を適用
22 ሶ 𝑣 = −𝛾𝑣 + 2𝐷 𝑅 上記のLangevin方程式に従う系の定常分布はこうなる
𝑓 𝑣 = exp −𝛽𝑣2/2 2𝜋/𝛽 ↓確かになっている Langevin方程式と分布関数の時間発展の関係は?
23 ሶ 𝑥 = 𝑣(𝑥) 場所によって走りやすさが異なるコースでのマラソンを考える →速度が場所に依存する この微分方程式は「どの場所でどのくらいの速度が出せるか」を表している →ランナー視点(Lagrange描像) x
𝑣(𝑥1 ) 𝑥1 𝑥2 𝑥3 𝑣(𝑥2 ) 𝑣(𝑥3 )
24 ある時刻、ある場所でどのくらいランナーがいるかを考える 𝑓(𝑥, 𝑡) この分布関数は、時刻t、場所xのおけるランナーの密度を表している →観客視点(Euler描像) x ሶ 𝑥 =
𝑣(𝑥) 運動方程式と分布関数の時間発展の関係を知りたい 𝜕𝑓 𝜕𝑡 =? 各ランナーの位置と速度が わかっている時 ある場所で観測したランナーの数の 増減を知りたい
25 𝑥 − ℎ 𝑥 + ℎ 𝑥 𝑓(𝑥, 𝑡)
𝑓(𝑥 − ℎ, 𝑡) 𝑣(𝑥 + ℎ) 𝑣(𝑥) 単位時間あたりに この区間の人数の 増減に着目 𝑓 𝑥 − ℎ 𝑣(𝑥) 出ていく人数 𝑓 𝑥 𝑣(𝑥 + ℎ) 人数の変化 Δ𝑓 𝑥, 𝑡 = 𝑓 𝑥 − ℎ 𝑣 𝑥 − 𝑓 𝑥 𝑣(𝑥 + ℎ) ~ 𝑓 − 𝜕𝑓 𝜕𝑥 ℎ 𝑣 − 𝑓 𝑣 + 𝜕𝑣 𝜕𝑥 ℎ = − 𝜕 𝜕𝑥 𝑣𝑓 ℎ 入ってくる人数 ሶ 𝑥 = 𝑣(𝑥) 𝜕𝑓 𝜕𝑡 = − 𝜕 𝜕𝑥 𝑣𝑓 𝑥 離散化して考える
26 ሶ 𝑥 = 𝑅 拡散項の場合 𝑥 − ℎ
𝑥 + ℎ 𝑥 𝑥 𝑓(𝑥, 𝑡) 𝑓(𝑥 − ℎ, 𝑡) 𝑓(𝑥 + ℎ, 𝑡) 単位時間あたりに、αの割合だけ隣に移動する 𝛼 𝑓 𝑥 − ℎ + 𝑓(𝑥 + ℎ) 出ていく人数 入ってくる人数 2𝛼𝑓(𝑥) 人数の変化 Δ𝑓 𝑥, 𝑡 = 𝛼 𝑓 𝑥 − ℎ + 𝑓(𝑥 + ℎ) − 2𝛼𝑓(𝑥) ~𝛼 𝜕2𝑓 𝜕𝑥2 ℎ2 𝜕𝑓 𝜕𝑡 = 1 2 𝜕2𝑓 𝜕𝑥2 ሶ 𝑥 = 𝑅 ※なぜ1/2がつくかはここでは説明しません
27 ሶ 𝑣 = −𝛾𝑣 + 2𝐷 𝑅 Langevin方程式
対応する分布関数の時間発展 (Fokker-Planck方程式, FPE) 𝜕𝑓 𝜕𝑡 = − 𝜕 𝜕𝑣 −𝛾𝑣𝑓 + 𝐷 𝜕2𝑓 𝜕𝑣2 𝜕𝑓 𝜕𝑡 = 0 定常状態なら なので 𝜕 𝜕𝑣 𝛾𝑣𝑓 + 𝐷 𝜕2𝑓 𝜕𝑣2 = 0 𝜕𝑓 𝜕𝑣 = − 𝛾 𝐷 𝑣𝑓 整理すると これを解くと 𝑓 𝑣 = exp −𝛽𝑣2/2 2𝜋/𝛽 𝐻 = 1 2 𝑣2 に対するカノニカル分布になっている これは
28 ሶ 𝑝 = − 𝜕𝐻 𝜕𝑞 − 𝛾 𝜕𝐻
𝜕𝑝 + 2𝐷 𝑅 ሶ 𝑞 = 𝜕𝐻 𝜕𝑝 散逸項 揺動項 与えられたハミルトニアンHに対して以下の運動方程式を解くことで 定常状態として指定温度のカノニカル分布 を実現する数値計算手法 𝑓(𝑝, 𝑞)~exp −𝛽𝐻
29 ሶ 𝑣 = −𝛾𝑣 + 2𝐷 𝑅 以下のLangevin方程式では、拡散係数が定数だった
確率変数の係数が定数である場合を相加ノイズ(additive noise)と呼ぶ ሶ 𝑣 = −𝛾𝑣 + 𝐷(𝑣) 𝑅 一般には、拡散係数は速度に依存する 係数に状態依存性がある場合を相乗ノイズ(multiplicative noise)と呼ぶ 𝑣(𝑡)に時間依存性があるので、当然𝐷(𝑣) にも時間依存性が生じる
30 ሶ 𝑥 = 𝑓(𝑥) 𝑅(𝑡) 相乗的なノイズを持つ確率微分方程式を考える න 𝑡
𝑡+ℎ 𝑓 𝑥 𝑅 𝑡 𝑑𝑡 ~𝑓 𝑥𝑡 𝑤 小さい時間刻みについて、こんな近似をしたくなる 𝑡 𝑡 + ℎ 𝑓 𝑥𝑡 𝑤 これは、短冊の参照点として左端を採用したことに対応する この定義を伊藤積分、 この解釈を伊藤解釈と呼ぶ
31 ሶ 𝑥 = 𝑓(𝑥) 𝑅(𝑡) න 𝑡 𝑡+ℎ
𝑓 𝑥 𝑅 𝑡 𝑑𝑡 ~ 𝑓 𝑥𝑡+ℎ + 𝑓 𝑥𝑡 2 𝑤 左端ではなく、両側の値の平均値を使ってみる 𝑡 𝑡 + ℎ 𝑓 𝑥𝑡 𝑤 𝑓 𝑥𝑡+ℎ 𝑤 𝑓 𝑥𝑡+ℎ + 𝑓 𝑥𝑡 2 この定義をStratonovich積分、 この解釈をStratonovich解釈と呼ぶ
32 න 𝑡 𝑡+ℎ 𝑓 𝑥 𝑅 𝑡 𝑑𝑡
~ 𝑓 𝑥𝑡+ℎ + 𝑓 𝑥𝑡 2 𝑤 න 𝑡 𝑡+ℎ 𝑓 𝑥 𝑅 𝑡 𝑑𝑡 ~𝑓 𝑥𝑡 𝑤 伊藤積分 Stratonovich積分 Riemann可積分の場合は両者の極限は一致するが、 乗法的ノイズを持つ系では両者は一致しない どの解釈を採用するかで結果が変わる
33 ሶ 𝑣 = −𝛾𝑣 + 2𝐷 𝑅 Langevin方程式
𝜕𝑓 𝜕𝑡 = − 𝜕 𝜕𝑣 −𝛾𝑣𝑓 + 𝜕2𝐷𝑓 𝜕𝑣2 伊藤解釈のFPE Stratonovich解釈のFPE 𝜕𝑓 𝜕𝑡 = − 𝜕 𝜕𝑣 −𝛾𝑣𝑓 + 𝜕 𝜕𝑣 𝐷 𝜕 𝜕𝑣 𝐷𝑓 Dが定数(相加ノイズ)なら両者は一致する 𝜕𝑓 𝜕𝑡 = − 𝜕 𝜕𝑣 −𝛾𝑣𝑓 + 𝐷 𝜕2𝑓 𝜕𝑣2 両者は時間発展も定常状態も異なる
34 ሶ 𝑥 = 𝑓(𝑥) 𝑅(𝑡) 𝑥𝑡+ℎ = 𝑥𝑡
+ 𝑓 𝑥𝑡+ℎ + 𝑓 𝑥𝑡 2 𝑤 Stratonovich解釈では 未知の値が右辺に表れてしまう 伊藤解釈では 𝑥𝑡+ℎ = 𝑥𝑡 + 𝑓 𝑥𝑡 𝑤 伊藤解釈で未来の値を予想し、それを使って改めてStratonovich解釈で計算する (Two-Step法) 𝑥𝑡+ℎ = 𝑥𝑡 + 𝑓 𝑥𝑡+ℎ 𝐼 + 𝑓 𝑥𝑡 2 𝑤 𝑥𝑡+ℎ 𝐼 = 𝑥𝑡 + 𝑓 𝑥𝑡 𝑤 同じ値を使う必要が あることに注意
35 ሶ 𝑥 = −𝑥3 + 2𝑥 𝑅1 +
2 𝑅2 以下の相乗的ノイズを持つLangevin方程式を考える R1とR2は独立な白色雑音 R2はエルゴード性を満たすために追加 伊藤解釈 𝜕𝑓 𝜕𝑡 = − 𝜕 𝜕𝑡 −𝑥3𝑓 − 𝜕 𝜕𝑡 𝑥2𝑓 − 𝜕𝑓 𝜕𝑡 𝑓I ~ exp −𝑥2 1 + 𝑥2 Fokker-Planck方程式 定常状態 𝑅1 由来 𝑅2 由来 Stratonovich解釈 𝜕𝑓 𝜕𝑡 = − 𝜕 𝜕𝑡 −𝑥3𝑓 − 𝑥 𝜕 𝜕𝑡 𝑥𝑓 − 𝜕𝑓 𝜕𝑡 𝑅1 由来 𝑅2 由来 𝑓S ~ exp −𝑥2 相乗ノイズ 相加ノイズ
36 import numpy as np N = 100000 # ステップ数
h = 0.01 # 時間刻み x = 0 data = [] for _ in range(N): w1 = np.random.normal(0,np.sqrt(2*h)) # R1に対応する白色雑音 w2 = np.random.normal(0,np.sqrt(2*h)) # R2に対応する白色雑音 x_i = x + (-x * x * x) * h + x * w1 + w2 x = x + (-x * x * x) * h + (x+x_i)*0.5*w1 + w2 data.append(x) ሶ 𝑥 = −𝑥3 + 2𝑥 𝑅1 + 2 𝑅2 Two-step法の実装 似た計算を二度行うが、両者で「同じノイズ」を使う必要がある
37 𝑓I ~ exp −𝑥2 1 + 𝑥2 𝑓S ~
exp −𝑥2 伊藤解釈 Stratonovich解釈 同じ確率微分方程式に対して、異なる解釈を採用すると、異なる定常分布を得る
38 • Langevin法は、ハミルトンの運動方程式に散逸項と揺動項を 加えて指定温度のカノニカル分布を実現する数値計算手法 • 白色雑音の積分はガウス分布に従う確率変数と解釈する • 運動方程式に対応する分布関数の時間発展方程式を得る (Fokker-Planck方程式) •
運動方程式はLagrange描像 • Fokker-Planck方程式はEuler描像 • 確率微分方程式の解釈には任意性がある • 広く使われているのは伊藤解釈とStratonovich解釈 • 相加的ノイズなら両者は一致 • 相乗的ノイズの場合は異なる結果を与える