到達目標
1.数値計算法のアルゴリズムを理解し,説明することができる.2.数値計算における誤差を理解し,説明することができる.3.物理学と関連した具体的な課題を数値計算できる.
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
効率的なプログラム開発を理解、説明できる。 | 最適化手法やデバッガの使い方を理解し、効率的なプログラム開発を実践できる。 | 最適化手法やデバッガの使い方を説明できる。 | 最適化手法やデバッガの使い方を説明できない。 |
代数方程式の数値解法を理解し、説明できる。 | 代数方程式の数値解法を収束性の観点から説明でき、プログラム言語を用いて、数値解法を実装できる。 | 代数方程式の数値解法を収束性の観点から説明できる。 | 代数方程式の数値解法を収束性の観点から説明できない。 |
数値積分法を理解し、説明できる。 | 数値積分アルゴリズムを数値誤差、演算速度の観点から説明でき、プログラム言語を用いて、数値積分アルゴリズムを実装できる。 | 数値積分アルゴリズムを数値誤差、演算速度の観点から説明できる。 | 数値積分アルゴリズムを数値誤差、演算速度の観点から説明できない。 |
数値微分法を理解し、説明できる。 | 数値微分アルゴリズムを数値誤差、演算速度の観点から説明でき、プログラム言語を用いて、数値微分アルゴリズムを実装できる。 | 数値微分アルゴリズムを数値誤差、演算速度の観点から説明できる。 | 数値微分アルゴリズムを数値誤差、演算速度の観点から説明できない。 |
学科の到達目標項目との関係
教育方法等
概要:
近年計算機性能の向上に伴い,コンピュータ・シミュレーションの重要性が増してきている.本講義では,シミュレーションに必要な様々な数値計算方法を学習する.数値計算を簡単化する様々なツールが開発されているが本講義ではその基礎となるC言語を用いた数値計算プログラミングを行う.物理学への応用の一例として、量子力学を取り上げ、シュレディンガー方程式を数値的に解く.
授業の進め方・方法:
代数方程式の解法、数値積分法などいくつかの数値計算法に関して、個々の手法に対して複数のアルゴリズムを取り上げ、アルゴリズムの基礎だけでなく個々のアルゴリズムの計算精度・計算時間および利点・欠点を説明する.
なお教科書は平易な英語で書かれている.該当範囲のPDFファイルを事前に印刷し予習しておくことが望ましい.
注意点:
本講義ではC言語の文法などについては解説しない.各自本科で行った内容を復習しておくこと.
また教科書で紹介されたプログラムの使用言語はC言語であるが、演習課題に関しては特に言語を制限しない.
参考書として下記を紹介する。
1、W.H.Press他著「ニューメリカルレシピ・イン・シー日本語版―C言語による数値計算のレシピ」技術評論社(原著第1版の日本語訳) 戸川隼人他著
2、「よくわかる数値計算―アルゴリズムと誤差解析の実際」日刊工業新聞社,高橋大輔著「数値計算」岩波書店
なお本科目は,2単位の学修科目である.規定授業時間は30時間であり,1単位あたり30時間程度の自学学習が求められる.
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス Guidance |
本講義の目的,概要,評価方法を理解する.
|
2週 |
C言語による効率的なプログラミング Effective Programing in C |
コンパイラオプションによるcodeの最適化,gdbによるデバッグの基礎,ライブラリを理解し,説明することができる.
|
3週 |
数の取扱い,誤差論 Floating Points and Errors |
浮動小数点数の表現,丸め誤差、桁落ち、情報落ちを理解し,説明することができる.
|
4週 |
非線型代数方程式の数値解法 Root Finding of Nonlinear Sets of Equations |
Newton-Raphson法,二分法などを理解し,説明することができる.
|
5週 |
非線型代数方程式の数値解法 Root Finding of Nonlinear Sets of Equations |
Newton-Raphson法,二分法などを理解し,説明することができる.
|
6週 |
数値積分法 Numerical Integration of Functions |
台形公式,Simpsonの公式など数値積分アルゴリズムを理解し,説明することができる.
|
7週 |
数値積分法 Numerical Integration of Functions |
台形公式,Simpsonの公式など数値積分アルゴリズムを理解し,説明することができる.
|
8週 |
常微分方程式の数値解法 Numerical Integration of Ordinary Differential Equations |
微分と差分、常微分方程式の数値解法であるEuler法、Ruge-Kutta法を理解し,説明することができる.
|
2ndQ |
9週 |
常微分方程式の数値解法 Numerical Integration of Ordinary Differential Equations |
微分と差分、常微分方程式の数値解法であるEuler法、Ruge-Kutta法を理解し,説明することができる.
|
10週 |
量子力学概説 Introduction to Quantum Mechanics |
シュレディンガー方程式およびそれから帰結される量子力学の物理的意味付け(量子・確率解釈など)を理解し,説明することができる.
|
11週 |
量子力学概説 Introduction to Quantum Mechanics |
シュレディンガー方程式およびそれから帰結される量子力学の物理的意味付け(量子・確率解釈など)を理解し,説明することができる.
|
12週 |
シュレディンガー方程式の解析解法 Analytical Solution to a Schrödinger Equation |
シュレディンガー方程式を解析的に解くことができる例である井戸型ポテンシャルの場合の解法を理解し,説明することができる.
|
13週 |
シュレディンガー方程式の数値解法 Numerical Solution to a Schrödinger Equation |
10週までで学習した数値アルゴリズムを活用した数値解法 (Runge-Kutta法、Numerov法、固有値問題の行列解法) による井戸型ポテンシャルに対するシュレディンガー方程式の数値解析を理解し説明することができる.
|
14週 |
シュレディンガー方程式の数値解法 Numerical Solution to a Schrödinger Equation |
10週までで学習した数値アルゴリズムを活用した数値解法 (Runge-Kutta法、Numerov法、固有値問題の行列解法) による井戸型ポテンシャルに対するシュレディンガー方程式の数値解析を理解し説明することができる.
|
15週 |
量子コンピュータ概説 Introduction to Quantum Computer |
様々なタイプの量子コンピュータを理解し、説明することができる.
|
16週 |
答案返却
|
答案を返却する
|
評価割合
| 試験 | レポート | | | | | 合計 |
総合評価割合 | 60 | 40 | 0 | 0 | 0 | 0 | 100 |
基礎的能力 | 40 | 10 | 0 | 0 | 0 | 0 | 50 |
専門的能力 | 20 | 30 | 0 | 0 | 0 | 0 | 50 |
分野横断的能力 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |