Prof. Shigeto R. Nishitani's website - NumRecipe17 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}

!! 講義の補足資料
* [[Maple|http://ist.ksc.kwansei.ac.jp/~nishitani/maple]]
* [[python|https://github.com/daddygongon/jupyter_num_calc]]
* [[c5の言語ごとの計算競争の結果|https://github.com/daddygongon/jupyter_num_calc]]の'notebooks_python/LA_speed_race.ipynb'にある


!!!期末試験について(100点満点)
* 座席表{{attach_anchor(GL.pdf,NumRecipe17)}},{{attach_anchor(ML1.pdf,NumRecipe17)}}
* [[TAマニュアル|NumRecipe_ExamTA_manual]]
* 12/22の講義時間中に,4階の情報演習室で実施.
* 座席指定.時間中5分間だけ相談時間を設ける予定.
* 大学のコンピュータを使って実際に数値計算をする課題がある.Mapleが使えると便利.
** pythonで解答する受験生はnote PCの持ち込みを認める.プリントアウトはUSB保存してください.
* メール(含むLine等のSNS)の使用は一切不可.見つかれば即退場.webの利用はOKだけど,「教えて」なんかはダメよ.
* 資料などの持ち込みは,バインダー一冊に綴じたプリント,ノート,コピーおよびレポートのみ認める.
* USBメモリーの使用は不可(python組を除く,ただしUSBはプリント用のみ).必要な資料や課題のファイルはあらかじめ自分のフォルダーに入れておくように
* 章末の演習課題と重複する問題が多い.よく消化しておくように.
//*Maple scriptの補足{{attach_anchor(IntegralAppendix.mw,NumRecipe15)}}

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


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

!!講義の目的:数値計算をMapleで解説
!!!数値計算
「数値計算」が対象とする分野は,関数の解,積分,微分方程式,固有値問題などで,数学の問題を解析的(analytical) ではなく,数値的 (numerical) に解く手法の集大成.数値計算には,料理と同じで,正しい調理法 (レシピ,recipe) がある.
!!!基本的な戦術
数値計算が必要となる問題を解くときの戦術は,
# 手持ちのツールで解いてみる,
# 解析的な解を捜す,
# 既存の数値計算のサブルーチンを写して,利用.
# 使いやすいライブラリを捜す,
# 自分でサブルーチンを考える,
という順でおおむね進める.数値計算のサブルーチンを実際に自分で考えるということはほとんどない.しかし,例え 3. や 4. の既存のサブルーチンに頼るときにもブラックボックスの中で何がおこなわれているかを大まかに理解しておかないと大失敗をしでかすことになる.

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

本講義ではこのような視点にたって,いくつかの典型的な数値計算手法の基礎的な考え方と実際のプログラムを紹介する.
!!!Maple
*前述の戦術 1. の手持ちのツールとして強力な数式処理ソフト”Maple”を講義では頻繁に使用する.
*MapleはBASIC のようにコンパイルが必要ないので,コードを修正しながら結果を表示することが可能.
*Mapleは,手続き型のスクリプトで,C言語を基礎としており,よく似ている.
*Mapleは,演習室にインストールされているだけでなく,各自所有のパソコン (Win, Mac, Linux) にインストールできる.希望者は情報科学科準備室(4号館4階,コンピュータ室向かい)へ.
*[[Mapleのwebテキスト|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/]].
*C言語への書き換えはそれほど難しくないので,講義の中ではほとんど扱わない.

!!スケジュール予定
||^初日(9/29)||[[webへのlink|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/]],
||[[Mapleによる数値計算入門|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?c=plugin;plugin=attach_download;p=SideMenu;file_name=NumMaple.pdf]]
||第2回(10/6)||[[代数方程式|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?FSolve]]
||第3回(10/13)||[[誤差|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?Error]]
||第4回(10/20)||[[行列計算[1,行列入門]|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?LAFundamentals]]
||第5回(10/27)||[[行列計算[2,逆行列]|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?LAMatrixInverse]]
||第5回(10/27)||[[行列計算[3,固有値とライブラリ]|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?LAEigenvectors]]
||第6回(11/10)||[[補間と数値積分|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?InterpolationIntegral]]
||第7回(11/17)||[[線形最小二乗法|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?LeastSquareFit]]
||第8回(11/24)||[[非線形最小二乗法|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?NonLinearFit]]
||第9回(12/1)||[[FFT|http://ist.ksc.kwansei.ac.jp/~nishitani/MapleHiki/?FFT]]
||第10回(12/8)||[[ODE|https://github.com/daddygongon/maple_ode/blob/master/maple_ode.ipynb]]
||第11回(12/15)||試験予行演習(グラフィックスラボ, IV号館4階)
||第12回(12/22)||試験(グラフィックスラボ,マルチメディアラボ1, IV号館4階)

!!期末試験関連資料
||座席表||{{attach_anchor(GL.pdf,NumRecipe17)}},{{attach_anchor(ML1.pdf,NumRecipe17)}}
||16年度||{{attach_anchor(Exam16.pdf,NumRecipe16)}},{{attach_anchor(Exam16_ans.pdf,NumRecipe16)}}
||15年度||{{attach_anchor(Exam15.pdf,NumRecipe15)}},{{attach_anchor(Exam15_ans.pdf,NumRecipe15)}}
||14年度||{{attach_anchor(Exam14.pdf,NumRecipe15)}},{{attach_anchor(Exam14_ans.pdf,NumRecipe15)}}
||11年度||{{attach_anchor(Exam11r.pdf,NumRecipe12)}}
||TAマニュアル||[[NumRecipe_ExamTA_manual]]
!!来年度に向けて
*プリントアウトで不正が起こるかも.==試験の提出はLUNAから==
*学期の始めに,以下の項目を体感してもらうために,Mapleによる模擬試験を受けさせる
**コピペでいいこと.
**何を削るべきか?
**どこを換えるべきか?
**どのような操作がMapleで最低限修得しないといけないか?
**チームの結束.
**課題の意味.

!!参考文献
:William H. Press 他著「ニューメリカルレシピ・イン・シー C 言語による数値計算レシピ」(技術評論社,1993):数値計算のバイブル.原著 Numerical recipe では非常に広範な計算対象に対して,C, Fortran, C++, Pascal, Basic 版が用意されており,数値計算プログラムをコーディングする際の洗練され たスタイルも提示している.記述は初学者には難しいが,ある程度経験を積んだプログラマには, 手法を選ぶうえで非常に役に立つ情報である.

:奥村晴彦著「C言語による最新アルゴリズム事典」(技術評論社,1991): いわゆる数値計算に限らず,いろいろな計算機問題とその解法が載っている.数値計算についても必要最小限の記述とプログラムがまとめられており,非常に便利.

:数値解析法,森正武著,1984, 朝倉書店朝倉現代物理学講座7:
:数値解析,一松信著,1982,朝倉書店新数学講座13:両書とも少し古いが,数値計算の基礎となる理論的な説明が明解.
:河村哲也著「数値計算の初歩!」(山海堂,2002年):レベルは高くないが,重要な数値計算の初歩を丁寧に解説.