Sturm's theorem

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Phe (talk | contribs) at 17:02, 7 May 2005 (fix anchor). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In mathematics, Sturm's theorem is a symbolic procedure to determine the number of unique real roots of a polynomial.

It was named for its discoverer, Jacques Charles François Sturm.

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.

To apply Sturm's theorem, you first construct a Sturm chain from a polynomial

.

A Sturm chain is the sequence of intermediary results when applying Euclid's algorithm to and its derivative .

To obtain the Sturm chain, you compute

i.e., you successively take the remainders with polynomial division and change theirs signs. Each is a polynomial of degree at least one, hence the algorithm terminates. then is the GCD of and its derivative. If only had simple roots, it will be a constant. The Sturm chain then is

.

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

.

Sturm's theorem then states that for two real numbers

,

not roots of , the number of roots in the interval

is

.

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 and appropriately — for example, all real root of a polynomial with coefficients are in the interval , where

.

Alternatively, you can use the fact that for large , the sign of a polynomial

is

,

whereas

.

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.