NumRecipe

2018年度秋学期数値計算

講義の補足資料

期末試験について(100点満点)

  • 座席表ml1.pdf,ml2.pdf,hsi.pdfをチェックしてください.番号がない人や,所属が間違っている場合は申し出てください.
  • TAマニュアル
  • 12/21 or 1/11の講義時間中に,4階の情報演習室で実施.
  • 座席指定.時間中5分間だけ相談時間を設ける予定.
  • 大学のコンピュータを使って実際に数値計算をする課題がある.
    • PCの持ち込みを認める.また,プリントアウトのためにUSBの使用を認める.
  • メール(含むLine等のSNS)の使用は一切不可.見つかれば即退場.webの利用はOKだけど,「教えて」なんかはダメよ.
  • 資料などの持ち込みは,プリント,ノート,コピーおよびレポート.
  • USBメモリーの試験時間中の使用は不可.必要な資料や課題のファイルはあらかじめ自分のフォルダーに入れておくように
  • 章末の演習課題と重複する問題が多い.よく消化しておくように.

単位について

全般の注意

  • ペア(ツーマンセル)フォーマンセルで取り組む.座席指定.
  • 期末試験の結果をペア(ツーマンセル)フォーマンセルで平均する.
  • 授業中に与えた課題に解答あるいはまともな質問をしたペア(ツーマンセル)フォーマンセルに加点(合計20点程度).
  • 章末の演習課題を提出したペア(ツーマンセル)フォーマンセルに加点(2点X9回程度),
  • 現在の得点
  • 過去の得点
  • 相当量の印刷物を配布予定(100page以上).試験に備えてバインダーに保存しておくこと.

章末の演習課題について

  • 次週の授業開始時にプリントアウトして提出.
  • 全部やる必要はない.
  • 採点結果は私のURLへup.
  • ペア(ツーマンセル)フォーマンセルで1つ出せばよい.
  • 採点の都合上,遅れたら,0点.

講義の目的:数値計算をMapleで解説

数値計算

「数値計算」が対象とする分野は,関数の解,積分,微分方程式,固有値問題などで,数学の問題を解析的(analytical) ではなく,数値的 (numerical) に解く手法の集大成.数値計算には,料理と同じで,正しい調理法 (レシピ,recipe) がある.

基本的な戦術

数値計算が必要となる問題を解くときの戦術は,

  1. 手持ちのツールで解いてみる,
  2. 解析的な解を捜す,
  3. 既存の数値計算のサブルーチンを写して,利用.
  4. 使いやすいライブラリを捜す,
  5. 自分でサブルーチンを考える,

という順でおおむね進める.数値計算のサブルーチンを実際に自分で考えるということはほとんどない.しかし,例え 3. や 4. の既存のサブルーチンに頼るときにもブラックボックスの中で何がおこなわれているかを大まかに理解しておかないと大失敗をしでかすことになる.

といっても,数値計算手法の全てを理解しておく必要はない.料理において基本となる,切る,煮る, 焼くなどを知っていれば,recipe を見ながら調理ができる.数値計算においても同じで,基本となる誤差,精度,収束性,安定性,計算速度などの本質を理解しておけば新しい数値計算手法もだいたいの振る舞いを予測することが出来る.

本講義ではこのような視点にたって,いくつかの典型的な数値計算手法の基礎的な考え方と実際のプログラムを紹介する.

Maple(今年度は使用しない,希望するなら準備室にinstall DVDがある)

  • 前述の戦術 1. の手持ちのツールとして強力な数式処理ソフト”Maple”を講義では頻繁に使用する.
  • MapleはBASIC のようにコンパイルが必要ないので,コードを修正しながら結果を表示することが可能.
  • Mapleは,手続き型のスクリプトで,C言語を基礎としており,よく似ている.
  • Mapleは,演習室にインストールされているだけでなく,各自所有のパソコン (Win, Mac, Linux) にインストールできる.希望者は情報科学科準備室(4号館4階,コンピュータ室向かい)へ.
  • Mapleのwebテキスト
  • C言語への書き換えはそれほど難しくないので,講義の中ではほとんど扱わない.

python

スケジュール予定

初日(9/21)githubのnumerical_calc, nbviewer
ode
第2回(9/28)代数方程式課題ヒント
第3回(10/5)誤差課題解答例
第4回(10/12)行列計算[1,行列入門]課題ヒント
第5回(10/19)行列計算[2,逆行列],breast_cancer_detector課題ヒント
第5回(10/26)行列計算[3,固有値とライブラリ],speed課題ヒント
11/2
第6回(11/9)補間と数値積分課題ヒント
第7回(11/16)線形最小二乗法課題ヒント
第8回(11/30)非線形最小二乗法課題ヒント
第9回(12/7) 休講予定 FFT
今年度は第一回でODE2017_report_super_car
第10回(12/14)試験予行演習(ML1, ML2(IV号館4階), 人シス)
第11回(12/21)試験(ML1, ML2(IV号館4階), 人シス)

期末試験関連資料

座席表ml1.pdf,ml2.pdf,hsi.pdf
18年度Exam18.pdfpython解答例
17年度Exam17.pdfpython解答例
16年度Exam16.pdf,Exam16_ans.pdf
15年度Exam15.pdf,Exam15_ans.pdfpython解答例
14年度Exam14.pdf,Exam14_ans.pdf
11年度Exam11r.pdf
TAマニュアルNumRecipe_ExamTA_manual

来年度に向けて

  • プリントアウトで不正が起こるかも.試験の提出はLUNAから
  • 学期の始めに,以下の項目を体感してもらうために,Mapleによる模擬試験を受けさせる
    • コピペでいいこと.
    • 何を削るべきか?
    • どこを換えるべきか?
    • どのような操作がMapleで最低限修得しないといけないか?
    • チームの結束.
    • 課題の意味.

参考文献

William H. Press 他著「ニューメリカルレシピ・イン・シー C 言語による数値計算レシピ」(技術評論社,1993)
数値計算のバイブル.原著 Numerical recipe では非常に広範な計算対象に対して,C, Fortran, C++, Pascal, Basic 版が用意されており,数値計算プログラムをコーディングする際の洗練され たスタイルも提示している.記述は初学者には難しいが,ある程度経験を積んだプログラマには, 手法を選ぶうえで非常に役に立つ情報である.
奥村晴彦著「C言語による最新アルゴリズム事典」(技術評論社,1991)
いわゆる数値計算に限らず,いろいろな計算機問題とその解法が載っている.数値計算についても必要最小限の記述とプログラムがまとめられており,非常に便利.改訂版が2018に出た.
数値解析法,森正武著,1984, 朝倉書店朝倉現代物理学講座7
数値解析,一松信著,1982,朝倉書店新数学講座13
両書とも少し古いが,数値計算の基礎となる理論的な説明が明解.
河村哲也著「数値計算の初歩!」(山海堂,2002年)
レベルは高くないが,重要な数値計算の初歩を丁寧に解説.
Last modified:2018/12/25 17:12:10
Keyword(s):
References:[LectureNotes]