書籍「Pythonによる計算物理」(森北出版)のサポートページです。本に掲載されているソースコードや更新情報を掲載します。出版社のページは こちら。
著者のWebサイト「pythonで学ぶ計算物理」を元に書籍化したものです。 Webサイトとの主な違いは以下の通りです。
Webサイトと本でソースコードに違いがある場合は、ほとんどの場合、本の方が新しいです。書籍出版後の進展(Python3.10以降ではこういう書き方もできるよ、など)は、このページで取り入れていこうと思います。
森北出版のページはこちら。
本に掲載してるPythonプログラムのソースコードを掲載します。 なお、編集段階で行った修正(主にコメント部分)は、ファイルには反映されていない場合があるのでご了承ください。
説明欄に「非掲載」と書かれているものは、本に掲載されていない関連プログラムです。プログラムの詳細は説明欄を見てください。
まとめてダウンロードしたい場合には「一括ダウンロード」、個別にダウンロードしたい場合またはファイルを閲覧したい場合には「個別ダウンロード」を参照してください。
GitHubリポジトリに全てのソースコード(このページのソースも含む)を置いてあります。 緑色の「Code」ボタン → 「Download ZIP」でダウンロードできます。
以下のファイル一覧からファイル名をクリックすると、GitHub上でファイルを閲覧できます。ダウンロードしたい場合には、そのページで右上のダウンロードボタン(下矢印のアイコン)をクリックしてください。
| 掲載場所 | ファイル名 | 説明 |
|---|---|---|
| 2.3節 | logistic_euler.py | ロジスティックス方程式(オイラー法) |
| logistic_euler_mod.py | 【非掲載】(P.27に一部掲載)logistic_euler.pyのstep_forward関数を修正オイラー法に変更したもの |
|
| logistic_runge_kutta.py | 【非掲載】(P.27に一部掲載)logistic_euler.pyのstep_forward関数を4次のルンゲ・クッタ法に変更したもの |
|
| logistic_solve_ivp.py | ロジスティックス方程式(SciPyのsolve_ivp関数を使用) |
|
| 2.4節 | newton.py | ニュートン方程式 |
| newton_angles.py | 初期角度を変化 | |
| 2.5節 | llg_0dim.py | LLG方程式(単一磁気モーメント) |
| llg_1dim.py | LLG方程式(1次元) | |
| 3.4節 | differential.py | 差分法 |
| kdv_solve_ivp.py | KdV方程式 | |
| kdv_anim_artist.py | アニメーション作成 | |
| kdv_anim_func.py | 【非掲載】kdv_anim_artist.pyでArtistAnimationクラスの代わりにFuncAnimationクラスを使用した場合 |
|
| kdv_plot.py | 【非掲載】アニメーションの全てのコマを連番の画像ファイルとして出力するプログラム(図3.5の作成に使用) | |
| 3.5節 | schr.py | 時間依存シュレディンガー方程式(関数のみ) |
| schr_wall.py | 時間依存シュレディンガー方程式(ポテンシャル障壁) | |
| schr_plot.py | コマ毎のグラフを作成 | |
| schr_anim.py | 【非掲載】時間依存シュレディンガー方程式の解からアニメーションを作成するプログラム(図3.7の動画) | |
| 3.8節 | poisson.py | ポアソン方程式(点電荷) |
| poisson_plot.py | グラフ作成 | |
| poisson_circle.py | ポアソン方程式(点電荷+導体円柱) | |
| poisson_circle_plot.py | 【非掲載】導体円柱がある場合のポアソン方程式の解を図示するプログラム(図3.14の作成に使用) | |
| 4.3節 | anharmonic.py | 時間に依存しないシュレディンガー方程式(非調和振動子) |
| 4.4節 | spin.py | スピン演算子の交換関係 |
| spin_diag.py | スピン演算子の対角化 | |
| 4.5節 | two_spins.py | ハイゼンベルグ模型(2スピン) |
| three_spins.py | ハイゼンベルグ模型(3スピン) | |
| 4.6節 | hubbard_1site.py | ハバード模型(1サイト) |
| hubbard_2site.py | ハバード模型(2サイト) | |
| hubbard_2site_Udep.py | 【非掲載】2サイトハバード模型のUを変化させて計算し、結果を図示するプログラム(図4.6の作成に使用) | |
| 5.2節 | shannon.py | シャノンの情報エントロピー |
| 5.4節 | bec_integ.py | ボーズ・アインシュタイン積分 |
| 5.6節 | bec.py | ボーズ・アインシュタイン凝縮 |
| bec_t.py | 温度変化 | |
| 5.7節 | ising_mf.py | イジング模型の平均場近似 |
| ising_mf_t.py | 温度変化 | |
| 5.8節 | mc.py | イジング模型のモンテカルロ法 |
| mc_t.py | 温度変化 | |
| mc_plot_m.py | グラフ作成 |
出版社のページをご覧ください。 もし、正誤表に載っていない誤植を見つけられた場合には、問い合わせからご連絡いただけると大変助かります。
本の内容やソースコードに関する質問は、GitHubリポジトリのIssuesに投稿してください。
質問と回答は公開されます。質問と回答を共有することで、同じ疑問を持った人が、その回答を参照できるようになることが大きなメリットです。また、著者が同じ質問に繰り返し答えなくて済むため、この形式での質問にご協力お願いします。
ひとりが疑問に思ったことは、他の人も疑問に思っています。みんなのためと思って、ぜひ質問お願いします。
過去の投稿の閲覧:
投稿の手順: