代 数 学 講 義 改訂新版

$\blacktriangleleft$ $\S\ 14.$ Laguerre の定理  $\S\ 16.$ Sturm の定理の拡張 $\blacktriangleright$

『代数学講義』目次へ



第 $3$ 章 スツルムの問題$\hspace{0.5mm}$,$\hspace{-0.5mm}$根の計算


 $\S\ 15.$ Sturm の 定 理

 $\boldsymbol{1.}$ 実係数をもつ方程式\[f(x)=0\]が与えられた区間\[a\leqq x\leqq b\]の中にいくつの実根をもつかを決定することを Sturm の問題という.これは古い問題であるが,$1829$ 年に至って Sturm が初めて完全な解決を与えたのである.
 この問題が解決されたとするならば,定理 $2.\ 2$ に述べたように,$f(x)$ の根の絶対値の限界は知れるから($\S\ 19$ 参照),その限界を $l$ として,区間 $-l\lt x\lt l$ における実根の数を求めると,それがすなわち実根の総数である.
 この区間をしだいに細分して,その各区間における実根の数を求めるならば,ついに各 $1$ 個ずつの実根を含む区間に達することができる.このような区間を求めることを実根の分離という.すなわち,任意の区間に関して Sturm の問題が解かれるならば,実根分離の問題が解かれるはずである.
 $1$ 個の実根を含む区間をさらに細分して,各区間に関して実根の数($0$ または $1$)を定めることができるから,この操作を継続すれば,一つの実根を含むどんなに小さな区間でも求めることができる.いま,区間 $a\lt x\lt b$ が一つの実根を含み,その区間の幅 $b-a$ がたとえば $0.001$ に等しいとすれば,区間の限界 $a$ または $b$ をその根の近似値としてとるとき,誤差は $0.001$ 以下である.ゆえに Sturm の問題が解かれるならば,実根の近似的計算ができる.ここに Sturm の問題の重要性がある.
 $\boldsymbol{2.}$ Sturm の問題は Euclid の算法(最大公約数を求める互除法)によって解かれる.多項式 $f(x)$ とその導函数 $f^\prime(x)$ とから次々に出て来る剰余の符号を変えながら互除法を行なう.
 すなわち\[f_{h-1}(x)=q_h(x)f_h(x)-f_{h+1}(x)\]\[\tag{$\ 1\ $}\]
\[(h=1,\ 2,\cdots,\ l-1)\]とする.ただし便宜上 $f=f_0$,$f^\prime=f_1$ ともしるすのである.最後の多項式 $f_l(x)$ はもちろん $f(x)$ と $f^\prime(x)$ との最大公約数で,$f(x)=0$ が複根をもたないときに限って,それは定数($\neq0$)である.
 さて $x$ のある値に対する,これらの函数\[f(x),\ f^\prime(x),\ f_2(x),\ \cdots,\ f_l(x)\tag{$\ 2\ $}\]の値の符号を左から右へ見て行って,同じ符号が続くところ(記号 $P$)と符号が変わるところ(記号 $V$)とを数えて,その総数をそれぞれ $P(x)$,$V(x)$ とする.ただし $(\ 2\ )$ の値の中に $0$ になるものがあれば,それは飛ばして $P$,$V$ を数えるのである.この記号 $P(x)$,$V(x)$ は今後も同様の意味でしばしば用いるであろう.
 このような記号を用いて Sturm の定理を次のように述べることができる.
 〔定理 $\boldsymbol{3.\ 1}$〕(Sturm の定理)方程式 $f(x)=0$ が\[a\lt x\leqq b\]なる区間においてもつ実根を単根複根の区別なしに(複根を一つの根として)数えて,その数を $N_0$ とする.
 また $(\ 2\ )$ の函数列\[f(x),\ f^\prime(x),\ f_2(x),\ \cdots,\ f_l(x)\tag{$\ 2\ $}\]において区間の両端 $x=a$ および $x=b$ に対する符号の変りの数を $V(a)$ および $V(b)$ とする.しからば\[N_0=V(a)−V(b).\] ただし,区間の一端 $x=a$ が $f(x)=0$ の $k$ 重の複根である場合には,$(\ 2\ )$ の各函数を共通の因数 $(x-a)^{k-1}$ で割った上で $V(a)$ を求めるのである.$x=b$ に関しても同様である.
 〔〕 $x$ が $a$ から $b$ まで変動する間に $V(x)$ の数に変化の生ずるのは,$z$ が $(\ 2\ )$ のある函数を $0$ にするような値を通過するときに限ることは明白である(多項式の連続性).
 まず $x=x_0$ が $f(x)=0$ の根であるときに,$x_0$ の直前と直後とで $f$ と $f^\prime$ との間において $V$ の数が $1$ 個減少する.すなわち $x$ が増大しつつ $x_0$ を通過するときに $f(x)f^\prime(x)$ の符号が $-$ から $+$ 変わる.それを見るには $x_0$ を $f(x)$ の $k$ 重根として($k\geqq1$)\[f(x)=(x-x_0)^k\varphi(x)\]とおけば\[\frac{\ f^\prime(x)\ }{f(x)}=\frac{k}{x-x_0}+\frac{\ \varphi^\prime(x)}{\varphi(x)}\]($\S\ 11$)で,$x=x_0$ のとき $\varphi(x)$ は $0$ にならないから,右辺の第 $2$ 項 $\dfrac{\varphi^\prime(x)}{\varphi(x)}$ は $x_0$ において連続で,$x_0$ の付近では有限な限界内に止まるのに,第 $1$ 項 $\dfrac{k}{x-x_0}$ は $x$ が $x_0$ に近づくとき,$x\lt x_0$ または $x\gt x_0$ にしたがって,$-\infty$ または $+\infty$ になる.ゆえに $x$ が増大しつつ $x_0$ を通過するとき $\dfrac{\ f^\prime(x)\ }{f(x)}$ の符号は $-$ から $+$ に変わる.
 ゆえに $f(x)$ と $f^\prime(x)$ との間では,$x_0$ の直前においては符号の変りがあり,$x_0$ の直後では符号の変りがない,すなわち $x$ が $x_0$ を通過するとき,符号の変りが $1$ 個減少する.
 なお精密にいえば,$V(x)$ を数えるとき,函数列の中で $0$ になるものは省くという規約であるから,$x=x_0$ のとき $f$,$f^\prime$ の間に符号の変りがない.すなわち $x$ が増大しつつ $x_0$ に到達する瞬間に $f$ と $f^\prime$ との間に符号の変りが $1$ 個減少するのである.
 次に $x=x_0$ のとき,$(\ 2\ )$ の中間の函数 $f_h(x)$($0\lt h\lt l$)が $0$ になる場合において,もしも同時に $f_{h+1}(x)$ が $0$ にならなければ,$(\ 1\ )$ によって $f_{h-1}(x)$ も $0$ にならず,かつ $f_{h+1}(x_0)$ と反対の符号をもつ.ゆえに多項式の連続性によって,$x=x_0$ の直前でも,直後でも,$f_{h-1}(x)$ と $f_{h+1}(x)$ とは反対の符号をもつから,$f_h(x)$ の符号に関係なく $f_{h-1}$,$f_h$,$f_{h+1}$ の間の符号の変りは $1$ 個である($+\pm-$ または $-\pm+$).したがって $x$ が $x_0$ を通過するとき,これら三つの函数の間における符号の変りの数に増減がない.
 $x=x_0$ において $f_h(x_0)$ と同時に $f_{h+1}(x_0)$ が $0$ になるときには,$(\ 1\ )$ によって $(\ 2\ )$ の各函数が $0$ になる.すなわち $x=x_0$ が $f(x)$ の複根である場合である.いま $x=x_0$ が $f(x)$ の $k$ 重の複根であるとすれば,$(\ 2\ )$ の各函数は $(x-x_0)^{k-1}$ で割り切れる.この共通因子を取り除いた跡の函数を\[\varphi(x),\ \varphi_1(x),\ \cdots,\ \varphi_{h-1}(x),\ \varphi_h(x),\ \varphi_{h+1}(x),\ \cdots,\ \varphi_l(x)\tag{$\ 3\ $}\]とすれば,$x=x_0$ のときもはやこれらの函数が二つ引き続いて $0$ になることはない.しかるに $(\ 1\ )$ によって\[\varphi_{h-1}(x)=q_h(x)\varphi_h(x)-\varphi_{h+1}(x)\hspace{1cm}(h=1,\ 2,\ \cdots,\ l-1)\]であるから,$x=x_0$ のとき $(\ 3\ )$ の中に $0$ になるものがあるとしても,$x_0$ の直前と直後とにおいて,$\varphi_1$ から $\varphi_l$ までの間には $V$ の増減はないことは前の通りである.共通の因子 $(x-x_0)^{k-1}$ を回復してもとの函数列 $(\ 2\ )$ に返っても,$x_0$ の直前直後における符号の変りの数には影響はないから,$f^\prime(x)$ から $f_l(x)$ までの間では,$x_0$ の直前と直後とにおいて $V$ の数に増減はないが,ただこの場合には,初めにいった通り,$f$ と $f^\prime$ との間において,$V$ の数が $1$ 個減少するのである.
 なお $(\ 2\ )$ の最後の函数 $f_l(x)$ が $x=x_0$ のときに $0$ になるのは,すなわち $x_0$ が $f(x)$ の複根になる上の場合である.
 よって $x=a$,$x=b$ が $f(x)$ の根でないとすれば,$x$ が $a$ から $b$ まで変わるとき,$V(x)$ は $x$ が $f(x)$ の単根または複根を通過するごとに $1$ 個ずつ減少するだけであるから,定理にいう通り\[N_0=V(a)−V(b)\tag{$\ 4\ $}\]である.
 $x=a$ または $x=b$ が $f(x)$ の単根であるときは,上の説明によって明らかな通り $V(a)$,$V(b)$ は $a$ または $b$ の直後における $V(x)$ に等しいから,$V(a)−V(b)$ は $a$ の直後から $b$ の直後までの根の数である.それはすなわち区間\[a\lt x\leqq b\]における根の数に等しい.このように区間の左端は開放し,右端は閉鎖することにすれば,$(\ 4\ )$ がやはり成り立つのである.
 ただ $x=a$ が $f(x)$ の複根であるときには,$x=a$ に対して $(\ 2\ )$ の函数が全部 $0$ になるから,$a$ の直後における $V(x)$ を $V(a)$ から求めることができない.この場合には共通因子 $(x-a)^{k-1}$ または $f_l(x)$ を取り除いて $V(a)$ を求めねばならない.$x=b$ に関しても同様である.
 実際に,函数列 $(\ 2\ )$ を計算することは $f$ がやや高次でもかなりわずらわしく,また $x$ のある値に対する $(\ 2\ )$ の値を計算することは面倒であるが,入用なのは $(\ 2\ )$ の値その物ではなくて,ただ符号だけがわかればよいのだから, $^{\large*}\ $RungeEnzyklopaedie der mathematischen Wissenschaften, I)による.$(\ 2\ )$ の多項式の係数を近似的に求めておけば十分である.一般的には,計算尺を用いて各係数を $3$ 桁も出せばよい.次に一つの例を掲げる.$\large*$
 〔例〕    $\begin{alignat*}{1}&f(x)\hphantom{_1}=3.22x^6+4.12x^4+3.11x^3-7.25x^2+1.88x-7.84,\\&f^\prime(x)=19.32x^5+16.48x^3+9.33x^2-14.50x+1.88,\\&f_2\hphantom{(x)}=-1.37x^4-1.55x^3+4.8x^2-1.57x+7.84,\\&f_3\hphantom{(x)}=-109x^3+89.9x^2-121x+123,\\&f_4\hphantom{(x)}=-4.16x^2+0.15x-4.83,\\&f_5\hphantom{(x)}=-8.8x-23.3,\\&f_6\hphantom{(x)}=+34.4.\end{alignat*}$
$x=\ \!\!$$-\infty:$$\hphantom{344}+\hphantom{M}-\hphantom{M}-\hphantom{M}+\hphantom{M}-\hphantom{M}+\hphantom{M}+\hphantom{M.}$$V(-\infty)$$=4,$
$x=\ \!\!$$0:$$\hphantom{344}-\hphantom{M}+\hphantom{M}+\hphantom{M}+\hphantom{M}-\hphantom{M}-\hphantom{M}+\hphantom{M.}$$V(0)$$=3,$
$x=\ \!\!$$+\infty:$$\hphantom{344}+\hphantom{M}+\hphantom{M}-\hphantom{M}-\hphantom{M}-\hphantom{M}-\hphantom{M}+\hphantom{M.}$$V(+\infty)$$=2.$

ゆえに正根負根各 $1$ 個である.$|x|\geqq2$ という実根のないことは $f(x)$ の形を一見して知られる.よって $V(1)$,$V(-1)$ を計算すれば,正根は区間 $(1,\ 2)$ に,負根は区間 $(-2,\ -1)$ にあることがわかる.
 〔注意〕 上の例では,$f_4$ が常に負であるから,函数列を $f_4$ で打ち切ってさしつかえない.Sturm の定理の証明に立ち返って見れば,函数列 $(\ 2\ )$ の中に問題の区間 $(a,\ b)$ において一定の符号をもつものがあるとき,それを最後の函数としてよいことが知られるであろう.
inserted by FC2 system