2014 年度「計算数学」 2014-12-05

§10.1 Newton 法

(10.1.1) Newton 法とは, 滑らかな関数 y = f(x) に対し f(x) = 0 の解を近似的に求める方法の一つである。

(10.1.2) 解に近い数を a1 とする。以下, この関数のグラフ上の点 (ak, f(ak)) における 接線が x 軸と交わる点の x 座標を ak+1 として数列 a1, a2, ..., an, ... を定義すると, この数列は f(x) = 0 の解に収束する。 このことを,適当なグラフを書いて確認せよ。 (最初の値 a1 のとりかたが適切でないと, 求める解に収束しないこともある。)

(10.1.3) これを利用して f(x) = 0 の解を求めるのが Newton 法である。

§10.2 【課題3】

(10.2.1) 諸君のアカウント名の下二桁を「14.」のあとに続けた (十進法による)数を K とする。 たとえば z14ec099 ならば K は 14.99 である。 f(x) = x2 - K とおき f(x) = 0 の解を Newton 法で求めることで K の平方根を求めるプログラムを書いて, 実行結果とともにメールで送れ。

(10.2.2) 漸化式は手計算で求める。

(10.2.3) 初期値 a1 は適切に選べ。

(10.2.4) 収束したらループを抜ける,というのはやめにして, 第 60 項まで計算せよ。 出力は,小数点以下 60 桁まで表示させよ。

(10.2.5) メールは,必ず,この授業で配布したアカウントから送れ。 メールの本文冒頭に, 学籍番号,名列番号,氏名(として大学に届けてあるもの)を忘れずに書け。 次に,レポートの内容を,「Newton 法により 14.99 の平方根を求める」程度に, 簡潔に書け。

(10.2.6) その次に,プログラムを載せよ。 その際,Active! mail のメール作成画面の「添付ファイル」 *ではなく* 本文の中にソースファイルを貼りつけること。 そのプログラムは,実験を行なったプログラムそのものでなければならない。 (一部でも変更したときは,コンパイル・実行をやり直すこと。)

(10.2.7) 今回の実行結果は,もちろん,一回分でよい。

(10.2.8) 宛て先は私(岩瀬)の実習用アカウント((1.9.7) 参照)である。 件名は「?? kadai3」(←全て半角文字,小文字, ?? は自分の id の下二けた,その後ろに半角スペース一つ, kadai3 の間にはスペースを入れない)とせよ。

§10.3 時間の余った人へ

(10.3.1) 初期値を負の数にしたらどうなるか? 0 としたら? ものすごく大きな数にしたら?

(10.3.2) an の値だけでなく, その右に an2 の値も出力させてみよ。 (レポートには不要。)

(10.3.3) 非常に大きな数や非常に小さな数の平方根を計算させるとどうなるか?

(10.3.4) より次数の高い関数で, 初期値によって収束先が変わったり, あるいは振動したりする, おもしろい例は作れないか?


岩瀬順一