- Sturm's theorem
In
mathematics , Sturm's theorem is a symbolic procedure to determine the number of distinct real roots of apolynomial . It was named forJacques 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.Fact|date=October 2007Whereas 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.turm chains
To apply Sturm's theorem, we first construct a Sturm chain or sequence from a
square-free polynomial :
A Sturm chain or Sturm sequence is the sequence of intermediary results when applying
Euclid's algorithm to "X" and itsderivative "X"1 = "- X′".To obtain the Sturm chain, compute:
That is, successively take the remainders with polynomial division and change their signs. Since for , the algorithm terminates. The final polynomial, "X""r", is the
greatest common divisor of "X" and its derivative. Since "X" only has simple roots, "X""r" will be a constant. The Sturm chain then is:
tatement
Let σ(ξ) be the number of sign changes (zeroes are not counted) in the sequence
:
where "X" 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").
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 "a""i" are in the interval [−"M","M"] , where:
Alternatively, we can use the fact that for large "x", the sign of: is sgn("a""n"), whereas sgn("P"(−"x")) is sgn((−1)"n""a""n").
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 "X""r" (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 ("X"0,"X"1,…,"X""r") such that:
#"X"("a")"X"("b") ≠ 0
#sgn("X""r") is constant on ["a","b"]
#If "X""i"(ξ) = 0 for 1 ≤ "i" ≤ "r"−1, then "X""i"−1(ξ)"X""i"+1(ξ) < 0.One can check that each Sturm chain is indeed a generalized Sturm chain.
ee also
*
Routh-Hurwitz theorem
*Descartes' rule of signs
* 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.External links
* [http://tog.acm.org/GraphicsGems/gems/Sturm/ C code] from Graphic Gems by D.G. Hook and P.R. McAree.
Wikimedia Foundation. 2010.