A. ニュートン法の進んだ内容

4節では,ニュートン法により,実数解を求める方法を学習した. そのとき,連立方程式や複素数解が求められると述べた.そこで,諸君の将来のために, 複素数解や連立方程式を求める方法を示しておく.内容は,実数解を求める方法とほとん ど同じであるが,少しばかり概念を拡張する必要がある.いままでの学習内容を十分理解 していれば,これから述べることは分かるであろう.理解できないにしても,いずれは理 解できるものと期待している.内容が理解できなくても,なにか面白そうだと思ってもら えれば,十分である.さあ,実数解が求められた者は,より難しい非線形方程式の近似解 を求めよう.


A..1 非線形方程式の複素数解

A..1.1 実数解の場合の復習

複素数に進む前に実数のニュートン法の復習を行う.4節ではでは, 図によるニュートン法の説明を行い,漸化式を示した.この方法は,直感的で分かりやす いが,複素数解や非線形連立方程式を考える場合は無理がある.図で示すことが出来るの は2次元までで,それ以上になると図に示すことが不可能であるからである.そこで,別 のアプローチから漸化式を導くことにする.異なった説明をしているようであるが,その 根本精神は全く同じで, ということである.

それでは,漸化式を求めることにする.いつものように,$ f(x)=0$の方程式の解を $ x=\alpha$とする.即ち, $ f(\alpha)=0$である.そして,$ i$番目の近似解を$ x_i$とす る.ここから,$ \Delta x$だけ移動したところの値は,

\begin{equation*}\begin{aligned}f(x_i+\Delta x)&=f(x_i) +f^\prime(x_i)\Delta x}\\ &\simeq f(x_i)+f^\prime(x_i)\Delta x \end{aligned}\end{equation*}

となる.もし, $ f(x_i+\Delta x)=0$,即ち, $ \alpha=x_i+\Delta x$となるように, $ \Delta x$を選ぶことができたら,解の計算は簡単である.この場合,式 (17)の最後の式から,

$\displaystyle \Delta x \simeq -\frac{f(x_i)}{f^\prime(x_i)}$ (18)

となる.したがって, $ \alpha=x_i+\Delta x$から,次の近似解は

$\displaystyle x_{i+1}=x_i-\frac{f(x_i)}{f^\prime(x_i)}$ (19)

となる.4節で,図により求めた漸化式13と同じである.異なる説明であったが,内容はまっ たく同じであることを理解して欲しい.

A..1.2 複素数解の場合

A..1.2.1 漸化式

実数とまったく同じ議論が,複素数でも成り立つ.ただし,複素関数で重要な特異点付近 では,この方法は使えない.テイラー級数ではなく,ローラン級数の$ -1$乗よりも小さい 項が重要となるからである.実数の場合も,特異点はだめなのと同じである.ただし,こ こでは特異点は関係ないので,複素関数でもテイラー展開が使える.$ f(z)=0$をみたす $ z$は特異点ではない.

実数とまったく同じ議論より,方程式

$\displaystyle w(z)=0$ (20)

の近似解は,漸化式

$\displaystyle z_{i+1}=z_i-\frac{w(z_i)}{w^\prime(z_i)}$ (21)

より求めることができる.この式の算出は,先ほどの実数の場合と全く同じである.

前回とは異なり,実数の場合の漸化式をグラフを用いないで説明したのは,複素数に拡張 するためである.複素数のグラフは大変である.

A..2 非線形連立方程式の実数解(2元の場合)

前節では,ニュートン法による複素数の近似解を求める方法を示した.「非線形連 立方程式」の近似解が求めれれば,概ねニュートン法の学習は終わりである.ちょっと難 しいが,ニュートン法の学習の仕上げとして,「非線形連立方程式」の実数解を求める方 法を示す.非線形連立方程式の複素数解を求めることが残っているが,この講義では示さ ない.今までのことを理解していれば,その方法も直ぐに理解できるであろう.興味のあ る人,あるいは必要に迫られた人は,自分で計算方法を考えてみよう.

A..2.1 非線形連立方程式とは

今まで,諸君は,「非線形の方程式」あるいは「線形の連立方程式」は解いたことがある. 例えば,前者は,

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

のようなものである.後者の例は,

\begin{equation*}\left\{ \begin{aligned}3x+2y+z&=10\\ x+y+z&=6\\ x+2y+z&=11 \end{aligned} \right.\end{equation*}

である.非線形方程式は未知数が2次以上のものをいい,連立方程式は未知数が2個以上の ものをいうのである.非線形とは,直線でないという意味である.未知数が2次以上のも の,例えば$ x^3$が式に含まれると,それは直線にならないので,非線形方程式になる. 直線でないという意味からも,$ \sin x$も非線形方程式を形づくる.この場合,$ x$の次 数は無限である.

複素数解まで含めると,非線形な$ n$次方程式には$ n$個の解がある.線形な連立方程式,$ n$元1次 方程式の場合,係数行列が特異でない限り,1個の解がある.では,非線形な連立方程式,$ n$$ m$次方程式の場合,複素数を含めた解の数はm個のように思えるが,正しいのだろうか? 数学の先生に聞くと,正しいということである.

また,方程式の数と未知数の数は一致しなくてはならないのは,通常の連立方程式と同じ である.それらの数が同じでも,線形連立方程式では,係数行列の行列式がゼロの場合, 解は一意に決まらない.非線形の連立方程式の場合,これはどのような場合に対応するの だろうか? 私には,分からない.かなり難しく興味深い問題のように思えるが,ここで はそのことは考えないことにする.

A..2.2 非線形連立方程式の例

非線形連立方程式の近似解をニュートン法で計算する方法を示す.次に示す方程式

\begin{equation*}\left\{ \begin{aligned}&(x-3)^2+y^2-3=0\\ &\sin x+e^{y-1}-1=0 \end{aligned} \right.\end{equation*}

の近似解を求めることを考える.2元?次非線形連立方程式である.?次とは,いささかい い加減に書いているが,勘弁してもらいたい.無限次といってよいような気がするが自信 が無いので?マークを付けておく.

さて,この方程式の解であるが,それをグラフに示す.2元であればグラフに書くことが できるのである.以下の議論は,任意の元の方程式でも成り立つことは理解して欲しい. これらの方程式をグラフに書くと図9のようになる.図中に示すよう に,点AとBに実数解があるのが分かるであろう.

図 9: 非線形方程式のグラフと実数解
\includegraphics[keepaspectratio, scale=1.0]{figure/nonlinear_eqs/ZeroPoint.eps}

初期値から出発して,解であるAやB点に近づく方法を考える.そこで,次のような関数を 考える.

$\displaystyle f(x,y)$ $\displaystyle =(x-3)^2+y^2-3$ (25)
$\displaystyle g(x,y)$ $\displaystyle =\sin x+e^{y-1}-1$ (26)

もちろん,$ f(x,y)=0$$ g(x,y)=0$が同時に成り立つ,$ (x,y)$を求めたいわけである.

いつものように,この非線形連立方程式の解を $ (\alpha_x, \alpha_y)$とする.当然, $ f(\alpha_x, \alpha_y)=0$かつ $ g(\alpha_x, \alpha_y)=0$である.そして,$ i$番目の 近似解を $ (x_i, y_i)$とする.ここから, $ (\Delta x, \Delta y)$だけ移動したところの 値は,

\begin{equation*}\begin{aligned}f(x_i+\Delta x, y_i+\Delta y)&=f(x_i, y_i) +\fra...
...l x}\Delta x +\frac{\partial f}{\partial y}\Delta y \end{aligned}\end{equation*}

となる.$ g(x, y)$の場合も全く同じである.それら,2つをまとめ,$ \simeq$$ =$に直 すと

$\displaystyle f(x_i+\Delta x, y_i+\Delta y)$ $\displaystyle =f(x_i, y_i) +\frac{\partial f}{\partial x}\Delta x +\frac{\partial f}{\partial y}\Delta y$ (28)
$\displaystyle g(x_i+\Delta x, y_i+\Delta y)$ $\displaystyle =g(x_i, y_i) +\frac{\partial g}{\partial x}\Delta x +\frac{\partial g}{\partial y}\Delta y$ (29)

となる.

ここで, $ f(x_i+\Delta x, y_i+\Delta y)=0$かつ $ g(x_i+\Delta x, y_i+\Delta y)=0$と なるように,$ \Delta x$$ \Delta y$を選ぶとする.このようにするためには,$ \Delta
x$$ \Delta y$はつぎの連立方程式を満たせばよい.式(28)と (29)の左辺をゼロとおき式を整理すれば

$\displaystyle \begin{pmatrix}\frac{\partial f}{\partial x} & \frac{\partial f}{...
...\Delta y \end{pmatrix} = \begin{pmatrix}-f(x_i,y_i)\\ -g(x_i,y_i) \end{pmatrix}$ (30)

となる.この連立方程式を解いて, $ (\Delta x, \Delta y)$を求める. $ \alpha_x \simeq
x_i+\Delta x$から,次の近似解は

\begin{equation*}\left\{ \begin{aligned}x_{i+1}&=x_i+\Delta x\\ y_{i+1}&=y_i+\Delta y \end{aligned} \right.\end{equation*}

となる.これが,非線形連立方程式の漸化式である.

A..2.3 連立で無い場合とのアナロジー

以前の授業で示した方程式の実数解や複素数解を求めたのと同じようなことを,ここでも 行った.式も似ているし,考え方も同じである.以前は, のような性質を利用した.2元の非線形連立方程式でも同じで, という性質を利用している.この性質を定量的に表したものがテイラー展開である.なる ほどテイラー展開は便利なものである.

A..3 非線形連立方程式の解(多元の場合)

前節では,2元の非線形連立方程式のニュートン法での計算方法を示した.ここでは,そ れを一般化する.ここで示す方法は,複素数解にも適用できる.

N元の非線形連立方程式は,

\begin{equation*}\left\{ \begin{aligned}&f_1(x_1,\,x_2,\,x_3,\,\cdots,\,x_N)=0\\...
...ts\\ &f_N(x_1,\,x_2,\,x_3,\,\cdots,\,x_N)=0 \end{aligned} \right.\end{equation*}

と書くことができる.未知数は,

$\displaystyle \boldsymbol{X}=(x_1,\,x_2,\,x_3,\,\cdots,\,x_N)$ (33)

とベクトルで表現する.すると,$ i$番目の方程式は, $ f_i(\boldsymbol{X})$と書き表されるので, 表現が簡単になる.これを,先ほどと同じようにテイラー展開すると

$\displaystyle f_i(\boldsymbol{X}+\Delta\boldsymbol{X})= f_i(\boldsymbol{X})+ \f...
...\cdots+ \frac{\partial f_i}{\partial x_N}\Delta x_N+ O(\Delta \boldsymbol{X}^2)$ (34)

となる. $ i=1,2,3,\cdots,N$の全てににおいて, $ f_i(\boldsymbol{X}+\Delta\boldsymbol{X})=0$になるように, $ \Delta\boldsymbol{X}=(\Delta x_1,
\Delta x_2, \Delta x_3,\cdots ,\Delta x_N)$を選ぶ.そのように選ぶため には,2次以降の高次の項を無視すると

$\displaystyle \begin{bmatrix}\frac{\partial f_1}{\partial x_1} & \frac{\partial...
...bol{X}) \\ -f_3(\boldsymbol{X}) \\ \ldots \\ -f_N(\boldsymbol{X}) \end{bmatrix}$ (35)

の線形であるN元1次連立方程式が成り立つ.これを解いて, $ \Delta\boldsymbol{X}=(\Delta x_1,
\Delta x_2, \Delta x_3,\cdots ,\Delta x_N)$を求める.そうすると,より真の解に近 い $ \boldsymbol{X}^{new}$は, $ \boldsymbol{X}^{new}=\boldsymbol{X}^{old}+\Delta \boldsymbol{X}$と計算できる.しつ こいようであるが,成分で書き表すと

\begin{equation*}\left\{ \begin{aligned}x_1^{new}&=x_1^{old}+\Delta x_1 \\ x_2^{...
...\ &\vdots\\ x_N^{new}&=x_N^{old}+\Delta x_N \end{aligned} \right.\end{equation*}

となる

非線形の連立方程式を線形の連立方程式で計算しているわけである.解きやすい式になっ た分,反復計算が必要となっている.


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


no counter