シラバス参照

講義概要/Course Information
2020/04/28 現在

科目基礎情報/General Information
授業科目名
/Course title (Japanese)
計算数理工学
英文授業科目名
/Course title (English)
Numerical Calculus for Science and Engineering
科目番号
/Code
PHY605m PHY606k PHY609n
開講年度
/Academic year
2020年度 開講年次
/Year offered
3
開講学期
/Semester(s) offered
後学期 開講コース・課程
/Faculty offering the course
情報理工学域
授業の方法
/Teaching method
講義 単位数
/Credits
2
科目区分
/Category
専門科目
開講学科・専攻
/Cluster/Department
Ⅲ類
担当教員名
/Lecturer(s)
中村 淳
居室
/Office
西2-325
公開E-Mail
/e-mail
Jun.Nakamura@uec.ac.jp
授業関連Webページ
/Course website
http://www.natori.ee.uec.ac.jp/junj/index-j.html
更新日
/Last updated
2020/03/14 14:30:26 更新状況
/Update status
公開中
/now open to public
講義情報/Course Description
主題および
達成目標
/Topic and goals
[主題]
先端工学の基礎学問として、数学、物理学、電磁気学、電気回路等を
学んできた。かつ、それらの学問をより深く理解するために、演習問
題を解いてきた。一般に演習問題の解は、代数方程式で求められる。
しかし、現実の物理現象の解は、演習問題のような簡単な関数で求め
ることができないことが多い。
 このような、関数(数式)として求めることができない問題を、コン
ピュータで数値的に解く基本的な手法について解説し、プログラミン
グ演習を行う。 ただしこの授業の目的はプログラミングの修得ではない。
現実の物理現象をどのようにモデル化し、それをどのようにコンピュータ上の
数値計算によって解析するか、を目標としている。
いわば、工学の諸問題への「計算機実験」を行う授業だと考えて欲しい。

[達成目標]
工学諸問題のモデル化とその計算機実験の手法を修得すること。
コンピュータ内部の数値の取扱いを理解し、
そのための数値計算の基礎を修得する こと。

前もって履修
しておくべき科目
/Prerequisites
コンピュータリテラシー、基礎プログラミングおよび演習 
微分積分学、線形代数学
前もって履修しておくこ
とが望ましい科目
/Recommended prerequisites and preparation
物理学概論、基礎電気・電子回路、電磁気学(量子力学や線形システム理論の問題も取り扱うが、本授業で理論的背景の概説も行うので、必ずしもこれらの科目の履修は必須ではない。)
教科書等
/Course textbooks and materials
小高知宏 著「Pythonによる数値計算とシミュレーション」(オーム社)
小高知宏 著「Cによる数値計算とシミュレーション」(オーム社)
参考書は授業中に適宜紹介する。
また、必要に応じてプリントを配布する。

授業で使用するスライドは、適宜、ウェブ上に掲載するので予習で活用して欲しい。
授業内容と
その進め方
/Course outline and weekly schedule
下記の課題の数値計算についての講義し、具体的に数値計算
プログラムの解説をおこなう。
演習問題をその都度課すので、シミュレーション結果をレポートで
提出してもらう形で内容を復習して欲しい。
なお、基本プログラムは初心者向けに丁寧に解説する。

1.計算機内部での数値の表し方
2.計算機における数値誤差
3.数値誤差演習とその解説
4.数値微分と数値積分(差分法、補間、台形公式、シンプソン公式)
5.数値微積分演習とその解説
6.常微分方程式(オイラー法とルンゲクッタ法)
7.常微分方程式の応用例(力学:放物運動など、量子力学:定常状態のシュレディンガー方程式など、電気回路:RC, RLC回路など)
8.偏微分方程式
9.偏微分方程式の応用例(電磁気学:ラプラス方程式、ポアソン方程式など)
10.偏微分方程式応用例演習とその解説
11.セルオートマトンの数理(カオスとフラクタル、渋滞のシミュレーションなど)
12.行列と固有値問題(連立方程式の解法、逆行列の求め方、対角化の手法、シュレディンガー方程式、線形システム)
13.行列の固有値問題演習とその解説
14.数値計算ライブラリの利用方法
15.総合演習

ただし、順番は進度によって前後することがある。
実務経験を活かした
授業内容
(実務経験内容も含む)
/Course content utilizing practical experience
授業時間外の学習
(予習・復習等)
/Preparation and review outside class
授業時に次回授業内容を予告するので、教科書の該当する部分に目を通しておくこと。
また、授業で使用するスライドもウェブ上に公開する。それをプリントして持参すると理解しやすいだろう。
授業の最後に小テストを行う。その問題が解けるよう復習をしておくこと。
また復習を兼ねてレポートを適宜課すので、実際にコンピュータに向かってプログラムを書いて実行してみて欲しい。
成績評価方法
および評価基準
(最低達成基準を含む)
/Evaluation and grading
各回の小テスト(30%)、演習問題のレポート提出(70%)で評価する。
数値計算の考え方と基本アルゴリズムを理解し、任意のプログラミング言語で、実行可能なプログラムが作成できることを望む。また、既存のプログラムを読んで理解し、目的に応じて書き換えることができるようになって欲しい。一番重要なことは、コンピュータプログラムを用いて、様々な初期条件・境界条件に対するシミュレーションの有用性を理解してもらうことである。
オフィスアワー:
授業相談
/Office hours
火曜日5限
学生へのメッセージ
/Message for students
計算機を使った計算は、将来どのような分野で仕事をするにも、必要不可欠になりつつあります。計算機上で「数値計算」を実行する際の利点や注意点を理解してもらい、必要なプログラムを自分で作成できる、あるいは必要なライブラリを探してそれを自由に操れるようになって欲しいと思っています。単なるプログラミングの授業ではなく、シミュレーションを通じて物理現象を理解してもらうことが大事です。そのため、実習を重視します。単なる「計算法」のみにとどまらず、古典力学の問題(ニュートンの運動方程式)や電磁気学(マクスウェル方程式)、電気回路学(RC回路やRLC回路)、量子力学(シュレディンガー方程式)などで出てくる具体的な方程式を題材にします。数値計算法の基礎技術を身につけるとともに、物理的な感性も磨いて欲しいと思います。そのため、プログラミングが苦手な学生でも理解できるよう、基本プログラムは用意し、その構造を丁寧に解説します。
その他
/Others
TAも授業相談に乗ってくれます
キーワード
/Keyword(s)
数値計算、桁落、計算科学、計算物理学