Pythonによる数値計算とシミュレーション

前表紙
株式会社 オーム社, 2018/01/16 - 208 ページ

『C による数値計算とシミュレーション』のPython版登場!!

本書は、シミュレーションプログラミングの基礎と、それを支える数値計算の技術について解説します。数値計算の技術から、先端的なマルチエージェントシミュレーションの基礎までをPythonのプログラムを示しながら具体的に解説します。
 アルゴリズムの原理を丁寧に説明するとともに、Pythonの便利な機能を応用する方法も随所で示すものです。

目次

まえがき
第1章 Pythonにおける数値計算
1.1 Pythonによる数値計算プログラムの構成
1.1.1 Pythonによる数値計算プログラム
1.1.2 Pythonモジュールの活用
1.2 数値計算と誤差
1.2.1 数値計算における誤差
1.2.2 数値計算における誤差の実際
1.2.3 Pythonモジュールの活用
章末問題
第2章 常微分方程式に基づく物理シミュレーション
2.1 質点の1次元運動シミュレーション
2.1.1 自由落下のシミュレーション
2.1.2 着陸船のシミュレーション
2.2  ポテンシャルに基づく2次元運動シミュレーション
2.2.1 ポテンシャルに基づく2次元運動
2.2.2 2次元運動シミュレーション
2.3 Pythonモジュールの活用
章末問題
第3章 偏微分方程式に基づく物理シミュレーション
3.1 偏微分方程式の境界値問題
3.1.1 ラプラスの方程式
3.1.2 ラプラスの方程式の境界値問題
3.1.3 境界値問題の数値解法
3.1.4 ガウスの消去法による境界値問題の計算
3.1.5 逐次近似による境界値問題の計算
3.1.6 その他の二階偏微分方程式
3.2 ラプラスの方程式による場のシミュレーション
3.2.1 ラプラスの方程式の反復解法プログラム
3.2.2 より複雑な形状の領域の場合
3.3 Pythonモジュールの活用
章末問題
第4章 セルオートマトンを使ったシミュレーション
4.1 セルオートマトンの原理
4.1.1 セルオートマトンとは
4.1.2 セルオートマトンの計算プログラム
4.2 ライフゲーム
4.2.1 ライフゲームとは
4.2.2 ライフゲームのプログラム
4.3 交通流シミュレーション
4.3.1 1次元セルオートマトンによる交通流のシミュレーション
4.3.2 交通流シミュレーションのプログラム
章末問題
第5章 乱数を使った確率的シミュレーション
5.1 擬似乱数
5.1.1 乱数と擬似乱数
5.1.2 乱数生成アルゴリズム
5.1.3 Pythonの乱数生成モジュール
5.2 乱数と数値計算
5.2.1 数値積分と乱数
5.2.2 乱数と最適化
5.3 乱数を使ったシミュレーション
5.3.1 ランダムウォーク
5.3.2 ランダムウォークシミュレーション
5.4 Pythonモジュールの活用
章末問題
第6章 エージェントベースのシミュレーション
6.1 エージェントとは
6.1.1 エージェントの考え方
6.1.2 Pythonによるエージェントシミュレーションの実現
6.1.3 マルチエージェントへの拡張
6.1.4 相互作用するマルチエージェント
6.2 マルチエージェントによる相互作用のシミュレーション
6.2.1 マルチエージェントによるシミュレーション
6.2.2 マルチエージェントシミュレーションプログラム
章末問題
付録
A.1 4次のルンゲ=クッタ法の公式
A.2 ラプラスの方程式が周囲4点の差分で近似できることの説明
A.3 ナップサック問題の解法プログラムrkp30.py
A.4 シンプソンの公式
章末問題略解
参考文献
索  引

 

ページのサンプル

目次

第1章 Pythonにおける数値計算
1
11 Pythonによる数値計算プログラムの構成
2
112 Pythonモジュールの活用
7
12 数値計算と誤差
10
122 数値計算における誤差の実際
11
123 Pythonモジュールの活用
16
章末問題
19
第2章常微分方程式に基づく物理シミュレーション
21
43 交通流シミュレーション
111
432 交通流シミュレーションのプログラム
113
章末問題
117
第5章乱数を使った確率的シミュレーション
119
51 擬似乱数
120
512 乱数生成アルゴリズム
121
513 Pythonの乱数生成モジュール
125
52 乱数と数値計算
126

21 質点の1次元運動シミュレーション
22
212 着陸船のシミュレーション
28
22 ポテンシャルに基づく2次元運動シミュレーション
35
222 2次元運動シミュレーション
36
23 Pythonモジュールの活用
47
章末問題
48
第3章偏微分方程式に基づく物理シミュレーション
51
31 偏微分方程式の境界値問題
52
312 ラプラスの方程式の境界値問題
55
313 境界値問題の数値解法
57
314 ガウスの消去法による境界値問題の計算
60
315 逐次近似による境界値問題の計算
65
316 その他の二階偏微分方程式
67
32 ラプラスの方程式による場のシミュレーション
68
322 より複雑な形状の領域の場合
76
33 Pythonモジュールの活用
79
章末問題
80
第4章セルオートマトンを使ったシミュレーション
83
41 セルオートマトンの原理
84
412 セルオートマトンの計算プログラム
90
42 ライフゲーム
99
422 ライフゲームのプログラム
104
522 乱数と最適化
132
53 乱数を使ったシミュレーション
140
532 ランダムウォークシミュレーション
141
54 Pythonモジュールの活用
145
章末問題
147
第6章エージェントベースのシミュレーション
149
61 エージェントとは
150
612 Pythonによるエージェントシミュレーションの実現
151
613 マルチエージェントへの拡張
158
614 相互作用するマルチエージェント
164
62 マルチエージェントによる相互作用のシミュレーション
171
622 マルチエージェントシミュレーションプログラム
172
章末問題
180
付録
181
A1 4次のルンゲクッタ法の公式
182
A3 ナップサック問題の解法プログラムrkp30py
184
A4 シンプソンの公式
186
章末問題略解
188
参考文献
192
索引
193
奥付
197
著作権

書誌情報