多くの分野で共通する基礎的な数値計算方法について講義する。
各種の数値計算方法について基本的な概念を理解し,実際にプログラムの作成,デバッグ,結果の妥当性の評価を経験することで,現実的な問題のシミュレーションに向けた基礎的な力を養う。プログラミング自体の講義ではない。使用するプログラミング言語は問わないが,その基本的な文法やコンパイラの使い方を理解していること。
シミュレーションのメリットとその限界を理解し,解くべき課題の数学モデルに対して適切な数値計算法と計算条件を使いプログラムを作成することができる。
数値計算,数値解析,計算機,プログラミング
✔ 専門力 | 教養力 | コミュニケーション力 | ✔ 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
各講義では前半の45分程度で各回の内容を説明し,後半の45分で実際にプログラムを書いて課題を解いてもらいます。課題は次回の講義にレポートとして提出してもらいます。グループワークでは,数値計算やプログラミングだけでなく,問題の設定やモデル化から結果の評価/理解までシミュレーションの流れを一通り経験してもらいます。
授業計画 | 課題 | |
---|---|---|
第1回 | はじめに(数値計算の応用例と基本的概念) | |
第2回 | 数値の計算機内部での表現と誤差,計算機の性能 | 講義中に出した例を参考に,計算機で数値計算の誤差を確認せよ。 |
第3回 | 方程式の反復解法 | 講義中に出した課題を解き,レポートを作成せよ。 |
第4回 | 連立1次方程式(直接法) | 講義中に出した課題を解き,レポートを作成せよ。 |
第5回 | 連立1次方程式(反復法) | 講義中に出した課題を解き,レポートを作成せよ。 |
第6回 | 行列の固有値 | 講義中に出した課題を解き,レポートを作成せよ。 |
第7回 | 補間,外挿,回帰 | 講義中に出した課題を解き,レポートを作成せよ。 |
第8回 | 数値積分 | 講義中に出した課題を解き,レポートを作成せよ。 |
第9回 | 数値微分 | 講義中に出した課題を解き,レポートを作成せよ。 |
第10回 | 常微分方程式 | 講義中に出した課題を解き,レポートを作成せよ。 |
第11回 | 偏微分方程式(1) | 講義中に出した課題を解き,レポートを作成せよ。 |
第12回 | 偏微分方程式(2) | 講義中に出した課題を解き,レポートを作成せよ。 |
第13回 | その他のトピックス(セルオートマトン,モンテカルロなど) | グループワークの準備 |
第14回 | グループワーク | グループワーク発表会の準備 |
第15回 | グループワーク発表会 |
指定はない
講義中に資料を配布する。
到達目標の達成度を,7回程度のレポート(70%)とグループワーク発表会(30%)で評価する。
必須ではないが,数学系の基本的な講義を一通り履修していること。
何らかのプログラム言語について,基本的な文法を理解しコンパイラが使える環境があること。数値計算が可能であれば,プログラム言語は問わない。Javaであれば,南6号館106号室のPCが使用可能。