P. 1
Sturm's Theorem

Sturm's Theorem

|Views: 15|Likes:
Published by Paul Muljadi

More info:

Published by: Paul Muljadi on Sep 29, 2012
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





Sturm's theorem


Sturm's theorem
In mathematics, the Sturm's sequence of a polynomial p is a sequence of polynomials associated to p and its derivative by a variant of Euclid's algorithm for polynomials. Sturm's theorem expresses the number of distinct real roots of p located in an interval in terms of the number of changes of signs of the values of the Sturm's sequence at the bounds of the interval. Applied to the interval of all the real numbers, it gives the total number of real roots of p. Whereas the fundamental theorem of algebra readily yields the overall number of complex roots, counted with multiplicity, Sturm's theorem yields the number of distinct real roots and locates them in intervals. By subdividing the intervals containing some roots, it allows eventually to isolate the roots in arbitrary small intervals each containing exactly one root. This yields a symbolic root finding algorithm, that is available in most computer algebra systems, although some more efficient methods are now usually preferred (see below). Sturm's sequence and Sturm's theorems are named after Jacques Charles François Sturm.

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

of decreasing degree with these following properties: • is square free (no square factors, i.e., no repeated roots); then • if , then • if for • does not change its sign.

It can be noted that Sturm's sequence is a modification of Fourier's sequence. To obtain a Sturm chain, Sturm himself proposed to choose the intermediary results when applying Euclid's algorithm to p and its derivative:

That is, successively take the remainders with polynomial division and change their signs. Since for , the algorithm terminates. The final polynomial, pm, is the greatest common divisor of p and its derivative. If p is square free, it shares no roots with its derivative, hence pm will be a non-zero constant polynomial. The Sturm chain, called the canonical Sturm chain, then is If p is not square-free, this sequence does not formally satisfy the definition of a Sturm chain above, nevertheless it still satisfies the conclusion of Sturm's theorem (see below).

Sturm's theorem


Let be a Sturm chain, where p is a square-free polynomial, and let σ(ξ) denote the number of sign changes (zeroes are not counted) in the sequence

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

The non-square-free case
Let be the canonical Sturm sequence of a polynomial p, not necessarily square-free. Then σ(a) − σ(b) is the number of distinct roots of p in (a,b] whenever a < b are real numbers such that neither a nor b is a multiple root of p.

Polynomials are continuous functions, and any sign change must occur at a root, so consider the behavior of a Sturm chain around the roots of its constituent polynomials. First, note that two adjacent polynomials can share a common root only when it is a multiple root of p (in which case it is a root of every pi). Indeed, if pi and pi−1 are both zero at , then pi+1 also have to be zero at , since . The zero then propagates recursively up and down the chain, so that root of all the polynomials p0, ..., pm. Next, consider roots of polynomials in the interior (i.e., of p. If Furthermore, is a

) of the Sturm chain that are not multiple roots and . there is a single sign change across

, then from the previous paragraph it is true that , so in the vicinity of

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. So only roots of the original polynomial, at the top of the chain, can affect the total number of sign changes. Consider a root , so , and assume first that it is a simple root. Then p's derivative, which is p1, must be non-zero at , so p must be either increasing or decreasing at . If it's increasing, then its sign is changing from negative to positive when moving 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. Finally, let be a multiple root of p, and let p0, ..., pm be the canonical Sturm chain. Let d = gcd(p,p'), q = p/d, and let q0, ..., qm' be the canonical Sturm chain of q. Then m = m' and pi = qid for every i. In particular, σ(x) is the same for both chains whenever x is not a root of d. Then the number of sign changes (in either chain) around decreases by one, since is a simple root of q. In summary, only sign changes at roots 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 roots are passed. The theorem follows directly.

History section and other related methods
For counting and isolating the real roots, other methods are usually preferred, because they are computationally more efficient; these methods all use Descartes' rule of signs (just like Fourier[1] did back in 1820) and Vincent's theorem. Interestingly, the very first one of those methods[2] was initially called "modified Uspensky's algorithm" by its inventors, but it was later shown that there is no Uspensky's method[3]; afterwards, people started calling it either "Collins-Akritas method"[4] or "Descartes' method" only to be shown that there is no Descartes' method[4] either.

Sturm's theorem Finally, François Boulier, of the University of Lille[5], p. 24, gave it the name "Vincent-Collins-Akritas" (VCA for short) to also give credit to Vincent. VCA is a bisection method; there exists also a continued fractions method based on Vincent's theorem namely, the Vincent-Akritas-Strzeboński (VAS) method[6]. VAS is based on Budan's theorem whereas Sturm's method has been inspired by Fourier's theorem. In fact Sturm himself[7], p. 108, acknowledges the great influence Fourier's theorem had on him: « C'est en m'appuyant sur les principes qu'il a posés, et en imitant ses démonstrations, que j'ai trouvé les nouveaux théorèmes que je vais énoncer. » which translates to "It is by relying upon the principles he has laid out and by imitating his proofs that I have found the new theorems which I am about to announce."


Number of real roots
Sturm's theorem can be used to compute the total number of real roots a polynomial. This may be done by choosing -a=b=M where M is larger than the absolute value of every root. 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

Although theoretically the above approach is the simplest, in practice bounds on the positive (only) roots of polynomials are used and the positive roots are isolated and evaluated first; the negative roots are treated by first substituting x by -x, then compute a new (positive root) bound to isolate and evaluate the negative roots. Sturm's method and VCA need to compute only one bound to isolate the positive roots. By contrast, to isolate the positive roots VAS needs to compute various positive bounds, for the various polynomials that appear in the process. Efficient bounds on the values of the positive roots are described in P. S. Vigklas' Ph.D. Thesis[8] and in[9]. Another method is computationally simpler. One can use the fact that for large x, the sign of


, 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. Sturm's theorem allows also to determine the multiplicity of a given root, say ξ. Indeed, suppose that a< ξ <b, with σ(a) − σ(b) = 1. Then, ξ has multiplicity k precisely when ξ is a root with multiplicity k − 1 of pm (since it is the GCD of p and its derivative). Thus the multiplicity of ξ may be computed by recursively applying Sturm's theorem to pm. However, this method is rarely used, as square-free factorization is computationally more efficient for this purpose.

The remainder is needed to compute the chain using Euclid's algorithm. For two polynomials and this is accomplished (for non-vanishing ) by

where the quotient is built solely of the first two leading coefficients.

Sturm's theorem


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 ≤ i ≤ r−1, then Xi−1(ξ)Xi+1(ξ) < 0. One can check that each Sturm chain is indeed a generalized Sturm chain.

[1] Fourier, Jean Baptiste Joseph (1820). "Sur l'usage du théorème de Descartes dans la recherche des limites des racines" (http:/ / ia600309. us. archive. org/ 22/ items/ bulletindesscien20soci/ bulletindesscien20soci. pdf). Bulletin des Sciences, par la Société Philomatique de Paris: 156-165. . [2] Collins, George E.; Alkiviadis G. Akritas (1976). Polynomial Real Root Isolation Using Descartes' Rule of Signs (http:/ / doi. acm. org/ 10. 1145/ 800205. 806346). SYMSAC '76, Proceedings of the third ACM symposium on Symbolic and algebraic computation. Yorktown Heights, NY, USA: ACM. pp. 272-275. . [3] Akritas, Alkiviadis G. (1986). There is no "Uspensky's Method" (http:/ / dl. acm. org/ citation. cfm?id=32457). In: Proceedings of the fifth ACM Symposium on Symbolic and Algebraic Computation (SYMSAC '86, Waterloo, Ontario, Canada), pp. 88–90. . [4] Akritas, Alkiviadis G. (2008). There is no "Descartes' method" (http:/ / inf-server. inf. uth. gr/ ~akritas/ articles/ 71. pdf). In: M.J.Wester and M. Beaudin (Eds), Computer Algebra in Education, AullonaPress, USA, pp. 19-35. . [5] Boulier, François (2010). Systèmes polynomiaux : que signifie « résoudre » ? (http:/ / www. lifl. fr/ ~boulier/ polycopies/ resoudre. pdf). Université Lille 1. . [6] Akritas, Alkiviadis G.; A.W. Strzeboński, P.S. Vigklas (2008). "Improving the performance of the continued fractions method using new bounds of positive roots" (http:/ / www. lana. lt/ journal/ 30/ Akritas. pdf). Nonlinear Analysis: Modelling and Control 13: 265–279. . [7] Hourya, Benis-Sinaceur (1988). "Deux moments dans l'histoire du Théorème d'algèbre de Ch. F. Sturm" (http:/ / www. persee. fr/ web/ revues/ home/ prescript/ article/ rhs_0151-4105_1988_num_41_2_4093). In: Revue d'histoire des sciences 41 (2): 99-132. . [8] Vigklas, Panagiotis, S. (2010). Upper bounds on the values of the positive roots of polynomials (http:/ / www. inf. uth. gr/ images/ PHDTheses/ phd_thesis_vigklas. pdf). Ph. D. Thesis, University of Thessaly, Greece. . [9] Akritas, Alkiviadis, G. (2009). "Linear and Quadratic Complexity Bounds on the Values of the Positive Roots of Polynomials" (http:/ / www. jucs. org/ jucs_15_3/ linear_and_quadratic_complexity). Journal of Universal Computer Science 15 (3): 523-537. .

• Sturm, Jacques Charles François (1829). "Mémoire sur la résolution des équations numériques". Bulletin des Sciences de Férussac 11: 419–425. • Sylvester, J. J. (1853). "On a theory of the syzygetic relations of two rational integral functions, comprising an application to the theory of Sturm's functions, and that of the greatest algebraical common measure". Phil. Trans. Roy. Soc. London 143: 407–548. JSTOR 108572. • Thomas, Joseph Miller (1941). "Sturm's theorem for multiple roots". National Mathematics Magazine 15 (8): 391–394. JSTOR 3028551. MR0005945. • Heindel, Lee E. (1971), "Integer arithmetic algorithms for polynonial real zero determination", Proc. SYMSAC '71: 415, doi:10.1145/800204.806312, MR0300434 • Panton, Don B.; Verdini, William A. (1981). "A fortran program for applying Sturm's theorem in counting internal rates of return". J. Financ. Quant. Anal. 16 (3): 381–388. JSTOR 2330245. • Akritas, Alkiviadis G. (1982). "Reflections on a pair of theorems by Budan and Fourier". Math. Mag. 55 (5): 292–298. JSTOR 2690097. MR0678195. • Petersen, Paul (1991). "Multivariate Sturm theory". Lecture Notes in Comp. Science 539: 318–332. doi:10.1007/3-540-54522-0_120. MR1229329. • Yap, Chee (2000). Fundamental Problems in Algorithmic Algebra (http://www.cs.nyu.edu/yap/book/berlin/ ). Oxford University Press. ISBN 0-19-512516-9.

Sturm's theorem


External links
• C code (http://tog.acm.org/resources/GraphicsGems/gems/Sturm/) from Graphic Gems by D.G. Hook and P.R. McAree.

Article Sources and Contributors


Article Sources and Contributors
Sturm's theorem  Source: http://en.wikipedia.org/w/index.php?oldid=502008852  Contributors: A. Pichler, Actam, Akritas2, Akruppa, Asmeurer, Baccala@freesoft.org, Bduke, Bender235, BeteNoir, Brad7777, CRGreathouse, Catslash, Charles Matthews, Chris the speller, CàlculIntegral, D.Lazard, DemiHD, Eliko, EmilJ, Giftlite, Glacialfox, Gtgith, Hurkyl, Icairns, JadeNB, JakeVortex, JoshuaZ, Jujutacular, Julien Tuerlinckx, KSmrq, Kidnamedlox, Lourakis, Luther Tychonievich, Macrakis, MathMartin, Maxal, Michael Hardy, NathanHurst, Oleg Alexandrov, PV=nRT, Phe, Prohlep, R. J. Mathar, RDBury, Rschwieb, Salix alba, Securiger, Slawekb, Tabletop, Tbackstr, Tbsmith, Vroo, 22 anonymous edits

Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->