2 非線型方程式の概要

ここでは、数値計算により方程式の解を求める方法を学習する。次の方程式

$\displaystyle f(x)=0$ (1)

の根$ x$を求める。方程式の右辺がゼロでない場合は、左辺へ移項して 式(1)の形にできる。

具体的な問題で、非線形方程式を考えることにしよう。たとえば、方程式

$\displaystyle x^3-3x^2+9x-8=0$ (2)

の根を求める。これの解析解を求めるのは、ほとんど不可能であろう。こらえ性のない私 なんかは、すぐにコンピューターで計算を始める。本日は、コンピューターでこの非線形 方程式の根、実際は近似解を求める方法を学習するのである。ちなみにこの方程式の根は、

  $\displaystyle x_1=1-2\left[\frac{2}{1+\sqrt{33}}\right]^{1/3}+ \left[\frac{1}{2}\left(1+\sqrt{33}\right)\right]^{1/3}$ (3)
  $\displaystyle x_2=1+(1+\sqrt{3}i)\left[\frac{2}{1+\sqrt{33}}\right]^{1/3}- \frac{1}{2}(1-\sqrt{3}i) \left[\frac{1}{2}\left(1+\sqrt{33}\right)\right]^{1/3}$ (4)
  $\displaystyle x_2=1+(1-\sqrt{3}i)\left[\frac{2}{1+\sqrt{33}}\right]^{1/3}- \frac{1}{2}(1+\sqrt{3}i) \left[\frac{1}{2}\left(1+\sqrt{33}\right)\right]^{1/3}$ (5)

と分かっている2。そ れにしても、これらの根は良く似ている。不思議なものである。複素平面で考えると、こ れらが似ているのも分かるような気がする。

ここでは数値計算法により、実数解、すなわち$ x_1$を求める。むろん、複素数解を求め ることも可能であるが、少し難しくなる3。実際に、プログラムを作成する前に、実数解の 近似値を求めておくのが良いだろう。それは、

$\displaystyle x_1\simeq 1.1659055841222127171\cdots$ (6)

となる。

式(2)は3次方程式であるが、ここで用いる数値計算のテクニッ クで解ける問題はべき乗の多項式とは限らない。計算に用いれる領域が連続であれば、ど んな方程式でも解ける。三角関数や指数関数、分数の形でも関係なく解ける。

次節からは、先に述べた非線形方程式の近似解を求める4通りの計算テクニック(二 分法,ニュートン法,はさみうち法,割線法)を示す。

いずれの方法も、$ y= f(x)$のx軸と交わる点、即ち$ f(x)=0$を反復(ループ)計算を用いて 探している。式(2)であれば、 $ f(x)=x^3-3x^2+9x-8$として、x 軸との交点を計算計するのである。この関数$ f(x)$を図11にし めす。x軸の交点がこの方程式の解となっているのは、中学生の時に学習したとおりである。

図 1: $ f(x)=x^3-3x^2+9x-8$の関数。x軸との交点が解である。
\includegraphics[keepaspectratio, scale=0.7]{figure/function_solution/ShapeOfFunction.eps}

ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成19年6月24日


no counter