Methods to Compare Real Roots of Polynomials of Small Degree

21
ECG IST-2000-26473 Effective Computational Geometry for Curves and Surfaces ECG Technical Report No. : ECG-TR-242200-01 Methods to Compare Real Roots of Polynomials of Small Degree Ioannis Z. Emiris Elias P. Tsigaridas Deliverable: 24 22 00 (new, item 01) Site: INRIA Month: 24 Project funded by the European Community under the “Information Society Technologies” Programme (1998–2002)

Transcript of Methods to Compare Real Roots of Polynomials of Small Degree

Page 1: Methods to Compare Real Roots of Polynomials of Small Degree

ECG

IST-2000-26473

Effective Computational Geometry for Curves and Surfaces

ECG Technical Report No. : ECG-TR-242200-01

Methods to Compare Real Roots of Polynomials of SmallDegree

Ioannis Z. Emiris Elias P. Tsigaridas

Deliverable: 24 22 00 (new, item 01)Site: INRIAMonth: 24

Project funded by the European Communityunder the “Information Society Technologies”

Programme (1998–2002)

Page 2: Methods to Compare Real Roots of Polynomials of Small Degree

Ioannis Z. EmirisDepartment of Informatics and Telecommunications, National and Kapodistrian University of

Athens, GREECE, and INRIA Sophia-Antipolis, FRANCE ([email protected])

Elias P. TsigaridasDepartment of Informatics and Telecommunications, National and Kapodistrian University of

Athens, GREECE ([email protected])

Abstract

In this report we present various methods in order to compare the roots of two polynomi-als of small degree and we focus on degree 3. Although analytical formulae exist for findingthe roots with radicals we can not use them due to the prerequisite, when the degree is 3 or4, of using the square root of complex numbers. Additionally when only the comparison ofthe smallest (or largest) root is needed, no analytical formula exists to compute only thatroot, so we would compute at least two roots per polynomial. In this report we overcomethese drawbacks for cubic polynomials based on Sturm sequences and isolating intervalsthat offer a complete method in order to distinguish between all cases and are optimal withrespect to algebraic degree. We detail an algorithm for comparing cubic roots by means ofinvariants. We compare this approach to Resultants and Bezoutians and show their lack ofcompleteness. In addition, we discuss numerical methods that can be used independentlyas to find isolating intervals of the roots.

1 Introduction

The task of implementing geometric algorithms is a tough one due to the decisions that thesealgorithms take on the basis of simple geometric questions, called predicates, answered by theevaluation of continuous functions subject to round off errors. Our main motivation comesfrom predicates concerning the arrangement of low-degree curves. The use of floating pointarithmetic produces inconsistencies. In order to overcome the inconsistencies we must designalgorithms that use exact arithmetic.

The approach of exact arithmetic for implementing geometric predicates was studied byseveral researchers, see for example [HSW01], [DFMT02], [KE03], [ABMY02] for a treatment ofpredicates concerning curved objects. In computational geometry many of the computationaltasks can be reduced to polynomial equations of low degree, so there is a need for root orderingmethods of these polynomials. In order to overcome the inconsistencies we wish to develop algo-rithms that depend only on the input coefficients of the polynomials and not on the separationbound or the size of the roots.

As a general case we consider two polynomials f1 and f2 having d1 and d2 real roots re-spectively. We observe that there are

(

d1+d2

d2

)

possible orderings of the roots. In addition, if

di = deg fi, i = 1, 2 then we can consider the projective space Pd1 ×Pd2 , where d1 +d2 +2 is thetotal number of the coefficients of the two polynomials and they are not all zero; to be morespecific the leading coefficients may be assumed non zero. The various invariants of the systemof two polynomials partition the projective space to various cells. Every cell corresponds to onespecific root ordering, but a particular root ordering may corresponds to more than one cell.

The resultant of the two polynomials is a geometric invariant of the system and the algebraicdegree of its coefficients in the input coefficients is d1 + d2. We will see that the resultantcannot distinguish between all cells (equivalence classes). Since by definition resultants offerthe smallest condition of solvability of a system of n + 1 polynomials in n variables, in our casen = 2, this implies that there is not one invariant of degree d1 +d2 in the input coefficients thatcan determine the root ordering.

1

Page 3: Methods to Compare Real Roots of Polynomials of Small Degree

Moreover, the algebraic degree of the resultant is by definition minimum, so any algorithm,which is considered optimal with respect to algebraic degree, must obtain a degree of d1+d2. Theminimization of the algebraic degree it is of great importance because it reduces the arithmeticprecision needed. In this work, we present a method in order to compare the real roots of twopolynomials of degree 2, 3 and some special cases of polynomials of degree 4, that achieves sucha bound.

This report is structured as follows. The next section discusses existing work for rootcomparison and states our main results. Additionally, we present various approaches based onnumerical approximations and root separation bounds. Section 3 presents methods to orderthe roots of two polynomials by Resultant and Bezoutian matrices. In Section 4 we formallydefine Sturm sequences and in Section 5 a general algorithm that combines Sturm sequences andisolating intervals. In Section 6 we discuss the cubic functions and their main characteristics,and in Section 7 we present the various cases of the roots of two cubics and we bring out themain features of each approach as well as their limitations. In Section 8 we present an optimalalgorithm, with respect to algebraic degree, that handles the cases of degree 3. Finally in Section9 we reform the algorithm in order to handle the case of two quadratics and some special casesof two quartics.

1.1 Previous and related work

We discuss existing approaches to compare two specific roots of two quadratic, cubic and quarticpolynomials and indicate our contribution.

In [BKM+95], [BFM+01], [MN00], [BEH+02] and their references, the technique of theseparation bound is used in order to implement and evaluate geometric predicates that amountto the computation of the sign of an expression. The technique is based on real algebraicexpressions. Separation bounds allow us to determine the sign of an expression by numericalcomputation. It is worth to mention that this technique has given interesting results in LEDA.

The above technique can not be used directly when we want to order the roots of two cubicpolynomials due to the fact that when the roots of a cubic polynomial are all real then complexnumbers are involved.

In [BEH+02] were proposed algorithms for exact computation with low-degree algebraicnumbers and LEDA is about to introduce the diamond operator where �(an, · · · , a0, k) is the kth

real-valued root of the polynomial anxn + · · ·+a0. Using this technique we can obtain a closed-form symbolic representation of the roots of any polynomial but in this case the separation boundcan lead to unacceptable running times for nearby roots. A similar approach of constructiveseparation bounds is used in [LY01] and [PY03].

In [DFMT02] their representation of predicates of circular arcs involves the signs of resultants(that can be filtered using low-level arithmetic filters). This approach cannot be easily extendedfor handling arbitrary conics.

In [Wei02] high-level filtering were used in order to deal with conic arcs. This approachis very much similar to [BEH+02]. Similarly the MAPC library [KCMK99] uses arithmeticfiltering and the involved expressions can be evaluated using the PRECISE floating pointrepresentation with arbitrary mantissa length. This technique uses Newton’s iterative methodand dynamic Sturm sequences to handle degenerate cases where the two roots are too close toeach other.

In [KE03] a general approach was introduced based on Sturm sequences. Finally, [Per03]discusses the various methods of comparing the roots of two quadratic polynomials and combinesthem in order to achieve a general and optimal algorithm.

The results of this report will extend these approaches as to handle the comparison any

2

Page 4: Methods to Compare Real Roots of Polynomials of Small Degree

two specific roots of two polynomials of degree at most 3. We introduce algorithms that areoptimal with respect to algebraic degree and we reduce the number of operations by the use ofgeometric invariants. Since the case of two quadratic polynomials is well studied in [KE03] and[Per03], in this report we treat comprehensively only the case of two cubic polynomials.

Additionally to the above approaches there are several numerical methods that find orisolate the real roots of polynomials. For a survey of these methods refer to [Pan97], [Rei93]or to [MVY01] for a more recent method concerning the topological degree and generalizedbisection.

2 Root ordering using numerical approximations

As we have mentioned several numerical methods exist that find or isolate the real roots ofpolynomials. The reader can refer to [Rei93] for theoretical bounds in the real root problem.

The most common approach is Newton’s method. This iterative method allows us to findnumerical approximations of the roots of any function, provided that the first derivative of thefunction is continuous. We can use Newton method in order to find numerical approximationsto the roots of the given polynomials and compare these approximations. Special care must betaken in order for the method to converge. In particular we must determine an interval thatcontains no root of the first and second derivative. Then the function is monotone and convexin that interval and we can use Newton’s method.

At each iteration of Newton’s method we can find twice the digits of the root of the eachpolynomial. So if we know that the roots of polynomials f1 and f2 differ at the d digit then weneed dlg de iterations in order to compare them. It is obvious that if the two roots are too closeto each other then the big number of the iterations leads to unacceptable computational time.

Alternatively we can find isolating intervals with rational endpoints for the real roots ofboth polynomials by the usage of bisection method and sign calculation of f(x) and g(x) andthen use Newton’s method. By this method we rapidly decrease the distance of the intervals.In order to guarantee Newton convergence the size of the isolating intervals must be at mostn−3n−9(2+ ‖ f ‖∞)−6n, where n is the degree of the polynomial ([Yap00]). Additionally, we canapply can apply Newton’s iteration method developed by Schonhage [Rei93] to exponentiallyimprove the accuracy of a low accuracy polynomial root isolation.

The adoption of Newton’s method or of any other similar iterative numerical approximationmethod must be based on the roots separation bound. For an effective algorithm we mustapply the various bounds to the polynomial equation f1(x)f2(x) = 0 and then decide if we canuse such such a method. Assuming that the product f1(x)f2(x) is computed we can apply theseveral separation bound for single univariate polynomials.

If we need to compare the roots of two polynomials of arbitrary degree then we must considerthe separation bound in order to adopt a iterative bound. With this in mind we presentvarious separation bounds found in the literature. Assume γ is any root of the polynomialf(x) =

∑ni=0 aix

i of degree n. The proofs of the first four root bounds can be found in [Yap00].The bound due to Canny that can be found in [LY01]. The bound due to Mignotte can be foundin [Mig91]. In the last bound we assume that the polynomial has a non-vanishing constant term.

3

Page 5: Methods to Compare Real Roots of Polynomials of Small Degree

(Zassenhaus) |γ| ≤ 2 max{

|an−1||an| ,

|an−2||an| , 3

|an−3||an| , . . . , n

|a0||an|

}

(Cauchy) |γ| ≤ 1 + max {|an−1|,|an−2|,|an−3|,...,|a0|}|an|

(Cauchy) |γ| ≤ max{

n |an−1||an| ,

n |an−2||an| , 3

n |an−3||an| , . . . , n

n |a0||an|

}

(Y ap) |γ| ≤ ( n√

2− 1)−1 max

{

|an−1|(n1)|an|

,

√|an−2|

(n2)|an|

,3√

|an−3|(n3)|an|

, . . . ,n√

|a0|(n

n)|an|

}

(Canny) |γ| ≥ max (3n ‖ f ‖∞)−n

(Landau) |γ| ≤ ‖f‖2

|an|(Mignotte) If λ1, λ2, . . . , λn are positive real numbers, st

∑ni=1 λ−1 = 1, then

|γ| ≤ max

{

(

λk|an−k||an|

)1k |1 ≤ k ≤ n

}

(Mehlhorn) If λ1, λ2, . . . , λn are positive real numbers, st∑n

i=1 λ−1 ≤ 1, then

|γ| ≥ min

{

(

|a0|λk

|ak|

)1k |ak > 0, 1 ≤ k ≤ n

}

(1)

Additionally to the above bounds there are lower bounds on how close can be two distinctzeroes of a polynomial f(x), with degree n, roots γi and discriminant ∆. The proofs of thefirst two bounds can be found in [Zip93]. The third bound can be found in [Mig82] and can beapplied to square-free integral polynomials.

(Mahler) min |γi − γj | >√

3|∆|nn+2

1

‖f‖n−12

(Rump) min |γi − γj | >√

8

nn+21

1+‖f‖n∞

(Mignotte) min |γi − γj | >√

3

nn+21

‖f‖n−12

(2)

According to Loos in [Loo82] if ri, si, i = 1 . . . n, j = 1 . . .m, are the roots of polynomialsf(x) and g(x) respectively, deg f = n ≥ m = deg g, the maximal value of all coefficients isbounded by K = 2L and if GCD(f, g) = 1 then

min1≤i≤n1≤j≤m

|ri − sj | > K−n = 2−nL (3)

If we use Newton’s method then by considering that we need at most ndlg Ke = nL bitsof precision, the number of iterations is 2dlg nde, since we must apply the method to bothpolynomials. Similarly if we adopt the bisection method then the size of the interval is at mostK and the number of bisections (b) required is such that K

2b < K−n or b > lg Kn+1 = (n + 1)L.In [Yap00] is given a slightly sharper bound, based on generalization of the Hadamard bound.

Assume square-free polynomials f(x) and g(x) as above. Then

min1≤i≤n1≤j≤m

|ri − sj | ≥1

2nm+m ‖ f ‖m2 ‖ g ‖n2(4)

As a corollary if l is the sum of the bit sizes of f and g then

min1≤i≤n1≤j≤m

|ri − sj | > 2−2l2 (5)

The bit size of a polynomial is the sum of the bits of its coefficients plus some extra bits forseparation of the coefficients.

4

Page 6: Methods to Compare Real Roots of Polynomials of Small Degree

3 Root ordering using Resultants and Bezoutian matrices

3.1 Resultants

As explained in [DFMT02] and [KE03], the resultant can be used to get a new polynomial,that has as roots the values of the differences between the roots of f1 and f2, where deg f = nand deg g = m. For a comprehensive treatment of the Resultant theory see [CLO97], [Yap00],[BCL82].

We build the corresponding polynomial by computing the following Sylvester Resultant,which is a polynomial in t:

R(t) = Resx (f1(x), f2(x + t))

Consider the following proposition and lemma due to Descartes. The proofs can be foundat the references.

Proposition 1 [Yap00] The number of sign variations in the coefficients of a univariate poly-nomial exceeds the number of positive real roots by an even quantity, possibly 0.

Lemma 1 For a polynomial of degree n, the number of sign variations in its coefficient se-quence, gives precisely the number of positive roots, assuming no root equals zero and there aren real roots.

The degree of polynomial R(t) is mn, with respect to t. The coefficients are functions inthe coefficients of f1 and f2 and they have algebraic degree m + n.

We have to mention that if a1a2 6= 0 then the leading coefficient of the polynomial cor-responding the resultant is ad2

1 ad22 , which is of degree d1 + d2. So since the resultant is the

minimum condition of solvability for a system of two polynomials we can consider the algebraicdegree of its coefficients as a lower bound for any algorithm.

The polynomial R(t) has mn real roots, considering the multiplicities of them. According toProposition 1 and Lemma 1, we can find its positive and negative real roots just by determiningthe sign of the coefficients.

The resultant can not distinguish between all cases, so it is not a method to accomplishtotal ordering of the roots of two polynomials.

3.2 Bezoutian matrix

For a complete reference of the theory of the Bezoutian matrices refer to [EM98] and [MP00].In [Per03] the Bezoutian matrices were used in order to compare the roots of polynomial ofdegree 2.

Definition 1 For two polynomials f1 and f2 ∈ C[x], with deg f1 = d and deg f2 ≤ d, theBezoutian is the following polynomial in two variables

Θf1,f2 =f1(x)f2(y)− f1(y)f2(x)

x− y=

0≤i,j≤d−1

θf1,f2i,j xiyj

The Bezoutian matrix of f1 and f2, Bf1,f2 is the d× d matrix, where Bf1,f2(i, j) = θf1,f2i,j .

Definition 2 For a matrix M its signature equals

signature (M) = |{eigenvalues > 0}| − |{eigenvalues < 0}|

5

Page 7: Methods to Compare Real Roots of Polynomials of Small Degree

Theorem 1 If R is the remainder of the division of f′

1f2 by f1, then

signature (Bf1,R) = |{γ : f2(γ) > 0}| − |{γ : f2(γ) < 0}|where γ ranges over all roots of f1.

Due to Theorem 1 we can compute the sign of f2 when it is evaluated in the roots of f1 andvice versa. As we shall see when we consider the cubic equation the result for the various cases isthe same as the evaluation of Sturm sequences S0 and S1, (see Table 1 for details concerning thecubic equation). Consequently the Bezoutian matrices cannot distinguish between all cases.

4 Sturm Sequences

Sturm sequences is a well known and useful tool for isolating the roots of any polynomial. In[KE03] Sturm sequences were used in order to compare the roots of polynomials of degree 2.Below we give a small introduction to the Sturm sequences.

For a more comprehensive view of the definitions and the theorems below see [Yap00] or[Akr89].

Definition 3 (Sturm Sequence) Let P and Q ∈ R[x] be non-zero polynomials. By (general-ized) Sturm sequence for P and Q we define a pseudo-remainder sequence (PRS)

P = (P0, P1, . . . , Pn), n ≥ 1,

such that for all i = 0, . . . , n, we have

αiPi−1 = QiPi + βiPi+1

(Qi ∈ R[x], α, β ∈ R), such that αiβi < 0 and Pn+1 = 0.

Definition 4 For a number γ ∈ R and a Sturm sequence P = (P0, P1, . . . , Pn), VP (γ) willdenote the sign variations of the sequence of values of the Pi at γ, 0 ≤ i ≤ n.

Considering the above definitions the following theorems hold

Theorem 2 (Schwartz-Sharir) Let P, Q ∈ R[x] be square-free polynomials. If α < β are bothnon-roots of P then

VP,Q[α, β] = VP,Q(α)− VP,Q(β) =∑

γ

sign (P′

(γ)Q(γ))

where γ ranges over the roots of P in [α, β].

Theorem 3 (Sylvester, revisited by Ben-Or, Kozen, Reif) Let P be a Sturm sequencefor P, P

Q where P is square free and P, Q are relative prime. Then for all α < β which arenon-roots of P ,

VP [α, β] =∑

γ

sign (Q(γ))

where γ ranges over the roots of P in [α, β].

It is possible to use the above theorems to order the roots of any pair of polynomials,of any degree, but as a prerequisite we must either find combinations of Sturm sequences thatdistinguish among all cases or find intervals that contain only one root of every polynomial. Theformer is not always possible. As regards to isolating intervals we use them in the followingssections and we shall see that they ca leads to optimal algorithms.

6

Page 8: Methods to Compare Real Roots of Polynomials of Small Degree

γ2 γ1

c d

P2(x)

γ2 γ1

c d

P2(x)

Figure 1: Two cases for γ1 > γ2 in an isolating interval [c, d].

5 Isolating intervals

In this section we present an general algorithm for comparing any roots of two polynomials.

5.1 Isolating intervals

For a more comprehensive description of isolating intervals see [Yap00].

Definition 5 Let I = [a, b] be an interval, (a, b ∈ R, a ≤ b). For any polynomial P (x) ∈ R[x],we call I isolating interval of P if I contains exactly one root γ of P . The width of I is b− a.Note that we permit γ to be equal to a or b.

Definition 6 Let γ be an algebraic number. An isolating interval representation of γ is a pair

(P (x), I)

where P (x) ∈ Z[x] is square-free and primitive, P (γ) = 0, and I is an isolating interval of Pthat contains γ and has rational endpoints: I[a, b], a < γ < b, (a, b ∈ Q). We write

γ ∼= (P (x), I)

to denote this relation.

5.2 Algorithm for root comparison

Suppose that we want to compare two algebraic numbers γ1 and γ2 and that we have an isolatinginterval representation for them, that is

γ1∼= (P1(x), I1), γ2

∼= (P2(x), I2)

where I1 = [a1, b1] and I2 = [a2, b2], then Algorithm 1 performs the comparison.In Algorithm 1 let J be the intersection of the two isolating intervals I1 and I2. When J is

the empty set, that is the case when the two isolating intervals are distinct, then can easily orderthe two algebraic number by comparing the first endpoint of their isolating interval. When onlyγ1 or γ2 belong to the intersection and the other not then we can treat this case similar to thecase were they belong to distinct isolating intervals. In order to decide whether an algebraicnumber is in an interval we must evaluate its corresponding polynomial to the endpoints of theinterval.

7

Page 9: Methods to Compare Real Roots of Polynomials of Small Degree

Algorithm 1 Compare two algebraic numbers

Require: γ1∼= (P1(x), I1), γ2

∼= (P2(x), I2)Ensure: γ1 < γ2 or γ1 > γ2

J ← I1 ∩ I2 = [c, d]if J = ∅ then

return a1 < a2?γ1 < γ2 : γ1 > γ2

else if (γ1 ∈ J) ∧ (γ2 /∈ J) then{Assume I2 − J = [m, n]}return c < m?γ1 < γ2 : γ1 > γ2

else if (γ1 /∈ J) ∧ (γ2 ∈ J) then{Assume I1 − J = [m, n]}return m < c?γ1 < γ2 : γ1 > γ2

else{Both numbers lie in J}Evaluate a Sturm sequence on J to decide

end if

As to complete the algorithm it suffices to determine exactly the Sturm Sequence that weuse. We use the Sturm sequence in the case where both algebraic numbers are in the intersectionof their isolating intervals. Assuming this, we can verify from Figure 1 that

γ1 ≥ γ2 ⇔ P2(γ1) · P′

2(γ2) ≥ 0

We can easily obtain the sign of P′

2(γ2) and from Theorem 2 we can obtain the sign ofP2(γ1). That is

P2(γ1) · P′

2(γ2) ≥ 0⇔ (VP1,P2 [c, d]) · (P1(d)− P1(c)) · (P2(d)− P1(c)) ≥ 0 (6)

The last polynomial in Sturm sequence VP1,P2 is always the resultant of the two polynomials.We have to mention that when γ1 = γ2 ⇔ P2(γ1) = 0, since both polynomials are square-free.

6 The cubic equation

The polynomial equation of degree 3 is a well studied equation. It is one of the few polynomialsequations that can be solved explicitly with radicals. Several approaches exists in order to solvethe cubic equation. Refer to [Wei03] for the general solution of the cubic and to [KW01] and[Ung90] for a unified approach, using circulant matrices, of solving polynomial equations up todegree 4.

We must notice that if we use the analytic formulae, as to find the roots of the cubic equation,the computation involves various square and cubic roots as well as the cube root of a complexnumber. Additionally even in the case that we want the smallest (or the biggest) root, we mustcompute at least two of the roots. When we want the middle root then we must compute allthree roots.

It is obvious from the above that when want to compare some roots (e.g. the smallest roots)of two cubic polynomials then we must compute at least two roots of every cubic polynomialand then compare them. This is reason that we must find alternate methods for the comparisonof cubic roots.

Consider the cubic polynomial equation, where a > 0

f(x) = ax3 − 3bx2 + 3cx− d = 0 (7)

8

Page 10: Methods to Compare Real Roots of Polynomials of Small Degree

Since we assume that cubic (7) has three distinct real roots we use the following theorem.

Theorem 4 (Newton) If the polynomial p(x) = anxn +(

n1

)

an−1xn−1 + . . . +

(

nn−1

)

a1x + a0,

an 6= 0 has real coefficients and n real roots then a2i ≥ ai−1ai+1 for i = 1, . . . n− 1.

Due to the above theorem the following inequalities hold

∆2 = b2 − ac ≥ 0 (8)

∆3 = c2 − bd ≥ 0

The following theorem is considering the general case of the cubic equation.

Theorem 5 (Cardano, Tartaglia) Let H = −∆2, G = a21d1 + 3a1b1c1 − 2b3

1 and ∆1 =G2 + 4H3 then one of the following is true:

• If ∆1 > 0 then Equation (7) has one real root.

• If ∆1 = 0 then Equation (7) has three real roots and at least one of them has multiplicitytwo.

• If ∆1 < 0 then Equation (7) has three distinct real roots.

The solutions of the cubic equation are

x1 =b

a+ (S + T ) (9)

x2 =b

a− 1

2(S + T ) +

1

2i√

3(S − T ) (10)

x3 =b

a− 1

2(S + T )− 1

2i√

3(S − T ) (11)

where

S =3

R +√

R2 + Q3, T =3

R−√

R2 + Q3, Q =∆2

a2, R = −∆1

2a3

It is obvious from the above that the computation of the solutions and the comparisonbetween two of them requires the usage of complex numbers.

6.1 The inflexion point

In order to find the inflexion point of the above function we have to solve the equation

f′′

(x) = 0 (12)

If N is the point of the inflexion then N = (xN , yN ), where xN = ba.

Note that the point N is the apex of the derivative of the polynomial f(x). In addition wecan easily conclude that the inflexion point has either one root of f(x) on its right hand sideand two roots on its left hand side, or vice versa.

In case where xN is itself a root of the polynomial f(x) then we have a rational expressionfor one root and we can consider the polynomial as

f(x) = (x− b

a)(px2 + qx + r)

Let δ2 = b2−3aca2 then the three roots of the cubic are the projections on the x− axis of three

points that are equally distributed around a circle centered at the inflexion point with radius2δ. This gives us an explanation why we cannot compute at once the smallest, respectively thelargest, of the roots of a cubic polynomial.

9

Page 11: Methods to Compare Real Roots of Polynomials of Small Degree

7 Various cases of the roots of two cubics

7.1 Two cubic polynomials

Consider the case of two polynomials of degree 3.

fi(z) = aiz3 − 3biz

2 + 3ciz − di, ai > 0, i = 1, 2 (13)

We assume that the cubic polynomials f1 and f2 have three distinct real roots. Due toTheorem 4 and 5 the following inequalities hold

∆11 < 0 ∆12 > 0 ∆13 ≥ 0 (14)

∆21 < 0 ∆22 > 0 ∆23 ≥ 0 (15)

where in ∆ij , i denotes the cubic equation and j denotes the discriminant.

Sturm Sequences Resultant

Case Order of roots S0 S1 S2 S3 +R −R

1 y1 < y2 < y3 < x1 < x2 < x3 3 −3 1 −1 0 9

2 y1 < y2 < x1 < y3 < x2 < x3 1 −1 −1 1 1 8

3 y1 < y2 < x1 < x2 < y3 < x3 −1 −3 1 −1 2 7

4 y1 < y2 < x1 < x2 < x3 < y3 −3 −1 −1 1 3 6

5 y1 < x1 < y2 < y3 < x2 < x3 3 1 1 −1 2 7

6 y1 < x1 < y2 < x2 < y3 < x3 1 −1 3 −3 3 6

7 y1 < x1 < y2 < x2 < x3 < y3 −1 1 1 −1 4 5

8 y1 < x1 < x2 < y2 < y3 < x3 3 −3 1 −1 4 5

9 y1 < x1 < x2 < y2 < x3 < y3 1 −1 −1 1 5 4

10 y1 < x1 < x2 < x3 < y2 < y3 3 1 1 −1 6 3

11 x1 < y1 < y2 < y3 < x2 < x3 1 3 −1 1 3 6

12 x1 < y1 < y2 < x2 < y3 < x3 −1 1 1 −1 4 5

13 x1 < y1 < y2 < x2 < x3 < y3 −3 3 −1 1 5 4

14 x1 < y1 < x2 < y2 < y3 < x3 1 −1 −1 1 5 4

15 x1 < y1 < x2 < y2 < x3 < y3 −1 1 −3 3 6 3

16 x1 < y1 < x2 < x3 < y2 < y3 1 3 −1 1 7 2

17 x1 < x2 < y1 < y2 < y3 < x3 −1 −3 1 −1 6 3

18 x1 < x2 < y1 < y2 < x3 < y3 −3 −1 −1 1 7 2

19 x1 < x2 < y1 < x3 < y2 < y3 −1 1 1 −1 8 1

20 x1 < x2 < x3 < y1 < y2 < y3 −3 3 −1 1 9 0

Table 1: Various cases of the roots of two cubic polynomials. Sign variations of various Sturmsequences in the interval (−∞, +∞) and positive (+R) and negative (−R) roots of the Resultant.

We can see the various cases of the roots of two cubic polynomials on Table (1).

7.2 Numerical methods

In our case n = 3 and if we adopt the Newton algorithm then we need at most 2 (dlg 3e+ dlg Le)iterations in order to compare any two roots. We assumed that the coefficients of the twopolynomials as bounded by K = 2L.

10

Page 12: Methods to Compare Real Roots of Polynomials of Small Degree

The reader can reference [BEH+02], [KLPY99], [LY01], [PY03], [KCMK99], [Wei02] forimplementations concerning various approximation techniques and root bounds.

We have to mention that the rational endpoint point of the isolating intervals that we willpresent in the following sections, can offer tighter bounds to the constructive root bounds thatused in [BEH+02] or in [PY03] and so can reduce the bit required for implementing upperand lower bounds to the diamond operator. We can consider these new bounds as specializedseparation bounds.

7.3 Resultant and Bezoutian matrices

The degree of the polynomial R(t) is 9, and as it has 9 real roots, without considering themultiplicity of them. According to the above Lemma, its number of positive roots is exactly thenumber of sign changes on its coefficients. By subtracting from 9 we can easily find the numberof the negative roots. We present the various cases at Table 1.

The coefficients of the polynomial are polynomials of degree 6 in the coefficients of f1 andf2. Only some of them can be factorized.

Using this technique it is not possible to distinguish between all cases, as you can easilyverify from Table 1. For example we can not distinguish Case 8 and 9 from Cases 12 and 13respectively.

We have to mention that if a1a2 6= 0 then the leading coefficient of the polynomial corre-sponding the resultant is a3

1a32, which is of degree 6. So since the resultant is the minimum

condition of solvability for a system of two polynomials we can consider the maximum algebraicdegree of its coefficients as a lower bound for any algorithm. In the following we shall provethat this bound is tight when the polynomials are of degree 2 or 3.

If we use Bezoutian matrices then this method is similar to the evaluation of Sturm sequencesS0 and S1. We can see the various cases at Table 1. The maximum algebraic degree of theelements of the matrices is 6. Consequently the Bezoutian matrices cannot distinguish betweenall cases.

7.4 Sturm sequences

By the Theorems 2 and 3 we can construct the Table 1 were we enumerate the various cases.In this table we consider the sign variations in the interval (−∞, +∞)

We must notice that in Table 1 we are considering the following abbreviations:Vf2 = Vf2 [−∞, +∞], where the Sturm sequence is S0 with S0

0 = f1 and S01 = f

1f2.Vf1 = Vf1 [−∞, +∞], where the Sturm sequence is S1 with S1

0 = f2 and S11 = f

2f1.V

f′

1f2= V

f′

1f2[−∞, +∞], where the Sturm sequence is S2 with S2

0 = f1 and S21 = f2.

Vf′

2f1= V

f′

2f1[−∞, +∞], where the Sturm sequence is S3 with S3

0 = f2 and S31 = f1.

A closer look to the Table tell us that using the sign variations of the Sturm sequences S1

and S2 allow us to distinguish Cases 1 to 10 from the Cases 11 to 20. If the algorithm has onlyto consider the smallest root of f1 and the smallest root of f2, x1 and y1 respectively, then it isenough to distinguish Cases 1-10 from Cases 11-20.

We can easily conclude from Table 1 that we can not distinguish between all cases and sofurther actions must be considered.

11

Page 13: Methods to Compare Real Roots of Polynomials of Small Degree

Figure 2: The isolating line

8 Optimal algorithm for two cubics

8.1 Isolating intervals for the cubic

In order to use Algorithm 1 we must establish isolating intervals for the roots of the cubic. Weconsider a cubic polynomial as in Equation (7).

Proposition 2 The minimum, the maximum and the inflexion point of the cubic are collinear.We the line through these three points isolation line of the cubic.

Proof. We can easily the extreme point of the cubic functions by solving f′= 0. These are

(w1,2, f(w1,2)), where w1,2 = b±√

∆2a

. The extreme points define the line (isolating line):

y = kx + l, where k = −2∆2

aand l = −ad− bc

a(16)

We can easily conclude that the point ( ba, f( b

a)) satisfies the above equation.

Moreover, by substituting y = 0 to (16) we conclude that the isolating line crosses thex − axis at (−ad−bc

2∆2, 0). We must mention that when the cubic has 3 distinct real roots then

∆2 6= 0.So we can conclude additionally that the isolation line crosses the x − axis on a rational

point whose abscissa is a function in the coefficients of the cubic and has algebraic degree 2.A visualization of the proposition is given on Figure 2.

2

Lemma 2 Given a cubic equation, as in Equation (7) with simple roots, we can establish iso-lating intervals representations of its roots, where the endpoints are functions in the coefficientsof the cubic, with algebraic degree at most 2.

Proof. The abscissa of inflexion point is xN = ba. We assume f(xN ) > 0. The proof for

f(xN ) < 0 is similar.First we consider the case where the cubic has three distinct real roots (∆1 < 0).

12

Page 14: Methods to Compare Real Roots of Polynomials of Small Degree

When f(xN ) > 0 then it has one root on its left and two on its right side. Since the cubic isconvex in (xN , +∞) the isolating line crosses the x− axis after the second root. Alternativelywe can see that

b

a< −ad− cb

2∆2

⇔ f(xN ) > 0 (17)

If we consider γi, i = 1, 2, 3 as the three roots then

γ1∼=

(

f, (−∞,b

a]

)

, γ2∼=

(

f, [b

a,−ad− cb

2∆2

]

)

, γ3∼=

(

f, [−ad− cb

2∆2

, +∞)

)

If the cubic has one real root (∆1 > 0) then either (−∞, ba] or [ b

a, +∞) is an isolating

interval.At last when f(xN ) = 0 then γ2 = xN and we can consider isolating intervals representations

for the other two roots as:

γ1∼=

(

f, (−∞,b

a]

)

, γ3∼=

(

f, [b

a, +∞)

)

2

Lemma 3 There is an algorithm that compares any two roots of two cubic polynomials usingexpressions of algebraic degree at most 6. The algorithm is optimal with respect to the algebraicdegree.

Proof. Consider two cubic polynomials as in Equation (13) having roots x1 < x2 < x3 andy1 < y2 < y3, with isolating interval representation as in Proposition 2. We assume that wewant to compare x2

∼= (f1, I1) and y2∼= (f2, I2) and that both lie in J = I1 ∩ I2 = [α, β].

We consider the Sturm sequence S with S0 = f1 and S1 = f2. Since f′

1(x2) < 0 ifV arS [α, β] = 1 then x1 > y1, if V arS [α, β] = −1 then x1 < y1. Finally if V arS [α, β] = 0then x1 = y1.

We consider the Sturm sequence S with S0 = f1(x) and S1 = f2(x). The complete Sturmsequence is

S0(x) = f1(x)S1(x) = f2(x)S2(x) = −3Jx2 + 3Gx−MS3(x) =

[

J(P + 12J1)− 3G2]

x− (GM − 3JM1)= Z1x + Z2

S4(x) = J2(P 3 − 27Q)= J2

[

M(M2 − 9JM2)− 9M1Z2 − 9M2Z1

]

(18)

In order to simplify the computations we apply various geometrical invariants, namely:

∆11 = W 21 − 2∆12∆13

∆21 = W 22 − 2∆22∆23

J = [ab] = a1b2 − a2b1

J1 = [bc] = b1c2 − b2c1

M = [ad] = a1d2 − a2d1

P = M − 3JZ1 = J(M + 9J1)− 3G2

Z2 = GM − 3JM1

(19)

13

Page 15: Methods to Compare Real Roots of Polynomials of Small Degree

We also use the following expressions, that are not invariants, but look like one.

G = [ac] = a1c2 − a2c1

M1 = [bd] = b1d2 − b2d1

M2 = [cb] = c1d2 − c2d1

W1 = a1d1 − c1b1

W2 = a2d2 − c2b2

(20)

By letting R denote the Resultant of the two polynomials then R = P 3 − 27Q and so27Q = R − P 3 and Q is an invariant. For a comprehensive treatment of the invariants of asystem of two polynomials the reader can refer to [Stu93] and [Sal85].

We need to evaluate the Sturm sequence at, at most two, points of the set

{

b1

a1

,b2

a2

, +∞,−∞,− W1

2∆12

,− W2

2∆22

}

.

Every number in the above set is of algebraic degree at most 2 and the coefficients of S0, . . . S3

are of degree at most 4. Moreover, deg S4 = 6, so we can conclude that the maximum degreeinvolved is 6.

By the Resultant theory the algorithm is optimum with respect to algebraic degree. 2

8.2 Comparing the two largest roots

Assume that we want to compare the two largest roots of two cubics. Let x3 and y3 to denotethe largest root of f1 and f2 respectively. The first thing is to determine the isolating intervalrepresentation of the two roots. That is

x3∼=

(

f1, [p1

q1, +∞)

)

y3∼=

(

f2, [p2

q2, +∞)

) (21)

where

p1

q1

∈{

b1

a1

,− W1

2∆12

}

(22)

p2

q2

∈{

b2

a2

,− W2

2∆22

}

(23)

In order to decide the expression of p1

q1we must determine the sign of f1(

b1a1

) as we havealready shown in Proposition 2 (see Equation 17). The degree of the expression is 3 and weneed 10 arithmetic operations to evaluate it. Similar arguments hold for p1

q2.

Additionally, we have to decide the value of pq

= max {p1

q1, p2

q2} in order to find the intersection

of the two isolating intervals. We can achieve this easily by deciding the value of ∆p = p1q2 −p2q1. There are 4 possibilities for p

q, those are

• Assume p1

q1= b1

a1, p2

q2= b2

a2

In this case ∆p = −J . If ∆p > 0 then pq

= b1a1

. If ∆p < 0 then pq

= b2a2

.The algebraic degree of ∆p is 2 and we need at most 3 arithmetic operations to decide itssign.

14

Page 16: Methods to Compare Real Roots of Polynomials of Small Degree

• Assume p1

q1= b1

a1, p2

q2= − W2

2∆22

In this case ∆p = 2∆22b1 + a1W2. If ∆p > 0 then pq

= b1a1

. If ∆p < 0 then pq

= − W2∆22

.The algebraic degree of ∆p is 3 and we need at most 10 arithmetic operations to decideits sign.

• Assume p1

q1= − W1

2∆12, p2

q2= b2

a2

In this case ∆p = −a2W1 + 2∆12b2. If ∆p > 0 then pq

= − W1∆12

. If ∆p < 0 then pq

= b2a2

.The algebraic degree of ∆p is 3 and we need at most 10 arithmetic operations to decideits sign.

• Assume p1

q1= − W1

2∆12, p2

q2= − W2

2∆22

In this case ∆p = −W1∆22+∆12W2. If ∆p > 0 then pq

= − W1∆12

. If ∆p < 0 then pq

= − W2∆22

.The algebraic degree of ∆p is 4 and we need at most 15 arithmetic operations to decideits sign.

We can easily conclude from the above that, in order to determine the isolating interval rep-resentation of the roots, the maximum algebraic degree involved is 4 and we need at most 15arithmetic operations. Additionally, we know that fi(

pi

qi) < 0 and fi(+∞) > 0, for i = 1, 2.

f2(pq) f2(+∞) S2(

pq) S2(+∞) S3(

pq) S3(+∞) S4 Result

+ + ∗ ∗ ∗ ∗ ∗ x3 > y3

− + + + ∗ + ∗ x3 > y3

− + + + + − + x3 < y3

− + + + + − − x3 > y3

− + + + − − ∗ x3 > y3

− + − + + + ∗ x3 > y3

− + − + − + + x3 < y3

− + − + − + − x3 > y3

− + − + + − + x3 < y3

− + − + + − − x3 > y3

− + − + − − ∗ x3 < y3

− + + − + + ∗ x3 < y3

− + + − − + + x3 > y3

− + + − − + − x3 < y3

− + + − + − + x3 < y3

− + + − + − − x3 > y3

− + + − − − ∗ x3 > y3

− + − − ∗ + ∗ x3 < y3

− + − − + − + x3 < y3

− + − − + − − x3 > y3

− + − − − − ∗ x3 < y3

Table 2: Ordering of the two largest roots according to signs of related expressions. Theasterisk (∗) denotes that the specific root ordering holds for any sign. We are not consideringthe infeasible cases.

In Figure 3 we can see the whole evaluation procedure in order to compute the two largestroots. The number down and left of each rhombus denotes the maximum algebraic degree of the

15

Page 17: Methods to Compare Real Roots of Polynomials of Small Degree

expression, while the number in parentheses denotes the minimum. The number down and rightof each rhombus denotes the maximum operations needed in order to evaluate the expression,while the one in parentheses denotes the minimum.

8.3 The other cases of comparison

The process of comparing the two smallest roots of two cubic polynomials, x1 and y1, is similar tothat of comparing the two largest roots. In this case we can consider the reciprocal polynomials

x3f1(1

x) and x3f2(

1

x)

and compare the two largest roots.If the comparison of the two middle roots or the comparison of a middle and the largest

root is needed the process is again similar, except that in these cases some extra operations areneeded, since the endpoints of the isolating intervals and/or the endpoints of the intersectionof the isolating intervals may neither be infinity. In any case the algebraic degree is at most 6,as stated by Lemma 3.

9 The quadratic and the quartic

9.1 Optimal algorithm for two quadratics

Assume the quadratic equationf(x) = ax2 − 2bx + c (24)

If ∆ = b2 − ac > 0 then the quadratic has 2 distinct real roots. The abscissa of the apex pointis b

aand has the smallest root on its left and the largest root on its right hand side.

If γi, i = 1, 2 are the roots of the quadratics, then we can consider the following isolatinginterval representation for them

γ1∼=

(

f, (−∞,b

a]

)

, γ2∼=

(

f, [b

a, +∞)

)

If we apply Algorithm 1 in order to compare any two roots of two quadratic equations thenit is enough to use Sturm sequence S with S0 = f1(x) and S1 = f2(x). The complete Sturmsequence follows, where the expressions J , G and J1 were defined in Equations 19 and 20.

S0(x) = f1(x)S1(x) = f2(x)S2(x) = 2Jx−GS3(x) = −a1(G

2 − 4JJ1)

(25)

To compare any two roots of two quadratics we need to evaluate the Sturm sequence at, atmost two, points of the set

{

b1

a1

,b2

a2

, +∞,−∞}

.

Since S0, . . . , S2 evaluated at a number in the above set the algebraic degree and deg S3 = 4 weconclude that the maximum degree involved is optimum. Although this result is similar to theone obtain in [KE03] the adoption of our algorithm can lead to a slightly faster implementationas it contains fewer arithmetic operations. Additionally our algorithm is much simpler as itinvolves the pre-computation of only one Sturm sequence, where the algorithm proposed in[KE03] involves 4.

16

Page 18: Methods to Compare Real Roots of Polynomials of Small Degree

66

66

66

6(4)

6(4)

4(2)

6(5)

6(5)

9

6(4)

9

6(5)

9

6(5)

6(5)

6(5)

9

6(4)

233

3

3

3

3

44

44

11

11

10

10

10

10

10

10

13

13

13

13

13

13

13

13

f1

(

b1

a1

)

f2

(

b2

a2

)

J∆p

f2(

p q)

f2(

p q)

S2(

p q)

S2(

p q)

S3(

p q)

S3(

p q)

S3(

p q)

S3(

p q)

S3(

p q)

S3(

p q)

S3(+

∞)

S3(+

∞)

S3(+

∞)

S3(+

∞)

S4

S4

S4

S4

S4

S4

x3

<y3

x3

<y3

x3

<y3

x3

<y3

x3

<y3

x3

<y3

x3

<y3

x3

<y3

x3

<y3

x3

<y3

x3

<y3

x3

>y3

x3

>y3

x3

>y3

x3

>y3

x3

>y3

x3

>y3

x3

>y3

x3

>y3

x3

>y3

x3

>y3

x3

>y3

Figure 3: Evaluation procedure for x3 �y3 where � ∈ {<, >}. We assume that the discriminantsof the two cubics are pre-computed.

17

Page 19: Methods to Compare Real Roots of Polynomials of Small Degree

9.2 Optimal algorithm for two quartics

In this report we do not treat the general case of two quartics with 4 distinct real roots each.We only treat some special cases.

If each quartic has 2 real roots with multiplicity 2 then we can consider their derivatives,which have degree 3 and we reduce the problem to that of root ordering of two polynomials ofdegree 3. The maximum algebraic degree involved is 6. Additionally it is possible to reducethe problem to root comparison of two quadratic polynomials, but in this case the maximumalgebraic degree is 8, and obviously not optimal. For a geometrical problem with such a casethe reader can refer to [Wol02] and [HSW01].

If each quartic has 2 real and 2 complex roots then the isolating interval representation ofthe real roots is similar to the one of the two quadratics.

Acknowledgements

Both authors partially supported by INRIA’s CALAMATA project, a bilateral collaborationwith National Kapodistrian University of Athens. The first author is partially supported bythe IST Programme of the EU as a Shared-cost RTD (FET Open) Project under Contract NoIST-2000-26473 (ECG - Effective Computational Geometry for Curves and Surfaces).

References

[ABMY02] F. Anton, J.-D. Boissonnat, D. Mioc, and M. Yvinec. An exact predicate for the op-timal construction of the additively weighted Voronoi diagram. In Europ. WorkshopComput. Geom., 2002.

[Akr89] A.G. Akritas. Elements of Computer Algebra with Applications. J. Wiley & Sons,New York, 1989.

[BCL82] B. Buchberger, G.E. Collins, and R. Loos, editors. Computer Algebra: Symbolic andAlgebraic Computation, volume 4 of Computing Supplementum. Springer-Verlag,Wien, 2nd edition, 1982.

[BEH+02] E. Berberich, A. Eigenwillig, M. Hemmer, S. Hert, K. Mehlhorn, and E. Schomer.A computational basis for conic arcs and boolean operations on conic polygons. InEuropean Symposium on Algorithms, volume 2461 of Lecture Notes of ComputerScience, pages 174–186. Springer-Verlag, 2002.

[BFM+01] C. Burnikel, S. Funke, K. Mehlhorn, S. Schirra, and S. Schmitt. A separation boundfor real algebraic expressions. In Proc. Europ. Symp. Algor., volume 2161 of LNCS,pages 254–265, Berlin, 2001. Springer.

[BKM+95] C. Burnikel, J. Konnemann, K. Mehlhorn, S. Naher, S. Schirra, and C.Uhrig. Exact geometric computation in LEDA. In Proc. Annual ACMSymp. Comput. Geometry, pages C18–C19, 1995. Package available athttp://www.mpi-sb.mpg.de/LEDA/leda.html.

[CLO97] D. Cox, J. Little, and D. O’Shea. Ideals, Varieties, and Algorithms. UndergraduateTexts in Mathematics. Springer-Verlag, New York, 2nd edition, 1997.

18

Page 20: Methods to Compare Real Roots of Polynomials of Small Degree

[DFMT02] O. Deviller, A. Fronville, B. Mourrain, and M. Teillaud. Algebraic methods andarithmetic filtering for exact predicates on circle arcs. Comp. Geom: Theory &Appl., Spec. Issue, 22:119–142, 2002.

[EM98] M. Elkadi and B. Mourrain. Some applications of bezoutians in effective algebraicgeometry. Technical Report 3572, INRIA, Sophia Antipolis, 1998.

[HSW01] M. Hemmer, E. Schomer, and Nicola Wolpert. Computing a 3-dimensional cell inan arrangement of quadrics: Exactly and actually! In Proc. Annual ACM Symp.Comput. Geometry, pages 264–273, 2001.

[KCMK99] J. Keyser, T. Culver, D. Manocha, and S .Krishnan. MAPC: A library for efficientand exact manipulation of algebraic points and curves. In Proc. Annual ACM Symp.Comput. Geometry, pages 360–369, New York, N.Y., June 1999. ACM Press.

[KE03] M.I. Karavelas and I.Z. Emiris. Root comparison techniques applied to theplanar additively weighted Voronoi diagram. In Proc. Symp. on Discrete Al-gorithms (SODA-93), January 2003. Prelim. version: ECG-TR-122201-01,www.inria.fr/prisme/ECG/Results/.

[KLPY99] V. Karamcheti, C. Li, I. Pechtchanski, and C. Yap. The CORE Library Project, 1.2edition, 1999. www.cs.nyu.edu/exact/core.

[KW01] D. Kaplan and J. White. Polynomial equations and circulant matrices. The Math-ematical Association of America (Monthly), (108):821–840, November 2001.

[Loo82] R. Loos. Computing in transcendental extensions. In B. Buchberger, G.E. Collins,and R. Loos, editors, Computer Algebra: Symbolic and Algebraic Computation,pages 259–263. Springer-Verlag, Wien, 2nd edition, 1982.

[LY01] Chen Li and Chee Yap. A new constructive root bound for algebraic expressions.In 12th ACM-SIAM Symposium on Discrete Algorithms (SODA), January 2001.

[Mig82] M. Mignotte. Some useful bounds. In B. Buchberger, G.E. Collins, and R. Loos,editors, Computer Algebra: Symbolic and Algebraic Computation, pages 259–263.Springer-Verlag, Wien, 2nd edition, 1982.

[Mig91] M. Mignotte. Mathematics for computer algebra. Springer-Verlag, New York, 1991.

[MN00] K. Mehlhorn and S. Naher. LEDA: A Platform for Combinatorial and GeometricComputing. Cambridge University Press, Cambridge, UK, 2000.

[MP00] B. Mourrain and V.Y. Pan. Multivariate polynomials, duality and structured ma-trices. J. Complexity, 16(1):110–180, 2000.

[MVY01] B. Mourrain, M. Vrahatis, and J.C. Yakoubshon. Isolation of real roots and com-putation of the topological degree. Rapport de Recherche 4300, INRIA, Octobre2001.

[Pan97] V.Y. Pan. Solving a polynomial equation: Some history and recent progress. SIAMRev., 39(2):187–220, 1997.

[Per03] Daniel Perrucci. Different methods to compare real roots of polynomials of degree2 and their extensions to degree 4. Technical Report ECG-TR-242200-03, INRIASophia-Antipolis, 2003.

19

Page 21: Methods to Compare Real Roots of Polynomials of Small Degree

[PY03] Sylvain Pion and Chee Yap. Constructive root bound method for k-ary rationalinput numbers. In Proc. 18th ACM Symp. on Computational Geometry. ACMPress, June 2003. San Diego, California.

[Rei93] J. Reif. An O(n log3 n) algorithm for the real root problem. In 34th Annual Sym-posium on Foundations of Computer Science, pages 626–625, Palo Alto, California,November 1993.

[Sal85] G. Salmon. Lessons Introductory to the Modern Higher Algebra. Chelsea PublishingCompany, New York, 1885.

[Stu93] B. Sturmfels. Algorithms in Invariant Theory. RISC Series on Symbolic Computa-tion. Springer Verlag, Vienna, 1993.

[Ung90] A. Ungar. A unified approach for solving quadratic, cubic and quartic equations byradicals. Int. J. Comp. Math. Appl, (19):33–39, 1990.

[Wei02] R. Wein. High-level filtering for arrangement of conic arcs. Technical Report ECG-TR-181204-01, INRIA Sophia-Antipolis, 2002.

[Wei03] E. Weisstein. Cubic equation. Eric Weisstein’s World of Mathematics;http://mathworld.wolfram.com/CubicEquation.html, 2003.

[Wol02] N. Wolpert. An Exact and Efficient Approach for Computing a Cell in an Arrange-ment of Quadrics. PhD thesis, MPI fuer Informatik, October 2002.

[Yap00] C.K. Yap. Fundamental Problems of Algorithmic Algebra. Oxford University Press,New York, 2000.

[Zip93] R. Zippel. Effective Polynomial Computation. Kluwer Academic Publishers, Boston,1993.

20