2025年度後期 応用数理概論III
月曜5限 11-101 シラバス
月曜5限 11-101 シラバス
この科目を履修し単位を取得する予定の方は, 講義初回に必ず出席してください.
第1回 (10/6) ガイダンス/数値シミュレーションとは何か
数値計算(Numerical Computation)とは
数学モデルと微分方程式
処理フロー
第2回 (10/13) 数式処理システムに関する調査
※ 詳細は 10/6 の講義中に指示します.
第3回 (10/20) 誤差・丸め誤差・桁落ち
誤差・誤差限界・絶対誤差・相対誤差
β進 t 桁浮動小数点数とその表現
丸め誤差・相対誤差限界評価
桁落ちと近接値評価の危険性
第4回 (10/27) 打ち切り誤差
Taylor 展開と剰余項
丸め誤差と打ち切り誤差の違い
差分評価
11/3 大学祭期間
第5回 (11/10) 数値積分 配布資料
台形公式
中点公式
Simpson の公式
C 言語による実装と計算結果の比較
第6回 (11/17) Newton 法の基礎
反復法
Newton(-Rhapson)法の概要
誤差評価と収束判定
第7回 (11/24) Newton 法の応用
非線形連立方程式の求解
ベクトル空間における収束判定評価
具体的な例
第8回 (12/1) 出張のため休講
※ 対応については kibaco で指示します.
第9回 (12/8) Intermezzo:高水準言語 Julia の紹介
Julia とは
デモンストレーション
データベース化プロジェクト OSCAR
第10回 (12/15) 実践例:常微分方程式(ODE)を例に Part 1
初期値問題(1階 ODE の場合)
Lipschitz 連続性
2次元ユークリッド空間における解の存在定理
Euler 法
第11回 (12/22) 実践例:常微分方程式(ODE)を例に Part 2
積分近似
Runge-Kutta 法(Simpson 法を用いた4次近似)
常微分方程式系の場合
technical notation
12/29 冬季休業期間
第12回 (1/5) 演習・調整回
※ 詳細は 12/22 の講義中に指示します. 最終レポート課題については 1/26 の回を参照のこと.
1/12 成人の日
第13回 (1/19) 発展事項:Lotka-Volterra モデル
生態系における餌と捕食者の問題
x(t), y(t) 常微分方程式における Euler 法と Runge-Kutta 法
Lotka-Volterra の生存競争モデル
平衡点
第14回 (1/26) 総括・最終レポート作成 【提出期限: 2/1(日)23:59 厳守】
最終レポート課題 以下の4題から 1題以上 を選択し解答しなさい. 講義で述べた内容に限らず, 適宜参考書などを活用して取り組むことを推奨する. 必要に応じて添付ファイルを作成して構わないが, メイル等や紙媒体での提出は受け付けない.
"誤差評価" をテーマに, 数値計算における誤差の種類や評価の手法・改良のアイデア等について自由に論じなさい. 板書で紹介したものについては, 自分なりに整理して自分の言葉で解説すること. 講義で述べた内容以外の話題を多く含めたものを高く評価する.
第5回「数値積分」の配布資料を参考にして, 初等関数で積分の真の値が得られる(解ける)ような定積分を1つ選び, 適当な分割数に対して「台形公式」「中点公式」「Simpson の公式」による数値近似を試みなさい. プログラミング言語はとくに指定しない(配布資料では C 言語を用いているが, 旧型 Visual C++ .NET 環境で書かれているため, paiza などの環境で実装するには多少プログラムの改変が必要であることに注意せよ).
計算機を扱うのが苦手な場合は, 手計算での近似を試みて構わない. 分割数が大き過ぎると大変なので, 小さい場合のみを考えること. その際, 途中経過式の導出過程を必ず明記すること.
第6回に紹介した Newton(-Rhapson)法は, 初期条件の選び方によってうまく収束しないケースが存在することを述べた. 一方で, 初期値次第で収束先が異なる場合も存在する(つまり収束先の候補が2つ以上発生することがある). いま例として連立方程式
・2x-y^2+log(x)=0
・x^2-xy-x+1=0
を考える(ただし x>0 とする). この2つの式から得られるグラフの概形を描き, 共有点が2つあることを確かめよ. その上で, 初期値 A=(1,3) および B=(3,1) に対して, 実際に収束先が異なることを確かめよ. 余力のある人は, これら全てを計算機上で実現し, Newton 法を実装してみよ. ちなみに2つの共有点を数値近似で求めると P=(0.74, 1.09), Q=(3.66, 2.94) となる.
計算機を扱うのが苦手な場合は, 共有点が2点である適当な2本のグラフを同一平面上に描き, 上記のような現象が起きるような例を図解で解説せよ(明示的に関数を指定する必要はない).
[発展] Lotka-Volterra の生存競争モデル(第13回の講義ビデオ参照)において, a=0.01, b=d=0.0001, c=0.05 の解を Runge-Kutta 法(第11回参照)により t=1000 まで求めるためのプログラムを実装せよ. 個体数の初期値は自由に決めて構わない. なお, この問題については手計算を認めない.
第15回 (2/2) 解説回(調整回)
※ 詳細は 1/19 の講義中に指示します.
Contact: s-yokoyama [at] tmu.ac.jp