数値計算が得意とされる Julia の導入を行ったので、実際に数値計算を行ってみる。
やったこと#
モンテカルロ法を用いた、数値計算をやってみた。数値計算と言えば、大学院のときには偏微分方程式を数値的に解く、といったことを主にやっていたが、少し趣向の違うものをやってみた。
やったことの内容としては、 モンテカルロ・シミュレーションのオンライン教科書 C言語版 を大いに参考にさせてもらった。というか、C 言語の内容を Julia に書き直しただけ。
モンテカルロ法とは#
モンテカルロ法(英: Monte Carlo method、MC)とは、数値計算手法の一つで、乱数を用いた試行を繰り返すことにより近似解を求める手法。確率論的な事象についての推定値を得る場合を特に「モンテカルロシミュレーション」と呼ぶ( IT用語辞典)。
連続変化モデルと離散変化モデル#
- 連続変化モデル: 時間経過に伴う事象を微分方程式によって記述
- 流体のシミュレーションや機械系の振動、電気回路など
- 離散変化モデル: 確率的に不規則に起る現象を、コンピュータによって実験し、再現しようとする
- 放射性原子の寿命を調べる、公衆電話の待行列の長さを予測する、電話のお話中である確率を調べる、高速道路の料金所でならぶ時間を調査する、コンピュータの内部処理の性能を解析するなど
- モンテカルロシミュレーションは、離散変化モデルのシミュレーション
JuputerNotebook のリポジトリ#
所感#
計算結果の描画には Python のライブラリ matplotlib を Julia 経由で使っているので、非常にやりやすい。JupyterLab ですぐに実行して結果が見られるのも嬉しい。