コンピューターという道具を使って物理学の研究を進める基礎知識と技術, 注意点等を課題の設定、解決を通じて教える.
実際のプログラミングを通じ、現代の推奨されるプログラミング作法を教える。その上で、物理学における計算機の役割の一端を担う、微分方程式の数値的な解法や、シミュレーション、初歩的なデータ解析の手法について講義する。
【到達目標】現代物理学において実験・理論と並び主要な方法となっている数値的な手法の基礎を学び,実際のプログラム作成を通じて応用する力を身につける。 【テーマ】プログラミング言語、数値積分、微分方程式の数値解法、データ処理、モンテカルロシミュレーションといったテーマを扱う。
プログラミング言語、数値積分、微分方程式の数値解法、データ処理、モンテカルロシミュレーション
✔ 専門力 | 教養力 | コミュニケーション力 | ✔ 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
各講義の1/3程度は、概念や必要知識等、講義のポイントとなる部分の解説にあてる。残り2/3 は実習にあてる
授業計画 | 課題 | |
---|---|---|
第1回 | TSUBAMEを使う | TSUBAMEにログインし環境設定せよ。 |
第2回 | Unix/C言語入門 | C言語のプログラムを作成し実行せよ。 |
第3回 | 数値計算入門 円周率の数値計算 | arctangent の級数展開により円周率を求めよ。 |
第4回 | 数値計算入門 より良い収束性 | より良い収束性の級数により円周率を求めよ。 |
第5回 | 常微分方程式の数値解法 オイラー法 | オイラー法により常微分方程式を解け。 |
第6回 | 常微分方程式の数値解法 修正オイラー法 | 修正オイラー法に変更せよ。 |
第7回 | 常微分方程式の数値解法 ルンゲクッタ法 | ルンゲクッタにより二階の微分方程式を解け。 |
第8回 | 量子力学の数値解法 I | BLAS パッケージを使って行列問題を解け。 |
第9回 | 量子力学の数値解法 II | 任意のポテンシャル形状における波動関数を求めよ。 |
第10回 | 数値処理の精度と誤差 | 数値処理における誤差を考察せよ。 |
第11回 | モンテカルロシミュレーションI 乱数 | 乱数により面積を求めよ。 |
第12回 | モンテカルロシミュレーションII 可視化 | PGPlot を用いたプログラムを作成せよ |
第13回 | モンテカルロシミュレーションIII メトロポリス法 | メトロポリス法によりイジング模型の時間発展を実 |
第14回 | モンテカルロシミュレーションIV 物理量の導出 | イジング模型により物理量を測定せよ。 |
第15回 | データ解析 | データをフィットして、ピークの中心値、巾大きさを求めよ。 |
担当教員が配布するもの。
特に指定しない。
月一回程度のレポートによる
履修の条件を設けない。