第2回課題

課題 1: 二分法と Newton 法
2
方程式 e−x − sin x = 0 の解を二分法と Newton 法で求めよう。
2
(i) f (x) = e−x − sin x として、y = f (x) のグラフを 0 ≤ x ≤ 10 の範囲で描け。グラフは points ではな
く dots で描くこと。
(ii) この方程式の x > 0 の解のうち、小さい方から 2 番目と 3 番目の 2 つの解を二分法と Newton 法で求
めよ。それぞれの初期値はグラフを見て適当に選ぶ。収束判定の ǫ は ǫ = 1.0 × 10−15 とする。
(iii) 二分法の収束までに要する反復回数を数値計算から求め、テキストの理論値 (2.6) に一致するか確認
せよ。
(iv) どちらの方法でも、初期値の選び方が不適当であると求めたい解に収束しなかったり、別の解に収束
する。どのような選び方でこのようなことが起こるか考察せよ。
レポート:グラフ、計算結果(求めた数値は全て小数第 13 位まで書くこと)、考察などを提出。
課題 2: Newton 法の複素領域への拡張
ある解に収束する Newton 法の初期値はどのように分布するか、複素領域に拡張した Newton 法で考える。
f (z) = 0 の複素解を求める Newton 法は、関数、変数を複素数にした
zn+1 = zn −
f (zn )
f ′ (zn )
である。
ここで方程式 f (z) = z 3 − 1 の解を求める複素 Newton 法を考える。
f ′ (z) = 3z 2 であるので、
zn+1
=
=
zn3 − 1
3zn2
1
2
zn + 2
3
3zn
zn −
(1)
これを z = x + iy を使って実数 x, y で書き直すと、
xn+1 + iyn+1
=
1
2
(xn + iyn ) +
3
3(xn + iyn )2
(2)
実部と虚部に分けると下記の連立漸化式になる。

x2n − yn2
2xn


 xn+1 =
+
3
3(x2n + yn2 )2
2y
2xn yn
n


−
 yn+1 =
3
3(x2n + yn2 )2
問題
(3)
√
f (z) = z 3 − 1 = 0 の解は z = 1, −1/2 ± i 3/2 の 3 つである。
実数の Newton 法では実数解 z = 1 しか求められないが、複素数に拡張した方法では 3 つの解を全て求め
ることができる。
次の手順で Newton 法を実行し、3つの解のうちの一つに収束した 初期値を 全てプロットせよ。
手順 1:
3 つの解のうちどれか一つを選ぶ。
−2 ≤ x ≤ 2, −2 ≤ y ≤ 2 の正方形の領域に 500 × 500 個の初期値 (x0 , y0 ) を等間隔で取る。ただし
(x, y) = (0, 0) は f ′ (z) = 0 となり、Newton 法が使えないので除外すること。
手順 2:
250000 個の初期値の一つ一つに対してそれぞれ Newton 法を実行し、選んだ解に収束した場合にだけ初期
値 (x0 , y0 ) をデータファイルに出力する。
まず、x についての収束判定と y についての収束判定を同時に行う。ǫ = 1.0 × 10−6 とせよ。
次に、選んだ解と Newton 法で求めた解との距離の絶対値を求め、ǫ より小さくなったときにその解に収
束したものとする。
ただし、(x, y) = (1, 0) を解に選んだ場合、y の収束判定は |yn+1 − yn | < ǫ で行うこと。(0 に近い数が分
母になること避ける。)
手順 3:
選んだ解に収束した初期値は x − y 平面の領域にどのように分布しているか gnuplot の描画のスタイルは
dots でプロットせよ。
レポート: −2 ≤ x ≤ 2, −2 ≤ y ≤ 2 のプロット, どの解を選んだか、感想などを書いて提出。