コンピュータを用いた様々な解析は、今や多くの分野で必須のスキルになっている.本講義では,大規模数値計算などでよく用いられているFortran 90/95を用いて,プログラミングの基本的な文法や,研究・開発の現場で必要となる主な数値解析法のアルゴリズムや基本的なプログラミング方法を学習する.
この講義を通して,プログラミングをこれまでほとんど経験したことの無いような学生が,数値解析のアルゴリズムを理解し,基本的な解析プログラムが作成出来るようになることを目指す.
この講義を履修することによって,
(1) プログラミングのための基本文法を理解し,
(2) 研究・開発の現場で必要となる主な数値解析法のアルゴリズムを習得し,
(3) 自らのニーズに合わせて現象を数値解析するための基本的なプログラムを作成できるようになる.
数値解析,アルゴリズム,Fortran,プログラミング
✔ 専門力 | 教養力 | コミュニケーション力 | 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
学術国際情報センターの端末を用いてプログラミングの基礎やアルゴリズムについて講義と演習を織り交ぜながら学習する.対面での演習が困難になった場合は,オンラインで実施する場合もある.
授業計画 | 課題 | |
---|---|---|
第1回 | 演習:ガイダンス,プログラミングと計算機の使い方,環境構築 | ガイダンスおよび演習室のルール 数値解析がどのような場面で役に立っているかを理解する 演習室のプログラム環境の構築 |
第2回 | 演習:プログラミングの基礎(1):型,ループ,条件分岐,データの入出力 | 型やループ・条件分岐の理解と,計算結果の可視化方法の習得 |
第3回 | 演習:プログラミングの基礎(2):関数,サブルーチン,モジュール | 関数,サブルーチン,モジュールを使ったプログラムの構造化 |
第4回 | 演習:プログラミングの基礎(3):ユーザー定義派生型・配列 | ユーザー定義派生型・配列を使ったデータの構造化 |
第5回 | 演習:内積,行列ベクトル積 | 配列を用いた行列の扱い方と、基本的な行列演算の実装 |
第6回 | 講義:ガウスの消去法による連立方程式の求解 | ガウス消去法のアルゴリズムの理解 |
第7回 | 演習:ガウスの消去法による連立方程式の求解 | ガウス消去法のアルゴリズムのFortranによる実装 |
第8回 | 講義・演習:Newton法による非線形方程式の求解 | Newton法のアルゴリズムの理解と実装 |
学修効果を上げるため,教科書や配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
なし
講義資料等は必要に応じて講義前にT2SCHOLAを通して配布する.
また,以下の書籍を推奨するが授業では用いない.
松本敏郎・野老山貴行:みんなのFortran --基礎から発展まで--,名古屋大学出版会,2022, ISBN978-8158-1087-0
牛島省:数値計算のためのFortran90/95プログラミング入門,第2版,森北出版,2020, ISBN978-4-627-84722-4
Metcalf, M., Reid, J., and Chen, M.: Modern Fortran explained -- Incorporating Fortran 2018, Oxford university press, 2018, ISBN978-0-19-881188-6
レポートによって総合的に評価する。
本学の教育用計算機システムを用いて講義・演習を実施するが,受講生の個人所有のPCに計算環境をインストールして受講することも可能。ただし,新型コロナウィルスの再流行などにより,オンラインで開講することとなった場合は,個人所有のPCを用いて演習をせざるを得ない。そのような状況下では,Windows, MacOS, Linux等のOSがインストールされたPCを所有していなければ履修できないので,注意のこと。