2015
年度・前期・数理解析・計算機数学31
● レポート問題(暫定版)
以下の各群の問題から1問づつを選択して,5問をレポートとして提出すること.
(同一の群から複数問解答した場合には,得点の低いものを採用するので,注意すること).
注意:このレポート問題は暫定版である.}設問に疑義のある場合には, 2015年7月6日の授 業時までに質問をすること.
★ 問題(
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 b
ia
ija
ika
iℓ= 1 4 , X b
ia
ija
jka
iℓ= 1
8 , X b
ia
ija
jka
jℓ= 1 12 , X b
ia
ija
jka
kℓ= 1
24
Jun. 22, 2014, Version: 0.9 [email protected]
2015
年度・前期・数理解析・計算機数学32
であることを示しなさい. さらに, この結果を用いて, 古典的
Runge-Kutta
法が, 確かに 4次公式であることを示しなさい.C-2 (15
点) オイラー・マクローリンの和公式を証明し,それを用いて,ニュートン・コーツの公式のうち, 台形公式とシンプソンの公式の誤差評価を行いなさい.
C-3 (15
点)単振動の微分方程式の初期値問題x
′′(t) = − x(t), x(0) = 1.0, x
′(0) = 0.0
を, Symplectic Euler 法を用いて構成した数値解は, 相空間上でのある曲線上に存在する.
具体的にその曲線を求めなさい. また, 陰的中点法の場合にはどうなるかを考察しなさい.
(Symplectic Euler 法についてのみ議論した場合には
10
点満点とする).★ 問題(
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
点満点とする).★ 問題(
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-2
(10点満点)AをE-1
の問題に出てくる行列とする. この時,A
の絶対値最小固有値と絶 対値最大固有値,および,それぞれの固有ベクトル(それぞれ1つ)を求めるプログラムを書 きなさい.Jun. 22, 2014, Version: 0.9 [email protected]
2015
年度・前期・数理解析・計算機数学33
E-3
(20点満点)AをE-1
の問題に出てくる行列とする. この時,A
のすべての固有値を求め るプログラムを書きなさい. また,可能ならば,すべての固有値に対する固有ベクトルも求め ることができるのが望ましい. (この場合,提出する図版には,絶対値が小さい方から2番目 の固有値に対する固有ベクトルを図示すればよい.)なお, E-1 では, 問題に出てくる行列
A
に対して, LU分解または消去法を行う際には,枢軸選択 を行わなくてもアルゴリズムが終了することは仮定してよい. また,A
のすべての固有値は相異な ると仮定してよい.★ 締め切りと提出方法
締め切りは2015年8月3日(月曜日)17時とする.
•
メールの送付先は[email protected]
し, Subject には, 文字列「レポート提 出」を含むこと. また, Subject には問題番号を書くこと.•
電子メールの発信者は, “nagoya-u.ac.jp”のアドレスであること.•
プログラム, PDF ファイル, 図版の電子データはメールで提出すること.•
図版および数学的な内容を記述したレポートは, PDF ファイルにまとめて提出することが 望ましいが, それができない場合には紙に書いて(図版はプリンタで出力して)提出しても かまわない.•
プログラム中には「問題番号,学籍番号, 氏名」をコメントとして記入すること. PDFファ イルまたは紙で提出するレポートには,「問題番号,学籍番号,氏名」を記入すること.A4
とする. (特に理由 がない限り, A4縦おきであること.)紙で提出する場合には,片面であること.•
図版を単独の電子データで送付する際のファイルフォーマットは, PDF, EPS, SVG, JPEG のいずれかとする.★ 採点基準
当初に説明した通り, 以下の基準で採点するが, 中間的な点をつけることもある. また, 非常に 良いレポートにはボーナス点を与える. (A:100%, B:60%, C:0%と考えて良い.)
A
数値計算が正しいプログラムによって行われ,その考察が適切であるもの.B
数値計算は正しいプログラムによって行われているが,その考察に少々問題があるもの.または,数学的背景は正しく記述されているが,プログラムに小さな誤りがあるもの.
C
それ以外.Jun. 22, 2014, Version: 0.9 [email protected]
2015
年度・前期・数理解析・計算機数学34
★ 成績基準
全体を
60
点満点と考え,原則として以下の基準で成績をつける.優
48
点以上(80%
以上)かつ各群の問題で6
点以上 良42
点以上(70%
以上)かつ6
点以上の解答が4
個以上 可36
点以上(60%
以上)★ 注意事項
以下の注意事項に沿わないレポートは採点から除外する.
•
提出方法に従わないレポートは採点の対象とはしない. 特に,電子ファイルのファイルフォー マットに注意すること.•
提出するレポートおよびそのプログラムは,自分で作成したものに限る. 特に,他人書いても らったプログラムや, 「インターネット」で拾ってきたプログラムをレポートとして提出し てはならない.このような場合には, 採点から除外するだけでなく,不正行為として直ちに不可と判定する.
•
プログラムは, 浮動小数点演算がIEEE
の規定に沿う言語で記述すること. (C なら問題 ない.)また, プログラム中には,何をしているプログラムか,各部分が何を実行しているの かをコメントとして記入すること. コメントが全くないプログラムは採点対象としない. コ メントが不適切であったり,コメントが無いことにより何をしているのかが読み取れないプ ログラムは減点対象とする.★ 一言
レポートは, できたからと言って, 「よしできたぁ!」とすぐに出すのはやめましょう. 数日後 にもう一度自分の書いたレポート(プログラム)を見直して,自分で何を書いているかがわかるか を考えてください.
以上