Skip to content
TwitterQiitaGitHub

モンテカルロ法を用いた数値シミュレーションをやってみた

Julia 数値計算 JupyterLab2 min read

数値計算が得意とされる Julia の導入を行ったので、実際に数値計算を行ってみる。

やったこと

モンテカルロ法を用いた、数値計算をやってみた。数値計算と言えば、大学院のときには偏微分方程式を数値的に解く、といったことを主にやっていたが、少し趣向の違うものをやってみた。

やったことの内容としては、モンテカルロ・シミュレーションのオンライン教科書 C言語版 を大いに参考にさせてもらった。というか、C 言語の内容を Julia に書き直しただけ。

モンテカルロ法とは

モンテカルロ法(英: Monte Carlo method、MC)とは、数値計算手法の一つで、乱数を用いた試行を繰り返すことにより近似解を求める手法。確率論的な事象についての推定値を得る場合を特に「モンテカルロシミュレーション」と呼ぶ(IT用語辞典)。

連続変化モデルと離散変化モデル

  • 連続変化モデル: 時間経過に伴う事象を微分方程式によって記述
    • 流体のシミュレーションや機械系の振動、電気回路など
  • 離散変化モデル: 確率的に不規則に起る現象を、コンピュータによって実験し、再現しようとする
    • 放射性原子の寿命を調べる、公衆電話の待行列の長さを予測する、電話のお話中である確率を調べる、高速道路の料金所でならぶ時間を調査する、コンピュータの内部処理の性能を解析するなど
  • モンテカルロシミュレーションは、離散変化モデルのシミュレーション

JuputerNotebook のリポジトリ

こちら

所感

計算結果の描画には Python のライブラリ matplotlib を Julia 経由で使っているので、非常にやりやすい。JupyterLab ですぐに実行して結果が見られるのも嬉しい。