Share on Facebook Share on Twitter Email
Answers.com

Sturm's theorem

 
Sci-Tech Dictionary: Sturm's theorem
 
(′stərmz ′thir·əm)

(mathematics) This gives a method to determine the number of real roots of a polynomial p(x) which lie between two given values of x; the Sturm sequence of p(x) provides the necessary information.


Search unanswered questions...
Enter a word or phrase...
All Community Q&A Reference topics
Wikipedia: Sturm's theorem
 

In mathematics, Sturm's theorem is a symbolic procedure to determine the number of distinct real roots of a polynomial. It was named for Jacques Charles François Sturm, though it had actually been discovered by Jean Baptiste Fourier; Fourier's paper, delivered on the eve of the French Revolution, was forgotten for many years.[citation needed]

Whereas the fundamental theorem of algebra readily yields the number of real or complex roots of a polynomial, counted according to their multiplicities, Sturm's theorem deals with real roots and disregards their multiplicities.

Contents

Sturm chains

A Sturm chain or Sturm sequence is a finite sequence of polynomials

p_0, p_1, \dots, p_m

of decreasing degree with these following properties:

  • p0 = p is square free;
  • if p(ξ) = 0, then \operatorname{sign}(p_1(\xi))= \operatorname{sign}(p'(\xi));
  • if pi(ξ) = 0 for 0 < i < m then \operatorname{sign}(p_{i-1}(\xi))= -\operatorname{sign}(p_{i+1}(\xi));
  • pm does not change its sign.

To obtain a Sturm chain Sturm himself proposed to choose the intermediary results when applying Euclid's algorithm to p and its derivative:

\begin{align}
p_0(x)&:=&p(x),\\
p_1(x)&:=&p'(x),\\
p_2(x)&:=&-{\rm rem}(p_0, p_1) &=& p_1(x) q_0(x)- p_0(x),\\
p_3(x)&:=&-{\rm rem}(p_1,p_2) &=& p_2(x) q_1(x) - p_1(x),\\
&\dots\\
0&=&-{\rm rem}(p_{m-1}, p_m).
\end{align}

That is, successively take the remainders with polynomial division and change their signs. Since \operatorname{deg}(p_{i+1}) < \operatorname{deg} (p_i) for 0 \le i < m, the algorithm terminates. The final polynomial, pm, is the greatest common divisor of p and its derivative. Since p is square free, it has only has simple roots and shares no roots with its derivative, so pm will be a non-zero constant. The Sturm chain then is

p,p_1,p_2,\ldots,p_m . \,

Incidentally, if pm turned out to be zero, then p would not be square free, but pm-1 would then be a non-trivial factor of p, so we could divide it out and calculate Sturm chains for both pm-1 and p/pm-1 (the later of which is guaranteed to be square free). Repeating this process, we can obtain a square free factorization for any polynomial p and a Sturm chain associated with each square free factor.

Statement

Let σ(ξ) be the number of sign changes (zeroes are not counted) in the sequence

p(\xi), p_1(\xi), p_2(\xi),\ldots, p_m(\xi), \,\!

where p is a square-free polynomial. Sturm's theorem then states that for two real numbers a < b, the number of distinct roots in the half-open interval (a,b] is σ(a)−σ(b).

Proof

Since polynomials are continuous functions, any sign change must occur at a zero, so we need only consider the behavior of a Sturm chain around the zeros of its constituent polynomials.

First, let's note that two adjacent polynomials can not share a common zero. Instead, if pi and pi-1 were both zero at ξ, then pi+1 would also have to be zero at ξ, since \operatorname{sign}(p_{i-1}(\xi))= -\operatorname{sign}(p_{i+1}(\xi)). The zero would then propagate recursively down the chain and force pm to be zero at ξ, which can't happen since pm is a non-zero constant.

Next, let's consider zeros of polynomials in the interior (i.e, 0 < i < m) of the Sturm chain. If pi(ξ) = 0, then we know from the previous paragraph that p_{i-1}(\xi)\ne 0 and p_{i+1}(\xi)\ne 0. Futhermore, \operatorname{sign}(p_{i-1}(\xi))= -\operatorname{sign}(p_{i+1}(\xi)), so in the vicinity of ξ we've got a single sign change across pi-1, pi, pi+1. In other words, sign changes in the interior of the Sturm chain do not affect the total number of sign changes across the chain.

Neither do sign changes at the bottom of the chain, since pm is a non-zero constant, and thus never changes sign.

So only zeros in the original polynomial, at the top of the chain, can affect the total number of sign changes. Consider a zero at ξ, so p(ξ) = 0. Now p's derivative, which is p1, must be non-zero at ξ (since adjacent polynomials in the chain can't share common zeros), so p must be either increasing or decreasing at ξ. If it's increasing, then its sign is changing from negative to positive as we move from left to right while its derivative (again, p1) is positive, so the total number of sign changes decreases by one. Conversely, if it's decreasing, then its sign changes from positive to negative while its derivative is negative, so again the total number of sign changes decreases by one.

In summary, only sign changes of the original polynomial affect the total number of sign changes across the chain, and the total number of sign changes always decreases by one as we pass a zero. The theorem follows directly.

Applications

This can be used to compute the total number of real roots a polynomial has (to use, for example, as an input to a numerical root finder) by choosing a and b appropriately. For example, a bound due to Cauchy says that all real roots of a polynomial with coefficients ai are in the interval [−M,M], where

M = 1 + \frac{\max_{i=0}^{n-1} |a_i|}{|a_n|} . \,\!

Alternatively, we can use the fact that for large x, the sign of

p(x)=a_n x^n+\cdots \,\!

is sign(an), whereas sign(p( − x)) is ( − 1)nan.

In this way, simply counting the sign changes in the leading coefficients in the Sturm chain readily gives the number of distinct real roots of a polynomial.

We can also determine the multiplicity of a given root, say ξ, with the help of Sturm's theorem. Indeed, suppose we know a and b bracketing ξ, with σ(a)−σ(b) = 1. Then, ξ has multiplicity m precisely when ξ is a root with multiplicity m−1 of Xr (since it is the GCD of X and its derivative).

Generalized Sturm chains

Let ξ be in the compact interval [a,b]. A generalized Sturm chain over [a,b] is a finite sequence of real polynomials (X0,X1,…,Xr) such that:

  1. X(a)X(b) ≠ 0
  2. sign(Xr) is constant on [a,b]
  3. If Xi(ξ) = 0 for 1 ≤ ir−1, then Xi−1(ξ)Xi+1(ξ) < 0.

One can check that each Sturm chain is indeed a generalized Sturm chain.

See also

External links

  • C code from Graphic Gems by D.G. Hook and P.R. McAree.

 
Best of the Web: Sturm's theorem
Top

Some good "Sturm's theorem" pages on the web:


Math
mathworld.wolfram.com
 
 
 

 

Copyrights:

Sci-Tech Dictionary. McGraw-Hill Dictionary of Scientific and Technical Terms. Copyright © 2003, 1994, 1989, 1984, 1978, 1976, 1974 by McGraw-Hill Companies, Inc. All rights reserved.  Read more
Wikipedia. This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Sturm's theorem" Read more