レポート問題

2015 年度・前期・数理解析・計算機数学3
1
● レポート問題
以下の各群の問題から1問づつを選択して, 5問をレポートとして提出すること. なお, 同一の
群から複数問解答した場合には, 得点の低いものを採用する.
★ 問題(A 群)
すべての問題で, 適切な例に対するプログラムを書くことと, 適切な図を作成することが必要で
ある. また, すべての計算(議論)は倍精度浮動小数点数で計算すること.
A-1 (10 点) 多項式の零点を求めるためのニュートン法について議論しなさい.
A-2 (10 点) 浮動小数点演算の演算誤差(丸め誤差)および相殺について, それらが顕著にあらわ
れる例をつかって議論しなさい.
A-3 (10 点) 円周率の近似値を得るためには 4 arctan(1) の近似値を計算することによって求める
ことが可能である. しかし, 実際には「マチンの公式」などのより複雑な式を用いて計算され
ている. それがなぜかを議論しなさい.
A-4 (10 点) 数値的不安定性とはどのようなことかを, 例をあげて議論しなさい.
★ 問題(B 群)
すべての問題で, 得られた近似値は相対誤差 10−12 以内であること. 多少余分な計算をしていて
もかまわない. また, すべての計算は倍精度浮動小数点数で計算すること.
B-1 (8 点) exp(1.0) の近似値を求めるプログラムを書きなさい.
B-2 (10 点) sin(1.0) の近似値を求めるプログラムを書きなさい.
B-3 (20 点) log(2.0) の近似値を求めるプログラムを書きなさい.
B-4 (20 点) 10 次までの Legendre 多項式の零点をすべて求めるプログラムを書きなさい.
B-1, B-2, B-3 はそれぞれの関数のテイラー級数を使って計算することを前提としている. したがっ
て, どのくらいの項で計算を打ち切るかの計算を示す必要がある.
★ 問題(C 群)
C-1 (10 点) 段数 s 段の陽的 Runge-Kutta 法が4次となるための必要十分条件は, 1次・2次・
3次の条件式に加えて,
X
1
bi aij aik aiℓ = ,
4
X
1
bi aij ajk aiℓ = ,
8
X
1
bi aij ajk ajℓ =
,
12
X
1
bi aij ajk akℓ =
24
Jul. 06, 2015, Version: 1.0
[email protected]
2015 年度・前期・数理解析・計算機数学3
2
であることを示しなさい. さらに, この結果を用いて, 古典的 Runge-Kutta 法が, 確かに4次
公式であることを示しなさい.
C-2 (15 点) オイラー・マクローリンの和公式を証明し, それを用いて, ニュートン・コーツの公式
のうち, 台形公式とシンプソンの公式の誤差評価を行いなさい.
C-3 (15 点) 単振動の微分方程式の初期値問題
x′′ (t) = −x(t),
x(0) = 1.0,
x′ (0) = 0.0
を, 陰的中点法を用いて構成した数値解は, 相空間上でのある曲線上に存在する. 具体的にそ
の曲線を求めなさい.
C-4 (30 点) {ci }si=1 は, ci ∈ [0, 1] をみたす相異なる s 点とし, h > 0 を一つ固定する. このとき,
微分方程式の初期値問題
u′ (t) = f (u(t)),
u(0) = u0
に対して,
u′ (ci h) = f (u(ci h)),
u0 = u(0)
をみたす多項式 u(t) によって u1 = u(h) を定める. このようにして数値解を求める方法を
collocation method と呼ぶ.
1. s = 1 のとき, collocation method は, c1 = 0 ならば前進オイラー法, c1 = 1/2 ならば
陰的中点法, c1 = 1 ならば後退オイラー法となることを示しなさい.
2. s − 1 次多項式 ℓi (x), i = 1, . . . , s を
ℓi (x) =
Y x − cj
ci − cj
j6=i
と定義する. このとき,
aij =
Z
0
cj
ℓi (x) dx,
bi =
Z
1
ℓi (x) dx
0
と定めると, collocation method は, {aij }, {bi } による Runge-Kutta 法となることを
示しなさい.
3. {ξi }si=1 を s 次 Legendre 多項式の零点とし, ci = (1 + ξi )/2 とおく. この {ci }si=1 によ
る collocation method を,
!
!
0 1
x(t)
′
X (t) =
X(t), X(t) =
−1 0
x′ (t)
に適用すると, |X1 |2 = |X0 |2 が成り立つことを示しなさい.
4. 3 の {ci }si=1 から 2 の方法によって Runge-Kutta 法を作ると, 2s 次 symplectic とな
ることを示しなさい.
Jul. 06, 2015, Version: 1.0
[email protected]
2015 年度・前期・数理解析・計算機数学3
3
★ 問題(D 群)
すべての問題で, 適切な例に対するプログラムを書くことと, 適切な図を作成することが必要で
ある. また, すべての計算(議論)は倍精度浮動小数点数で計算すること.
D-1 (20 点) 単振り子の微分方程式の初期値問題
x′′ (t) = − sin(x(t)),
x(0) = 2.0,
x′ (0) = 0.0
を, 以下の方法で解くプログラムを書き, その結果を, それぞれ, 相平面上にプロットしなさ
い. さらに, 系の全エネルギー E(t) がどのように推移するかを示す図を作成しなさい. た
だし, h = 0.01 として, t ∈ [0, 20] の範囲で解くこととし, その解法は, 後退 Euler 法, 古典
的 Runge-Kutta 法, Symplectic Euler 法, 陰的中点法の中から, 古典的 Runge-Kutta 法を含
む最低3つの方法で解くこと. (古典的 Runge-Kutta 法のみの場合には 10 点満点, 古典的
Runge-Kutta 法と Symplectic Euler 法のみの場合には 15 点満点とする).
D-2 (30 点) 次の常微分方程式の初期値問題
u′ (t) = u(t)(v(t) − w(t)),
u(0) = 1/2,
′
v(0) = 1/5,
′
w(0) = 3/10
v (t) = v(t)(w(t) − u(t)),
w (t) = w(t)(u(t) − v(t)),
の数値解を適切な方法で求めなさい. ただし, 数値解を構成した方法が「適切な方法」である
ことの理由を簡単に述べること.
★ 問題(E 群)
E-1 (10 点) 区間 [0, 1] 上で定義された実数値関数 u に対する微分方程式の境界値問題
u′′ (x) = sin(πx),
u(0) = u(1) = 0
の数値解を求めなさい. なお, 連立一次方程式の解法, 区間の刻み幅の値, (反復法の場合に
は)収束の判定方法を明記すること.
E-2 (15 点) 区間 [0, 1] 上で定義された実数値関数 u に対する微分方程式の境界値問題
u′′ (x) = cos(πx),
u′ (0) = u′ (1) = 0
の数値解を求めなさい. なお, 連立一次方程式の解法, 区間の刻み幅の値, (反復法の場合に
は)収束の判定方法を明記すること.
E-3 (10 点) A を E-1 の問題に出てくる行列とする. この時, A の絶対値最小固有値と絶対値最大
固有値, および, それぞれの固有ベクトル(それぞれ1つ)を求めるプログラムを書きなさい.
E-4 (20 点) A を E-1 の問題に出てくる行列とする. この時, A のすべての固有値を求めるプログ
ラムを書きなさい. また, 可能ならば, すべての固有値に対する固有ベクトルも求めることが
できるのが望ましい. (この場合, 提出する図版には, 絶対値が小さい方から2番目の固有値
に対する固有ベクトルを図示すればよい.)
なお, E-1 では, 問題に出てくる行列 A に対して, LU 分解または消去法を行う際には, 枢軸選択を
行わなくてもアルゴリズムが終了することは仮定してよい. また, A のすべての固有値は相異なる
と仮定してよい.
Jul. 06, 2015, Version: 1.0
[email protected]
2015 年度・前期・数理解析・計算機数学3
4
★ 締め切りと提出方法
締め切りは2015年8月3日(月曜日)17時とする.
• メールの送付先は [email protected] し, Subject には, 文字列「レポート提出」
を含むこと. また, Subject には問題番号を書くこと.
• 電子メールの発信者は, “nagoya-u.ac.jp” のアドレスであること.
• プログラム, PDF ファイル, 図版の電子データはメールで提出すること.
• 図版および数学的な内容を記述したレポートは, PDF ファイルにまとめて提出することが望
ましいが, それができない場合には紙に書いて(図版はプリンタで出力して)提出してもか
まわない.
• プログラム中には「問題番号, 学籍番号, 氏名」をコメントとして記入すること. PDF ファ
イルまたは紙で提出するレポートには, 「問題番号, 学籍番号, 氏名」を記入すること.
• PDF ファイルの用紙サイズ, および, 紙で提出する用紙サイズは A4 とする. (特に理由が
ない限り, A4 縦おきであること.)紙で提出する場合には, 片面であること.
• 図版を単独の電子データで送付する際のファイルフォーマットは, PDF, EPS, SVG, JPEG,
PNG のいずれかとする.
★ 採点基準
当初に説明した通り, 以下の基準で採点するが, 中間的な点をつけることもある. また, 非常に良
いレポートにはボーナス点を与える. (A:100%, B:60%, C:0% と考えて良い.)
A 数値計算が正しいプログラムによって行われ, その考察が適切であるもの.
B 数値計算は正しいプログラムによって行われているが, その考察に少々問題があるもの.
または, 数学的背景は正しく記述されているが, プログラムに小さな誤りがあるもの.
C それ以外.
★ 成績基準
全体を 60 点満点と考え, 原則として以下の基準で成績をつける.
優 48 点以上 (80% 以上) かつ各群の問題で 6 点以上
良 42 点以上 (70% 以上) かつ 6 点以上の解答が 4 個以上
可 36 点以上 (60% 以上)
Jul. 06, 2015, Version: 1.0
[email protected]
2015 年度・前期・数理解析・計算機数学3
5
★ 注意事項
以下の注意事項に沿わないレポートは採点から除外する.
• 提出方法に従わないレポートは採点の対象とはしない. 特に, 電子ファイルのファイルフォー
マットに注意すること.
• 提出するレポートおよびそのプログラムは, 自分で作成したものに限る. 特に, 他人書いても
らったプログラムや, 「インターネット」で拾ってきたプログラムをレポートとして提出し
てはならない.
このような場合には, 採点から除外するだけでなく, 不正行為として直ちに不可と判定する.
• プログラムは, 浮動小数点演算が IEEE の規定に沿う言語で記述すること. (C なら問題な
い.)また, プログラム中には, 何をしているプログラムか, 各部分が何を実行しているのかを
コメントとして記入すること. コメントが全くないプログラムは採点対象としない. コメン
トが不適切であったり, コメントが無いことにより何をしているのかが読み取れないプログ
ラムは減点対象とする.
★ 一言
レポートは, できたからと言って, 「よしできたぁ!」とすぐに出すのはやめましょう. 数日後に
もう一度自分の書いたレポート(プログラム)を見直して, 自分で何を書いているかがわかるかを
考えてください.
以上
Jul. 06, 2015, Version: 1.0
[email protected]