2015年度前期・数理解析・計算機数学3¹´度前期・数理解析・計算機数学3 3...

4
. , , . . . , , . . , . , . , , , . , , . , , Google “Google Page Ranking” , . Google Page Ranking , , , . , , , , . , , , . , , . , . , , .

Upload: trinhdat

Post on 28-May-2018

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 2015年度前期・数理解析・計算機数学3¹´度前期・数理解析・計算機数学3 3 なお,レポート問題の内容は,講義で扱った数値計算例を題材にして,プログラムを行い,その計

2015年度前期・数理解析・計算機数学3 

理学部数理学科4年・大学院多元数理科学研究科 

担当:内藤久資

【講義の内容】

この講義のテーマは「数値計算」である. 特に, 数値計算の初歩として, 以下の項目を扱う.

• 計算機内部での「浮動小数点数」と浮動小数点演算の基本事項.

• 数値計算の基本的な手法.

• 微分方程式の数値解法, 連立一次方程式の数値解法, 行列の固有値の数値計算.

• 並列計算の手法.

【講義の背景と目的】

▼ 背景

数値計算は科学技術分野での典型的な計算機の利用方法の一つであるだけでなく,数学を実社会

に応用する典型的な場面の一つである.

身近なところでは,今日の天気予報は「数値予報」と呼ばれる数値計算を基礎にしている. また,

航空機や自動車(F1マシンも)の設計では, 風洞実験を行うかわりに,数値計算による空気の流れ

のシミュレーションが行われている. このほかにも, 量子力学に基づいた数値計算を行うことによ

り, 未知の化学物質の性質を探ることも可能となっている. さらに, 意外なところでは, Google の検

索結果の表示順序をきめる “Google Page Ranking” も, 大規模数値計算の一例である. (Google

Page Ranking の計算は, 世界最大規模の行列計算として知られている)

このように, 計算機による数値計算は科学技術分野のみならず, 実社会においても必要不可欠な

技術となっている. このような数値シミュレーションは, 「地球シミュレータ」, 「数値風洞」な

どに代表される大規模なスーパコンピュータを用いた並列計算によって行われるが,その基本的な

計算方法は, パーソナルコンピュータによる単純な数値計算と大きく変わるものではない. これら

数値シミュレーションの実体は,数学的な対象(多くの場合には,微分方程式)を計算機で「解く」

ことであり, そのアルゴリズム(「スキーム」と呼ぶこともある)はその対象ごとの数学的な性質

を反映したものが用いられる.

▼ 目的

数値計算を学ぶことは, 単に数値シミュレーションを行うことではなく, これまでに学んだ数学

をどのように計算機に適用していくかを学ぶことが第一の重要な目的となる. 実際には, 微分方程

式を数値的に解くために何らかの「近似」を行うことが必要となる. そのため, 「数値解」を得る

ための近似手法や, 得られた「数値解」と本来の微分方程式の解との「誤差」を考察する方法を学

ぶ必要がある.

Page 2: 2015年度前期・数理解析・計算機数学3¹´度前期・数理解析・計算機数学3 3 なお,レポート問題の内容は,講義で扱った数値計算例を題材にして,プログラムを行い,その計

2 2015年度前期・数理解析・計算機数学3

一方, 計算機を用いた数値計算は, 「浮動小数点演算」という計算機特有の数の体系を用いるこ

とが必要となる. そのため, 我々がなれ親しんだ「実数」の世界と,「浮動小数点数」の世界との違

いを十分に理解し, 浮動小数点演算を行う上での問題点を数値計算スキームの中でどのように解決

していくかの基本的な考え方を理解することが重要である.

また, この授業では, 数値計算は一種の「数学実験」であるという立場を取り, 得られた数値計算

の結果を鵜呑みにするのではなく, 結果の考察を行うことを通じて, 数学をより深く理解すること

を目的とする.

▼ その他

なお, 授業で紹介するプログラムサンプルの言語には C 言語を用いるが, 特に C 言語にこだわ

る必要はない. しかし, 実際の数値計算結果の考察には「浮動小数点演算規則」を基本とした近似

計算を用いるため, 標準的な浮動小数点演算規則に沿う計算を実現するプログラム言語を用いる必

要がある. また, 現実の大規模数値計算を行う際には,十分な計算速度を得る必要があるため,現実

に大規模数値計算に用いられる言語の種類は必ずしも多くはないことに注意が必要である.

【授業の進め方】

基本的には, 1時間目を講義, 2時間目をでの実習または演習とする. ただし, 1・2時間目両方

を講義にあてることや, 中途半端な時間から実習または演習を開始することもありうる.

▼ 実習について

実習で利用するアプリケーションに関しては, 各機種固有のものではなく, できる限り標準的と

思われるものを利用する. それ以外のものを利用するのは自由だが, そのことに起因するトラブル

などに対しては一切責任を持たない. 各自のオペレーション・ミスなどに起因するトラブルに関し

ては, 各自で責任を持つこと.

▼ 授業の進め方

講義は約90分から120分であり, その後は実習をおこなう.

講義資料は, 次回からは印刷しないので, 講義前日の深夜に Web ページから講義資料をダウン

ロードしておくこと.

【評価の方法】

この授業の評価は, 授業中に「評価対象の問題」と指定したレポートの内容のみでおこなう.

授業で提出を求めるレポートは, 「評価対象の問題」と指定するもののほかに, 通常のレポート

(課題)の提出を求める. 通常のレポートは,学生諸君の理解度を判断するために用いる. 「評価対

象の問題」と指定するレポート問題は, 通常のレポート問題を基本にしたものとする予定である.

レポートの締め切り等については,学期中においては,教育実習等を考慮する. また,「評価対象」

のレポート問題の最終回の締め切りは, 夏休み中となる予定である.

Apr. 13, 2015, Version: 1.0 [email protected]

Page 3: 2015年度前期・数理解析・計算機数学3¹´度前期・数理解析・計算機数学3 3 なお,レポート問題の内容は,講義で扱った数値計算例を題材にして,プログラムを行い,その計

2015年度前期・数理解析・計算機数学3 3

なお, レポート問題の内容は, 講義で扱った数値計算例を題材にして,プログラムを行い, その計

算結果を数学的に考察する問題である.

▼ 具体的な評価基準

評価対象のレポート問題の評価基準は以下の通りとし, その総合評価 (100 点満点として) が 80

点以上の場合に優, 70 点以上 80 点未満の場合に良, 60 点以上 70 点未満の場合に可と評価する.

基本的には, 各問題について, 以下の 3 段階で評価を行う. (すべての問題について「B」以上で

あれば, 最低でも「可」となるように評価点を与える)

A 数値計算が正しいプログラムによって行われ, その考察が適切であるもの.

B 数値計算は正しいプログラムによって行われているが, その考察に少々問題があるもの.

または, 数学的背景は正しく記述されているが, プログラムに小さな誤りがあるもの.

C それ以外.

▼ レポート作成上の注意

いかなる場合でも, レポートは自力で作成すること. 他人のレポートまたは, 教科書・参考書を写

した(コピーして単純に書き直したものを含む)と考えられるものがあった場合には単位を出さな

い. (当然, 元のレポートを作成した学生にも単位を出さない.)

レポートを作成するためのプログラム言語は C 言語である必要はない. 上にのべたように標準

的な「浮動小数点演算規則」に沿う計算を実現するプログラム言語であれば, 何を用いてもよいが,

担当者(内藤)が不馴れなプログラム言語によって記述されたレポートの場合には,プログラムに

関して質問を行う場合もありうる.

▼ 電子メールによるレポートの提出方法

電子メールによりレポート(プログラムや LATEX のファイル)を提出する場合には, 以下の宛先

に提出すること.

宛先 [email protected]

Subject レポート提出のメールであることと,どのレポート問題の提出かがわかるようにすること.

送付する電子メールに関する条件は以下の通り.

1. 電子メールの発信元は学部生の場合は全学メールアドレス, 大学院生に関しては, 多元数理科

学研究科のアドレスまたは全学メールアドレスであること.

2. こちらからの連絡も上記のメールアドレスに対してのみ行う.

【講義予定】

講義予定日は(最大で)以下の 13 回の予定.

04/13, 04/20, 04/27, 05/11, 05/18, 05/25, 06/01, 06/08, 06/15, 06/22, 06/29, 07/06, 07/13

[email protected] Apr. 13, 2015, Version: 1.0

Page 4: 2015年度前期・数理解析・計算機数学3¹´度前期・数理解析・計算機数学3 3 なお,レポート問題の内容は,講義で扱った数値計算例を題材にして,プログラムを行い,その計

4 2015年度前期・数理解析・計算機数学3

▼ 授業内容

【浮動小数点演算の基礎】

• 計算機内部での浮動小数点数の表現

• 浮動小数点の演算誤差

【数値計算の基礎】

• 区間縮小法・ニュートン法(逐次近似)

• 収束の加速

【種々の数値計算】

• 常微分方程式の数値解法

• 連立一次方程式の数値解法

• 行列の固有値の数値計算

• 2階偏微分方程式の数値解法

• 並列計算の手法

なお, この内容のすべてを授業で扱うことができるかどうかはわからない. 特に, 「種々の数値計

算」の内容については, 授業進度に応じて取捨選択する可能性が高い.

【参考文献】

1. 森口繁一, 数値計算術, 共立出版, 1987.

2. 三井斌友, 常微分方程式の数値解法, 岩波書店, 2003.

3. 三井斌友, 小藤俊幸, 齊藤善弘, 微分方程式による計算科学入門, 共立出版, 2004.

4. 森正武, 杉原正顯, 室田一雄, 線形計算, 岩波講座応用数学, 岩波書店, 1997.

5. 登坂宣好, 大西和栄, 偏微分方程式の数値シミュレーション, 東京大学出版会, 2003.

6. E.Hairer, C.Lubich, G.Wanner, Geometric Numerical Integration, 2nd Ed., Springer, 2006.

【その他】

レポートの提出以外で質問がある場合には, 以下の電子メールアドレスに質問を送付すること.

[email protected]

講義の WEB ページの URL は以下の通り.

http://www.math.nagoya-u.ac.jp/~naito/lecture/2015_SS/

このページには講義で配布した配布物へのリンクを作成しておく. また, 休講などの予定もこのペー

ジに記載する.

おしまい

Apr. 13, 2015, Version: 1.0 [email protected]