スツルムの定理

提供: testwiki
2025年2月8日 (土) 17:11時点におけるimported>KoZによる版 (参考文献)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

スツルムの定理(スツルムのていり、テンプレート:Lang-en-short)とは、実係数一変数多項式の任意に指定された実区間に含まれる(重複を含めない)実零点の個数を決定する方法である(扱える区間としては無限区間、半無限区間も含む)。

代数学の基本定理によれば(一般には複素係数の)一変数多項式の重複を込めた複素零点の個数はその多項式の次数に等しいが、スツルムの定理では実係数多項式の実零点の個数を重複を考慮せずに扱っている。

スツルム列

実区間[a,b]が与えられたとき、次の4つの条件を満足する実係数をもつ多項式

f0(x),f1(x),f2(x),,fL(x)

は区間[a,b]においてスツルム列(スツルム関数列)をなすという。

  1. 列中にある任意の隣り合う2つの多項式fk(x)fk+1(x)は、区間x[a,b]に於いて共通の零点を持たない。
  2. 列中にある任意の隣り合う3つの多項式fk1(x)fk(x)fk+1(x)について、区間[a,b]に於ける多項式fk(x)の零点zに対して、その両側の多項式のzに於ける値の符号は逆になる(つまりz[a,b]かつfk(z)=0ならばfk1(z)fk+1(z)<0である)。
  3. 列の最後の多項式fL(x)は 区間x[a,b]に於いて一定の符号を持つ(つまりfL(x)は区間x[a,b]に零点を持たない)。
  4. f0(x)の区間x[a,b]に於ける任意の零点をzとすれば、f0(z)f1(z)>0である。ここでf0(x)f0(x)の導関数を表す。

ユークリッドの互除法によるスツルム列の生成

上の条件を満足するスツルム列の一つとして、多項式f(x)とその微分f(x)について

f0(x)=f(x)
f1(x)=f(x)

とおき、これにユークリッドの互除法を適用することで得られる多項式列がある:

f0(x)=g1(x)f1(x)f2(x)f1(x)=g2(x)f2(x)f3(x)f2(x)=g3(x)f3(x)f4(x)fl1(x)=gl(x)fl(x)

このときfl(x)f0(x)f1(x)との最大公約数であり、さらにf(x)=0f(x)=0が共通根をもたない、すなわちf(x)=0が単根のみをもつとき、fl(x)=定数0を満足する。

また、3重対角化された対称行列Aからなる行列λIA主小行列式により構成される多項式列や、最高次の係数が正である直交多項式の列も区間[a,b]においてスツルム列をなす。

スツルムの定理

実係数多項式の列f0(x),f1(x),f2(x),,fl(x)x[a,b]でスツルム列をなし、f0(a)f0(b)0であるとする。 このとき、xを固定して関数値の列

f0(x),f1(x),f2(x),,fl(x)

を左から右に見ていったときの符号(正負)の変化の回数をN(x)とすると、方程式f0(x)=0の区間[a,b]内における解の個数は

N(a)N(b)

で与えられる。

スツルムの方法

スツルムの定理を用いることで、区間[a,b]内に存在するf(x)=0の実根の個数を求めることができるが、これを利用して区間縮小法により実係数をもつ代数方程式の実数解を求めることができる。

たとえば区間[a,b]を2等分して[a,(a+b)/2],[(a+b)/2,b]なる二つの区間に分け、各区間における根の個数をスツルムの定理によって求める、という手順を繰り返してしだいに区間を狭くしていく。そして、一つの根だけが存在する区間を十分に小さくすることで、根の近似値を得ることができる。(二分法

また、区間[a,b]においてaを固定してbN(a)N(b)=1になるまで小さくし、それから二分法を用いてbaεになるようにa,bの値を近づけることで根の最小値を決定し、そして次に小さい根を決定する、といったように根の近似値を小さい根の方から、あるいは大きい方から得ることもできる。

このように二分法ニュートン法などの求根アルゴリズムを用いてスツルムの定理から根の近似値を求める手法をスツルムの方法という。

対称行列あるいはエルミート行列固有値問題においても、指定された実区間にある固有値の個数(重複度を含めた)を求めることにより区間縮小法により固有値の存在範囲の狭めて近似値を求めるスツルムの二分法として応用される。

参考文献

テンプレート:参照方法

関連項目