史特姆定理 是一個用於決定多項式 的不同實根的個數的方法。這個方法是以雅克·夏爾·法蘭斯瓦·史特姆 命名的。
史特姆定理與代數基本定理 的一個區別是,代數基本定理是關於多項式的實根或複根的個數,把重根 也計算在內,而史特姆定理則只涉及實根,且不把重根計算在內。
我們首先從以下不含重根的多項式構造一個史特姆序列:
X
=
a
n
x
n
+
…
+
a
1
x
+
a
0
.
{\displaystyle X=a_{n}x^{n}+\ldots +a_{1}x+a_{0}.}
標準史特姆序列 是把多項式長除法 應用於
X
{\displaystyle X}
和它的導數
X
1
=
X
′
{\displaystyle X_{1}=X'}
時,所得到的中間結果的序列。
標準史特姆序列由以下公式計算:
X
2
=
−
r
e
m
(
X
,
X
1
)
X
3
=
−
r
e
m
(
X
1
,
X
2
)
⋮
0
=
−
r
e
m
(
X
r
−
1
,
X
r
)
,
{\displaystyle {\begin{matrix}X_{2}&=&-{\rm {rem}}(X,X_{1})\\X_{3}&=&-{\rm {rem}}(X_{1},X_{2})\\&\vdots &\\0&=&-{\rm {rem}}(X_{r-1},X_{r}),\end{matrix}}}
也就是說,序列中每一項都是前兩項相除所得的餘數,並將其變號。由於當
1
≤
i
<
r
{\displaystyle 1\leq i<r}
時,
deg
X
i
+
1
≤
deg
X
i
−
1
{\displaystyle \operatorname {deg} X_{i+1}\leq \operatorname {deg} X_{i}-1}
,因此這個序列最終要停止。最後一個多項式,
X
r
{\displaystyle X_{r}}
,就是
X
{\displaystyle X}
和它的導數的最大公因式。由於
X
{\displaystyle X}
沒有重根,因此
X
r
{\displaystyle X_{r}}
是一個常數。於是,標準史特姆序列為:
X
,
X
1
,
X
2
,
…
,
X
r
.
{\displaystyle X,X_{1},X_{2},\ldots ,X_{r}.\,}
設
V
ξ
{\displaystyle V_{\xi }}
為以下序列中符號變化的次數(零不計算在內):
X
(
ξ
)
,
X
1
(
ξ
)
,
X
2
(
ξ
)
,
…
,
X
r
(
ξ
)
,
{\displaystyle X(\xi ),X_{1}(\xi ),X_{2}(\xi ),\ldots ,X_{r}(\xi ),\,\!}
其中
X
{\displaystyle X}
是不含重根的多項式。於是,史特姆定理說明,對於兩個實數
a
,
b
{\displaystyle a,b}
,開區間
(
a
,
b
)
{\displaystyle (a,b)}
中的不同根的個數為
V
a
−
V
b
{\displaystyle V_{a}-V_{b}}
。
[
a
,
b
]
{\displaystyle [a,b]}
上的史特姆序列 ,是實系數多項式
X
{\displaystyle X}
的一個有限序列
X
0
,
X
1
,
…
,
X
r
{\displaystyle X_{0},X_{1},\ldots ,X_{r}}
,使得:
X
r
{\displaystyle X_{r}}
在
[
a
,
b
]
{\displaystyle [a,b]}
上沒有根
X
0
(
a
)
X
0
(
b
)
≠
0
{\displaystyle X_{0}(a)X_{0}(b)\neq 0}
如果對於
ξ
∈
[
a
,
b
]
,
1
≤
i
≤
r
−
1
,
X
i
(
ξ
)
=
0
{\displaystyle \xi \in [a,b],1\leq i\leq r-1,X_{i}(\xi )=0}
,那麼
X
i
−
1
(
ξ
)
X
i
+
1
(
ξ
)
<
0
{\displaystyle X_{i-1}(\xi )X_{i+1}(\xi )<0}
若對於
ξ
∈
[
a
,
b
]
,
X
(
ξ
)
=
0
{\displaystyle \xi \in [a,b],X(\xi )=0}
,則存在
δ
>
0
{\displaystyle \delta >0}
,使得
c
∈
(
ξ
−
δ
,
ξ
)
{\displaystyle c\in (\xi -\delta ,\xi )}
時,
X
0
(
c
)
X
1
(
c
)
<
0
{\displaystyle X_{0}(c)X_{1}(c)<0}
而
c
∈
(
ξ
,
ξ
+
δ
)
{\displaystyle c\in (\xi ,\xi +\delta )}
時
X
0
(
c
)
X
1
(
c
)
>
0
{\displaystyle X_{0}(c)X_{1}(c)>0}
我們可以驗證每一個標準史特姆序列確實是如上定義的史特姆序列。
D.G. Hook and P.R. McAree, "Using Sturm Sequences To Bracket Real Roots of Polynomial Equations" in Graphic Gems I (A. Glassner ed.), Academic Press, p. 416-422, 1990.