<<

1. Rings, Domains and Fields Lecture 11 Page 1 § Lecture 11 ALGEBRAIC BACKGROUND

This chapter introduces several computational tools for algebraic computation: Euclidean algorithm and its variants, Sturm Sequences, and subresultants. We will review the standard approaches to computation.

1. Rings, Domains and Fields § We are interested in geometric computation. Although can be highly intuitive, its precise language ultimately depends on algebra. That is the great achievement of Descartes, in his “algebraization” of geometry. More of engineering and scientific computation involve computations in R. Now R has analytic as well as algebraic properties. Here we focus on its algebraic properties. For a thorough understanding of these algebraic properties, we must look at substructures of R as well as its extension into the complex numbers, C. Here is the hierarchy of algebraic structures we consider:

N Z Q A R C. (1) ⊆ ⊆ ⊆ ⊆ ⊆ Let us briefly introduce these substructures. We will not develop the theory of groups, rings and fields systematically; instead we rely on your intuitions about basic properties of numbers. N = 0, 1, 2,... are the natural numbers. It is an example of a . Z = {0, 1, 2,...} are the . It is our main example of a . Most of the simple{ ± properties± } you can think of involving Z will probably be ring properties. For instance, Z has two operations + and which are related by the distributive law. × A ring R (with unity 1) is a of elements with two binary operations +, and constants 0, 1 such that (R, +, 0) is a group, and (R, , 1) is a monoid (meaning× that is an associative operation with identity 1).× Thus a monoid is like a group,× except that it lacks an inverse. If is commutative, then we have a . Moreover, these two operations× are related by the distributive law: a(b + c)=ab + ac. A semiring is basically a ring in which + may not have an inverse. Q = m/n : m, n Z,n =0 are the rational numbers. It is our main example{ of a field. In∈ a field,6 unlike} a ring, the operation has an partial inverse, denoted by . It is a partial inverse because you can× divide by any value, as long as the÷ value is non-zero. A are the real algebraic numbers. Each element of A is just a real root of a with coefficients. For instance, √3 is algebraic because it is a real root of the polynomial X2 3. In this book, the numerical quantities we handle is almost exclusively in− this set. Most of the interesting algebraic properties of reals reside within A.

c Mehlhorn/Yap Draft February 16, 2005

1. Rings, Domains and Fields Lecture 11 Page 2 § R are the real numbers – it is not as easy to describe this set. But we have intuitions about it based on the line and its total ordering property. C are the complex numbers. It it easy to describe, assuming you know R: elements of C are just a + ib where i = √ 1. and on such numbers are defined as usual. −

Divisibility Concepts. If a, b, c D,thenwesaya divides b, denoted a b, in case there exists some non-zero c∈such that ac = b.Wecalla a divisor |of b. Two special types of divisors are important to notice: If b =0thena is a zero-divisor;ifb =1,wecalla a . For instance, in Z,28 but 2 3. In Q, 2 3. In Z and Q, the only zero-divisor is 0. In Z the only units| are 16| while in Q|, every non-zero is a unit. ± If a = bc and b is a unit, we say a and c are associates. Clearly, this is an equivalence class. Usually, we fix some convention whereby one member of the equivalence class is called distinguished. For instance, in Z the equivalence classes have the form n, n where n N, and the distinguished member is taken to be n. { − } ∈ We call a irreducible if the only divisors of a are units or its associates. A p is a non-zero, non-unit such that if p ab then p a or p b. For in- stance, in Z, the prime numbers are 2, 3, 5, 7,...| . If we take| distinguished| elements only, then primes are exactly± as± we± usually± think of them. Note that 1 is not regarded as prime since it is a unit. REMARK: prime elements of a domain are irreducible, but irreducible elements may not be prime.

Domains are rings whose only is 0 (this is the trivial zero-divisor). Since C has no non-trivial zero divisors, it means all the rings in (1) are domains. Finite rings such as Zn = 0, 1,...,n 1 (with operations modulo n) are domains iff n is non-prime. If{R is a ring,− we} can consider the set of all n n matrices with entries from R. This is a ring of matrices, with addition× and multiplication defined in the usual way. For instance, if R are the 2 2 matrices over Z, then we have another example of a non-domain. ×

Fields, Quotient Fields, . A field is a domain in which all non-zero elements have inverses. We can construct a unique minimal field to extend any domain D using the familar construction that extends Z to Q. This field is called the quotient field of D, and denoted QD.ElementofQD are represented by pairs (a, b)wherea, b D and b = 0, under the equivalence (ca, cb) (a, b) for all c = 0. Usually we∈ write a/b for6 the equivalence class of (a, b). ≡ 6

Polynomial Rings. Besides rings, another canonical way to construct new rings from a given ring R is the R[X] over a variable X. A typical member of R[X] is written A(X)= n a Xi (n 0) where a R, i=0 i ≥ i ∈ with addition and multiplication of polynomialsP defined in the standard way. If an = 0, then the degree of A(X)isn and an is called the leading coefficient. By6 definition, if A = 0 is the zero polynomial, then deg(A) and lead(A)=0. −∞ These are denoted deg(A)=n and lead(A)=an, respectively. If we have another variable Y , we can form (R[X])[Y ]=R[X][Y ]. Since XY = YX, this ring is the same as R[Y ][X], and which we simply write as R[X, Y ]. This can be extended to any finite number of variables, R[X1,...,Xn]. If D is a domain, then the quotient field of D[X] is denoted D(X). The elements of D(X) may be denoted by P (X)/Q(X)whereP (X),Q(X) Q[X] ∈

c Mehlhorn/Yap Draft February 16, 2005

1. Rings, Domains and Fields Lecture 11 Page 3 § and Q(X) =0.NotethatQ and D[X] are both contained in D(X). Again, 6 D the multivariate version is denoted D(X1,...,Xn). Suppose D0 is an extension of D and A(X) D[X]. For any α D0,welet ∈ ∈ A(α) D0 denote the value obtained by evaluating the polynomial at α.We call α∈a zero of A(X)ifα =0,oraroot of the equation A(X) = 0. Finding zeros of , and its generalizations, may be called the “fundamental computational problems” of algebra (cf. [2, Chap. 0]). First assume D is a field. The following captures what we learn in High School about division of polynomials:

Theorem 1 (Remainder Theorem) For all A, B D[X] where B =0,there exists unique Q, R D[X] such that ∈ 6 ∈ A = QB + R (2) such that deg R

We call Q, R the quotient and remainder of A divided by B. The algo- rithm to compute Q and R is well-known in high-school algebra. If D is not a field, we have a modified result:

Theorem 2 (Pseudo Remainder Theorem) et A, B D[X] with δ =max 0, 1+ deg(A) deg(B) and β = lead(B). Then exists unique Q,∈ R D[X] such that{ − } ∈ βδA = QB + R (3) such that deg R

This is proved as Lemm 3.4 in [Yap]. We now call Q, R the pseudo quotient and pseudo remainder of A divided by B.Infact,Q, R can be computed by the same division algorithm above. From this, we can deduce that if α D is a root of A then A = QB where B = X α and deg(Q)=deg(A) 1. In∈ proof, by the pseudo remainder theorem Then A−= QB + R with deg(R)−< deg(B). Since B(α) = 0, we conclude that 0=A(α)=Q(α)B(α)+R(α)=R(α). Since deg(R)=0or , this implies R = 0. This concludes our proof. It follows by induction that,−∞ in any extension of D,thatA has at most deg(A)roots.

Unique factorization domains (UFD). Recall the Fundamental Theorem of Arithmetic says that every n N,ifn 2, can be written uniquely (up to re-ordering) as a product of prime∈ numbers.≥ UFD’s are domains D in which the analogue of the Fundamental Theorem of Arithmetic is true: namely, every non-zero a D can be written as the product of the form ∈

a = up1,...,pk

where u is unit and pi are prime numbers. Moreover, this product is unque up to re-ordering (i.e., if a = u0q1,...,q` then k = ` and u0 = u and, after reordering the qi’s, each pi = qi). Note that a field is trivially a UFD. The first theorem about UFD’s is from Gauss:

Theorem 3 If D isaUFD,thenD[X] is a UFD.

See [Yap, Sect. 2.1] or any standard algebra book. It follows by induction that D[X1,...,Xn]isaUFD. The concept of divisibility can be extended into the quotient field QD.See 1 [Yap, 3.1.3]. The irreducible elements of Q are q and q− where q are the § D

c Mehlhorn/Yap Draft February 16, 2005

2. Euclid’s Algorithm Lecture 11 Page 4 § irreducible elements of D. A factorization of b D is an expression of the e ∈ form b = uq 1 qem where u is a unit, the e are positive integers, the q ’s are 1 ··· m i i distinct irreducible elements, and qiqj is a non-unit for all i, j. Then it is clear that every element of D has a unique factorization up to reordering and up to choice of units. If b = uqe1 qem then we say a divides b iff a = uqd1 pdm 1 ··· m 1 ··· m where 0 di ei (i =1,...,m). For instance 1/2 divides 1/4inQ but the only elements≤ ≤ that divide 1/2 are the units, and 1/2. We can now define ord(p) ± GCD(a/b, a0/b0)= p p where p range over all irreducible non-units and k k ord(p) is the integerQ k such that p (a/b)andp (a0/b0)and k is maximized. For instance, GCD(1/2, 4) = 1. On the| other hand,| GCD(18/2, 15| |/4) = 3/2. We can then define GCD in QD and also in QD[X].

The Floating Point Domain. Let D be any UFD, and let p be an irreducible element of D. Consider the domain

D/p := fpe : f D, e Z { ∈ ∈ } viewed as a subdomain of QD.WhenD = Z and p = 2, the domain Z/2is usually called the binary floating point numbers (or bigfloats for short). 1 The irreducible elements in D/p are p− and the irreduciple elements in D.

Square-Freeness. Let D be a UFD. A polynomial A(X) D[X]issaidto ∈ dA(X) be square-free if deg(GCD(A(X),A0(X))) = 0 where A0(X)= dX is the formal differentiation of A(X). In other words, A(X) has no double roots in the algebraic closure of D. We define the square-free part of A(X)tobe

A(X) SqFree(A(X)) := . GCD(A(X),A0(X)) Note that this division is well defined in D[X], i.e., this is an exact division with no remainders.

Quadratic Number Fields and Failure of UFD Property. Consider Q[√d]. This is easily shown to be a field, i.e., Q[√d]=Q(√d). Moreover, these fields are distinct and exhaustively enumerated if we choose d Z to be square-free. For instance, for d 7, there are exactly 14 such fields,∈ corre- sponding to d = 1, 2, 3, 5|, |≤6, 7. The concept± of divisibility± ± ± in±Q[±√d] is trivial since non-zero element is a unit. To get the interesting “arithmetical structure” of Z, we must consider the concept of integers in Q[√d]. In the simplest case where d = 1, this us the Gaussian integers, Z[√ 1]. We usually write i = √ 1. In general,− the set of √ − − integers in Q[ d] is denoted O√d.ItcanbeshownthatO√ 5 = Z[√ 5] = − − x + y√ 5:x, y Z . We now see that this domain is not a UFD. It can be {shown that− the numbers∈ } 2, 3, 1+√ 5, 1 √ 5 are irreducible. They are not associates of each other because the− units− in this− domain are 1. But 6 can be expressed as two distinct product of irreducible factors: ±

6=2 3=(1+√ 5) (1 √ 5). · − · − −

We conclude that O√ 5 is not a UFD. − 2. Euclid’s Algorithm § In a UFD, the concept of a greatest common divisor is well-defined. See [2, Chap. 2] for the definition of GCD in a UFD. For instance, GCD(6, 15) = 3.

c Mehlhorn/Yap Draft February 16, 2005

3. Multivariate GCD Lecture 11 Page 5 § Euclids’ algorithm for computing the integer GCD is well-known, but we briefly recall it here. Euclid’s Algorithm: given integers m0 >m1 > 0, we compute GCD(m0,m1) as follows: form the following sequence

m0,m1,m2,...,mk

where mi+1 = mi 1 mod mi,andmk 1 mod mk =0.ThenGCD(m0,m1)=mk. Extended Euclidean− Algorithm:− The goal is to compute two numbers s, t such that GCD(m, n)=sm + tn.

We call such (s, t)aco-factor of (m, n). Let us define qi by the equation

mi+1 = mi 1 qimi − −

(so qi is the quotient of mi 1 divided by mi. Define the sequences −

(s0,s1,s2,...,sk), (t0,t1,t2,...,tk) where s0 =1,s1 =0,t0 =1,s1 =0,and

si+1 = si 1 qisi,ti+1 = ti 1 qiti. − − − − We see that the following equation is true:

mi = sim + tin for i =0,...,k. The base case (i =0, 1) is true by our choice for s0,t0,s1,t1. The other cases follow by an easy induction. How general is this method? This is captured in the concept of an Euclidean Ring [Yap, Chap 2].

APPLICATIONS. Suppose you want to compute the inverse of a number x Zp. You can use the extended Euclidean algorithm to compute s and t such that∈ sx + tp = GCD(x, p)=1.Sos is the inverse of x modulo p. Similarly, suppose θ is the root of some irreducible polynomial P (X) Z[X]. Then the ring Q[θ] is actually a field (see [Yap, Chap 5.1]). Every element∈ in Q[θ] can be written as a polynomila in θ.GivenA(θ) Q[θ], we want to compute the inverse of A(θ) Q[θ] in exactly the same way∈ as before, using the extended Euclidean algorithm∈ on the polynomials A(X)andP (X). 3. Multivariate GCD § Let us consider the problem of computing GCD in R = D[X1,...,Xn]for n 1whereD is a UFD. The most important case is D = Z. However, the best≥ way to compute GCD in R is far from obvious.

Univariate Polynomials. Even for n = 1, there are interesting issues. How do we compute GCD(A, B)forA, B D[X]? The simplest way is view A, B as ∈ elements of QD[X]whereQD is the quotient field of D. In this case, Euclid’s algorithm is applicable, since we can define the remainder of any two polynomials in QD[X]. Let C QD[X] be this GCD.ThenGCD in D[X] can be recovered from C (Exercise).∈ An alternative method proceeds in two steps: 1. Compute the primitive-decomposition of A and B:letA = aA1 where a is the content of A and A1 D[X] is the primitive-part of A. Similarly, let ∈

c Mehlhorn/Yap Draft February 16, 2005

3. Multivariate GCD Lecture 11 Page 6 §

B = bB1. 2. Return (GCD(a, b), GCD(A1,A2)). In other words, this algorithm actually returns a primitive decomposition of GCD(A, B). Note that we require a GCD algorithm in D to compute GCD(a, b). Indeed, even computing the primitive-decomposition of A into aA1, we need such an algorithm. What is needed is a “multi-GCD” algorithm [2]. We also need a GCD algorithm over D[X]. One way to do this algorithm is to use the subresultant PRS algorithm [2]. We return the primitive-part of polynomial returned by the subresultant PRS algorithm.

Bivariate Polynomials. The issues with multivariate polynomials are al- ready illustrated by considering the case n = 2. Our goal is to reduce this to the univariate case. First, let us generalize the concept of primitive decomposition. An element E D[X, Y ]istype 0ifE D, type X if E DX D, type Y if E DY D, and∈ otherwise type XY. Also,∈ if u D is a unit,∈ we\ say it is type 1.∈ We\ call τ 0, 1,X,Y,XY a type symbol∈. A quadruple ∈{ }

(E0,EX ,EY ,EXY )(4) is a primitive decomposition of an element E D[X, Y ]if ∈ E = E0E E E . • X Y XY E is type τ or type 1. • τ If (E0 ,E0 ,E0 ,E0 ) is another quadruple satisfying the above conditions • 0 X Y XY then E E0 , E E E0 E0 and E E E0 E0 . XY | XY X XY | X XY Y XY | Y XY Lemma 4 The primitive decomposition of E is unique up to associates. I.e., if

(E0,EX ,EY ,EXY ) and (E0 ,EX0 ,EY0 ,EXY0 ) are two such decompositions, then E E0 for i 0,X,Y,XY . i ∼ i ∈{ }

m di Proof. We may write E = i=1 Pi where Pi are non-associated irreducible elements of D[X, Y ]anddi Q1. Each Pi has a type. Collecting all the Pi’s to ≥ type τ into Eτ , and defining Eτ = 1 incase there are no Pi’s of type τ,weget a quadruple (E0,EX ,EY ,EXY ) that is unique up to associates. We can verify that this quadruple is a primitive decomposition. Q.E.D.

di ei Let A = i Pi and B = i Pi be the unique factorization of A, B where Pi are irreducibleQ elements in DQ[X, Y ]anddi 0andej 0. Then GCD(A, B)= min di,ei ≥ ≥ i Pi { }.Butwecanexpress Q GCD(A, B)=C0CX CY CXY

is the primitive decomposition of GCD(A, B). How can we compute the decomposition (E0,EX ,EY ,EXY )in(4)? We can view elements of D[X, Y ] as polynomials in D[X][Y ], or as polyno- mials in D[Y ][X]. Suppose GCDX (A, B) is the result when A, B D[Y ][X], and GCD (A, B)whenA, B D[X][Y ]. We first note that ∈ Y ∈

GCD(A, B)=GCDX (A, B)=GCDY (A, B).

In proof, note that GCD(A, B) divides A and B and for any g that divides both A and B must also divide GCD(A, B). In particular, g = GCDX (A, B) (viewed as an element of D[X, Y ] has this property. So GCD (A, B) GCD(A, B). Conversely, we X |

c Mehlhorn/Yap Draft February 16, 2005

4. Resultants Lecture 11 Page 7 § see that GCD(A, B) GCD (A, B) by viewing GCD(A, B)asanelementofD[Y ][X]. | X This proves GCD(A, B)=GCDX (A, B). Now computing in D[X][Y ], we can compute the primitive decomosition

GCDY (A, B)=C0CX CXY

and similarly, computing in D[Y ][X] we obtain the primitive decomosition

GCDX (A, B)=D0DY DXY .

It is easily verified that D0 = C0 = E0, CX = EX and DY = EY . Finally,

EXY = GCDX (CXY ,DXY ).

Thus, with three calls to a GCD decomposition algorithm, we obtain the decom- position in (4),

4. Resultants § Fix any UFD D. Assume polynomials in this section have coefficients in D. It is useful to introduce the following concept of determinantal polynomials [Yap, 3.3]: let M be a m n matrix with m n.Thendeterminantal polynomial§ of M is × ≤

n m n m 1 dpol(M):=det(M )X − +det(M +1X − − + +det(M ) m m ··· n where Mi is the square submatrix of M comprising the first m 1 columns of M and the ith column of M.Incasem>n, simply define dpol−(M)=0. In case P1,...,P are polynomials and n =1+max deg(P ) then mat (P1,...,P ) m i{ i } n n is the m n matrix whose ith row contains the coefficients of Pi listed in or- der of decreasing× degree, treating P as having (nominal) degree n 1. Also, i − dpoln(P1,...,Pn) is the determinantal polynomial of this matrix. Let A, B D[X]. If A = m a Xi and B = n b Xj,witha b =0, ∈ i=0 i j=0 j m n 6 then the Sylvester Matrix ofPA, B is defined as theP following square (m+n) (m + n) matrix ×

n 1 n 2 1 0 m 1 m 2 0 mat(X − A, X − A,...,X A, X A,X − B,X − B,...,X B)

n m

| am am 1{z a}0 | {z } − ···  am am 1 a0  − ··· .. ..  . .     am am 1 a0  =  − ···  .  bn bn 1 b1 b0   − ···   bn bn 1 b1 b0   − ···   . .   .. ..     bn bn 1 b0   − ···  Thus,

n 1 n 2 1 m 1 m 2 1 dpolm+n(X − P, X − P,...,X P, P, X − Q, X − Q,...,X Q, Q) is a constant polynomial, equal to the of this matrix. It is called the of A and B, and written res(A, B).

Theorem 5 res(A, B)=0iff GCD(A, B) is not a constant.

c Mehlhorn/Yap Draft February 16, 2005

5. Homogeneous Polynomials Lecture 11 Page 8 § See the proof in [Yap,Lemma 6.13(p.156)].

Theorem 6 m i n j Let A = i=0 aiX ,andB = j=0 bjX be polynomials where the coefficients ai,bj are indeterminates.P We defineP deg(ai)=m i and deg(bj)= n j, so that A, B can be regarded as homogeneous polynomials.− Then res(A, B) − is a homogeneous polynomial in D[a, b]=D[a0,...,am,b0,...,bn].

Proof. This is basically the proof in the next lemma. Q.E.D.

5. Homogeneous Polynomials § Now assume A, B D0[X1]whereD0 = D[X2,...,X ], r 1, and D is a ∈ r ≥ UFD. Thus A, B D[X1,...,X ] are multivariate polynomials. Let res (A, B) ∈ r X1 ∈ D[X2,...,Xr] denote the resultant where A, B are viewed as polynomials in X1.

To avoid double subscripts, we write res1(A, B) instead of resX1 (A, B). More generally, define resi(A, B)wherei =1,...,r for the resultant with respect to Xi. Alternatively, the subscript i or Xi says we are “eliminating Xi” from the system of equations A = B = 0. In examples, we usually write X for X1, Y for X2 and Z for X3. Now, when we speak of the “degree” of A D[X1,...,Xr], we mean its total degree in X1,...,Xr, still denoted deg(∈A). For example, deg(X3Y XY +2)=4. A multivariate polynomial can− be written as

A = c Xe,cD e e ∈ Xe I ∈

r e e1 er where I N is a finite set and X = X1 Xr where e =(e1,...,er). If ⊆ e ··· e ce =0,thenwesayX occurs in A and call ceX a term of A. The polynomial 6 deg(A) A is Xi-regular if Xi occurs in A. We simply say “regular” for X1-regular. Let e = e1 + + er.Sodeg(A)=maxe I e .WesayA is homogeneous if e = |f| for all ···e, f I. The zero polynomial∈ | is,| by definition, homogeneous and| | has| degree| . ∈ The following−∞ are basic facts about homogeneous polynomials.

Lemma 7 Let A D[X1,...,Xr] have degree m. (i) Then A is homogeneous∈ iff for all nonzero t D, ∈ m A(tX1,...,tXr)=t A(X1,...,Xr). (5)

m0 i (ii) Let deg1(A)=m0 m.WriteA = a X where a D[X2,...,X ] ≤ i=0 i i ∈ r and X = X1. Then A is homogeneous iffP each non-zero ai is homogeneous of degree m i. − (iii) There is a bijection between elements in D[X1,...,Xr] and the homoge- neous polynomials in D[X0,X1,...,X ] D[X0] such that A D[X1,...,X ] r \ ∈ r corresponds to the homogeneous A D[X0,...,X ] D[X0] iff deg(A)=deg(A) ∈ r \ and A(X ,...,X )=A(1,X ,...,X ). 1 r 1 b r b Proof. (i) The result isb clearly true if A has only one term. If A has more than one term, then A is homogeneous iff each term has the same degree (say e m m>0). But a term ceX has degree m iff t appears in the corresponding m term for A(tX1,...,tXr). Hence, factoring t from all these terms, we get m A(tX1,...,tXr)=t A(X1,...,Xr). (ii) If A is homogeneous, then each ai is necesarily homogeneous of degree m i. The converse is also clear. −

c Mehlhorn/Yap Draft February 16, 2005

5. Homogeneous Polynomials Lecture 11 Page 9 §

(iii) The bijection A D[X1,...,X ] into homogeneous A D[X0,...,X ]is ∈ r ∈ r obtained as follows: if A D,thenA = A. Otherwise, let m =deg(A) > 0. ∈ b m e For each term c Xe of A, we obtain a corresponding term c XeX −| |. This e b e 0 bijection between A and A has the claimed properties. Q.E.D.

Note that we do notb assume that A is regular in (ii). Thus, am is not necessarily a constant. To illustrate (i), if A(X, Y )=X4 3X3Y +X2Y 2 4Y 4 then A(tX, tY )=t4(X4 3X3Y + X2Y 2 4Y 4). Property− (i) can be taken− as the definition of homogeneous− polynomials.− In illustraction of (iii), if B(X, Y )= 2 2 3 2X Y +3XY 1thenB =2X Y +3XYX0 X . − − 0 If A D[X1,...,X ], let A D[X1,...,X ,W] denote the standard homog- ∈ r b ∈ r enization of A using a new variable W , with the property that deg(A)=deg(A) b and A(X1,...,X , 1) = A(X1,...,X ). Also, for B D[X1,...,X ,W], let B∨ r r ∈ r b denote the operation of substituting W =1inB.Thus,A = A. b ∨ Lemma 8 If A, B be arbitrary polynomials (not necessarilyb homogeneous). (i) AB = AB deg(A) deg(B) (ii) A\+ B = A + BX − (where deg(A) deg(B)) d b b 0 \ ≥ (iii) GCD(A, B)=b GCDb (A, B). We areb readyb to prove the main result of this section.

Theorem 9 Let A, B be regular homogeneous polynomials in r 2 variables, ≥ of degrees m and n respectively. If resX (A, B) =0then resX (A, B) is homo- geneous of degree mn. 6

m i n i Proof. Write A = a X and B = b X where X = X1 and a ,b i=0 i j=0 i i j ∈ D[V ] where, for simplicity,P we write V Pfor (X2,...,Xr). By regularity, either ai =0ordeg(ai)=m i for all i =0,...,m. Similarly, either bj =0or deg(b )=n j for j =0− ,...,n. Let R(V )=res (A, B). For any t,let j − X tV =(tX2,...,tXr). From (5), we conclude that

m am tam 1 t a0 − ··· m  am tam 1 t a0  − ··· .. ..  . .   m   am tam 1 t a0  R(tV )= n 1 n − ···  .  bn tbn 1 t − b1 t b0   − ··· n 1 n   bn tbn 1 t − b1 t b0   − ···   . .   .. ..   n   bn tbn 1 t b0   − ···  i 1 If we next multiply the ith row of A’s by t − and the jth row of the B’s by j 1 t − ,weobtain tpR(tV ) m am tam 1 t a0 − ···2 m+1  tam t am 1 t a0  − ··· .. ..  . .   n 1 n m+n 1   t − am t am 1 t − a0  =  n 1 n − ···  .  bn tbn 1 t − b1 t b0   − ···2 n n+1   tbn t bn 1 t b1 t b0   − ···   . .   .. ..   m 1 m 2 m+n 1   t − bn t − bn 1 t − b0   − ··· 

c Mehlhorn/Yap Draft February 16, 2005

6. Application to Curve Intersection Lecture 11 Page 10 § m n where p = 2 + 2 . But in the righthand side determinant, we can extract a i 1 factor of t − from the ith column (for i =1,...,m+ n). Hence the righthand side determinant is equal to m+n t( 2 )R(V ). This proves that p m+n t R(tV )=t( 2 )R(V ). Hence R(V ) is homogeneous and its degree is

m + n m n = mn.  2  −  2  − 2 Instead of a direct calculation, the reader may instantly see the truth of this last equation in terms of its combinatorial interpretation. Q.E.D.

Corollary 10 Suppose A, B D[X1,...,X ] are regular polynomials, not ∈ r necessarily homogeneous. Then res1(A, B), if non-zero, has degree mn in ≤ X2,...,Xr.

Proof. Our theorem says that R(X0,X2,...,Xr)=res1(A, B) is homogeneous of degree mn. Since res (A, B)isequaltoR(1,X ,...,X ), its degree is at 1 2 b rb most deg(R(X0,X2,...,Xr). Q.E.D. m i Suppose the polynomial A = a X (a D[X2,...,X ]) is not regular, i=0 i i ∈ r i.e., a0 D. What can we do?P One possibility is make divide A by a0.The 6∈ coefficients of A/a0 can now be viewed as elements of a meromorphic series (i.e., power series with finitely many terms with negative powers). In essense, this is Newton’s approach. See [1, Lect. 9] for this development. A simpler approach is to consider the following transformation:

X Y + c X, (i =2,...,r). i 7→ i i

The polynomial A0(X, Y2,...,Yr)=A(X, Y2 +c2X,...,Yr +crX) will be regular for some choice of the ci’s. In practice, this will turn a sparse polynomial into a very dense one. The above theorem can be generalized as in the following exercise.

Exercise 5.1: Let A, B D[X1,...,X ] be homogeneous with deg(A)=m, deg(B)= ∈ r n.Ifdegi(A) denotes the degree of A in Xi,letdeg1(A)=m0, deg1(B)= n0.Writeµ = m m0 and ν = n n0.ThusA, B are regular iff µ = ν = 0. We have− the following generalization− of the previous theorem: if res (A, B) =0thenres (A, B) is homogeneous of degree mn µν. X 6 X − ♦ 6. Application to Curve Intersection § Let A(X, Y )=0andB(X, Y ) = 0 be two real algebraic curves, and write R(Y )=resX (A, B). We may assume that A, B Z[X, Y ]. 2 ∈ Suppose p0 =(x0,y0) R is an intersection point of the two curves. Con- ∈ sider the polynomials A0(X)=A(X, y0)andB0(X)=B(X, y0)inR[X]: they have a common zero since A0(x0)=B0(x0)=0.Hencedeg(gcd(A0,B0)) > 0. Hence resX (A0,B0)=0.IsresX (A0,B0)thesameasR(y0)? The answer is in the next lemma. Write A(X, Y )= m a Xi and B(X, Y )= n b Xj where a ,b i=0 i j=0 j i j ∈ Z[Y ]. Write resX (A0,BP 0) as the determinant of theP matrix S0 where S0 is the Sylvester matrix for A0,B0. Similarly, let resX (A, B)=det(S) for another

c Mehlhorn/Yap Draft February 16, 2005

7. Theory of Subresultants Lecture 11 Page 11 §

Sylvester matrix. Write S(y0) for the matrix obtained from S by setting Y = y0. So the question is whether S0 = S(y0). Note that S0 depends on the degrees of A0 and B0. It is now easy to see: Lemma 11

(i) If a (y0) =0and b (y0) =0,then m 6 n 6

R(y0)=resX (A0,B0).

(ii) If a (y0)b (y0) =0,then m n 6

R(y0)=0 res (A0,B0)=0. ⇔ X In this regards, it is convenient to call a curve A(X, Y )=0regular (or X-regular) in case deg(A)=m and am is a constant. In other words,

m i A(X, Y )= ai(Y )X Xi=0

where am(Y ) is a constant and degY (ai) m i. It is easy to see that by a translation, every curve can be made regular≤ (Exercise).− We can now prove a simple version of Bezout’s theorem.

Theorem 12 (Bezout) Suppose A(X, Y ),B(X, Y ) are relatively prime and deg(A)=m, deg(B)=n. Then the curves A =0and B =0has at most mn common points of intersection.

Proof. By a linear translation, we may assume that A and B are regular. Let R(Y )=resX (A, B). Since they are relatively prime, R(Y ) is non-zero. Hence deg(R) mn.If(x ,y )(i =0, 1,...,mn) are mn+1 distinct common intersec- ≤ i i tions, then by a rotation of the curves, we further assume the yi’s are distinct. It follows that R(yi)=0foreachi. This is a contradiction since there the degree of R(Y ) mn. Q.E.D. ≤ 7. Theory of Subresultants § We can clearly apply Euclid’s algorithm to D[X]whereD is a field. In case of a UFD, the search for an efficient algorithm was a major topic in early days of computer algebra. An efficient method here is based on the theory of subresultants. The content of a polynomial A(X) is the GCD of all its coefficients. The primitive part of A(X) is obtained by dividing A(X) by its content. Two polynomials A(X),B(X) are similar if they have the same primitive part. We denote this by A(X) B(X). The pseudo-Euclidean∼ Polynomial Remainder Sequence (PRS) of A(X),B(X)is (A0,A1,...,Ak)(6) where A0 = A, A1 = B and Ai+1 = prem(Ai 1,Ai), i.e., the pseudo-remainder − of Ai 1 divided by Ai. The last term of this sequence is determined by the − condition prem(Ak 1,Ak)=0. The sequence (6)− is easy to define but it’s coefficients can grow exponentially large in k. So what we would like is any sequence

(B0,B1,...,Bk)(7)

c Mehlhorn/Yap Draft February 16, 2005

7. Theory of Subresultants Lecture 11 Page 12 §

such that B0 = A0,B1 = A1,andB A for i =2,...,k.Wecallsucha i ∼ i sequence a polynomial remainder sequence (PRS) for A0,A1.IfBi = Ai/βi where β + i D, for all i 0, we say that (7) is based on (β0,...,βk). Our goal∈ is to present≥ Collin’s “subresultant PRS algorithm” [?, ?]. It is considered the best algorithm in the family of algorithms based on sequences of β’s.

Subresultant Chain. First we introduce a new sequence that contains a PRS as subsequence. Given A, B as above, with deg(A)=m>n=deg(B), define the ith subresultant of A, B (for i =0,...,n)tobe n i 1 n i 2 m i 1 m i 2 dpol(X − − A, X − − A,...,A,X − − B,X − − B,...,B)

We denote this subresultant by sresi(A, B). For i = n +1,...,m, we define sres (A, B)tobeA if i = m,tobeB if i = m 1, and 0 otherwise. Observers i − that sres0(A, B) is just the standard resultant. The subresultant chain of A, B is just the sequence

S =(Sm,Sm 1,...,S1,S0)(8) − where Si = sresi(A, B). Let ppsci(A, B) (called the ith pseudo-principal subresultant coeffi- cient of A, B)bethenominal leading coefficient of sresi(A, B), i.e., it is the leading coefficient of Si where we treat sresi(A, B) as a polynomial of nominal degree i. The true degree of sresi(A, B) may be strictly less than i. Hence we call sresi(A, B) regular if its nominal degree is equal to its actual degree. However, by definition, ppscm(A, B)=1andNOTlead(A). We are ready to present Collins’s algorithm. The algorithm uses a simple loop that resembles the usual Euclidean algorithm:

Subresultant PRS Algorithm Input: Polynomials A, B D[X]withdegA>deg B>0. Output: Subresultant PRS∈ of A, B. . Initialization P0 A; P1 B; ← ← a0 lead(P0); a1 lead(P1); ← ← δ0 deg(P0) deg(P1); ← δ − β1 ( 1) 0 ; ←−− δ ψ0 1; ψ1 (a0) 0 ; i ←0; ← . Loop← While P1 =0do 6 prem(Pi 1,Pi) 1. Pi+1 − (i =1,...,k 1); ← βi − 2. a +1 lead(P ); i ← i 3. δi deg(Pi) deg(Pi+1); ← −δ (ai+1) i 4. ψi+1 δ 1 ; ← (ψi) i− δi+1 δi 5. βi+1 ( 1) (ψi) ai; i ++;← − Return (P0,P1,...,Pi);

This algorithm computes a sequence (β1,...,βk 1) through Step 5. By def- inition, the subresultant PRS is based on this sequence.− Thus our algorithm returns the subresultant PRS. The correctness of this algorithm amounts to the assertion that each division in Step 1 is “exact” in the sense that the result is a polynomial in D[X].

c Mehlhorn/Yap Draft February 16, 2005

8. Algebraic Number Computation Lecture 11 Page 13 § Connection to the Block Structure Theorem. With respect to the sub- resultant chain (8), a subsequence

B =(Si,Si 1,...,Sj) − where m i j 0 is called a nonzero block if S S =0,andfor ≤ ≥ ≥ i ∼ j 6 k = i 1,i 2,...,j+1, Sk = 0. Let Si and Sj be called the top and bottom of the− block.− Note that if i = j then the top and bottom coincide. A zero block is (Si,Si 1,...,S0)whereeachSk =0(k = i 1,i 2,...,0) and Si+1 =0.As a special− case, the empty sequence ( ) is regarded− − as a zero block. The6 Block Structure Theorem (Theorem 3.10 [Yap, 3.7] says that the subresultant chain (8) can be divided into a oncatenation of§ blocks,

S = B0; B1; B ,B +1 ··· k k where each Bi (i =1,...,k) is a nonzero block, and Bk+1 is a zero block. Let Ti and Ui be the top and bottom of block Bi. Then we obtain two subchains:

T =(T0,T1,...,Tk),U=(U0,U1,...,Uk). It can be shown that T (and thus U)isaPRSofA, B. The correctness of Collin’s algorithm can be inferred from this connection:

Theorem 13 Collin’s algorithm computes the sequence (T0,T1,...,Tk).

Exercises

Exercise 7.1: Compute the inverse of 100 modulo 263. ♦ Exercise 7.2: (i) Describe Euclid’s algorithm for K[X]whereK is a field. (ii) Compute the GCD of A(X)=6X4 +3X3 2X2 +3X +2 and B(X)= 6X2 + X 1whereA(X),B(X) are viewed− at polynomials in Q[X]. − (iii) Show how to convert the GCD in a quotient field QD[X] to one in D[X]. ♦ Exercise 7.3: Let D is algebraically closed, and A, B D[X1,...,X ]. ∈ r (i) Suppose there is an infinite set E D such that for all x1,...,x E, ⊆ r ∈ A(x1,...,xr)=0.ThenA =0. (ii) Suppose for all x1,...,xr D, B(x1,...,xr) = 0 implies A(x1,...,xr)= 0. Then A B. ∈ (iii) Prove| that if deg(GCD(A, B)) = 0 then res (A, B) is non-zero. Xi ♦ Exercise 7.4: (i) Bound the number of arithmetic operations in the subresultant PRS algorithm of A, B. Obtain this bound as a function of m =deg(A). (ii) If the input coefficients have at most L bits, bound the bit complexity of the algorithm. ♦ End Exercises 8. Algebraic Number Computation § In this section, we review a standard approach to algebraic computing, namely to computing within a fixed number field Q(α)forsomeα.Inthe- ory, this approach is sufficient, since any finite algebraic computation can be embedded in some Q(α). In practice, this approach may not be good enough because the degree of α may be exponential (or worse) and we need to know the irreducible polynomial of α. For more details, see [Yap, 6.3.1]. §

c Mehlhorn/Yap Draft February 16, 2005

9. Real Algebraic Computation Lecture 11 Page 14 § Computation in an Algebraic Number . If we are interested in per- forming the basic arithmetic operations on algebraic numbers, then the com- puter algebra text books inform us that we might as well be computing in a fixed number field Q(α). This is justified by the primitive element theorem which says that if α1,α2 are algebraic then Q(α1,α2)=Q(α)forsomeα.In fact, we can take α = mα1 +nα2 for some suitable integers m, n. This generalize to any finite Q(α1,...,αn)=Q(α). Moreover, any finite sequence of computation lies in such a finite extension. Algebraic computations in Q(α) can be reduced to manipulating polynomials modulo the minimal polynomial A(X) Z[X]ofα. 1. First we claim Q(α)=Q[α]. To see∈ this, suppose β Q(α). By definition, ∈ β = B(α) where B(X),C(X) Q[X]andC(α) =0.ButC(α) =0meansthat C(α) ∈ 6 6 C(X)modA(X) = 0. Since A(X) is irreducible, GCD(C(X),A(X) = 1. Hence, by the Extended6 Euclidean algorithm, there is S(X),T(X) Q[X]suchthat ∈ S(X)C(X)+T (X)A(X)=GCD(C(X),A(X)) = 1. (9)

B(α) Since A(α) = 0, we obtain S(α)C(α) = 1. Therefore, β = C(α) = B(α)S(α). This proves β Q[α]. 2. Next, Q[α] is∈ a over Q of d =deg(A). Note that the d elements d 1 1,α,...,α − (10) are linearly independent over Q. Otherwise, we would have constants ci’s (not d 1 i all0)suchthat − c α = 0. That means the degree of α is d 1, contrary i=0 i ≤ − to our choice ofPd. Morever, these d elements span Q[α] because if β = B(α) where B(X) Q[X], and if B(X) B0(X)modA(X)thenB(α)=B0(α). It follows that we∈ might as well view B≡(X) as a polynomial modulo A(X). Thus β = B(α) is a of the elements (10). 3. It follows that every element of Q(α) can be viewed as a polynomial B(X) modulo A(X). The addition, subtraction and multiplication of elements of Q[α] is just polynomial addition, subtraction and multiplication modulo A(X). The inverse of a nonzero polynomial C(X)modA(X) is obtained from the extended Euclidean algorithm, as the element S(X) in (9). Thus division of polynomials modulo A(X) is possible. The preceding picture of algebraic computation is fine if you are interested in a fixed field Q[α] and only interested in algebraic relations in this field. In many applications, there is no ´a priori field of interest. The actual field is simply determined by all the algebraic numbers you encounter in the course of solving some computational problem. In this case, the degree of α might be so huge as to make the entire computation infeasible. For instance, if your computation involves the algebraic numbers α1,...,αn, then you need α such that Q(α) contains each of α1,...,αn. This means deg(α) can be as large as n i=1 deg(αi). Q Example: suppose you want to compute the shortest path amidst a set of n polygonal obstacles which are specified with integer coordinates. The shortest paths are polygonal paths whose breakpoints are corners of the obstacles. Then the length ` of such paths are sums of square roots, ` = m √a where a N. i=1 i i ∈ Thus ` is an algebraic number whose degree can be asP high as 2m,wherem grows at least linearly with the number of obstacles. Computing the minimal polynomial of ` is not considered feasible. 9. Real Algebraic Computation § In this section, we review another standard approach to algebraic number computation.

c Mehlhorn/Yap Draft February 16, 2005

9. Real Algebraic Computation Lecture 11 Page 15 § The previous approach of computing within a number field Q(α) suffers from another restriction: we are not just interested in algebraic relations in Q(α), but in the metric1 or analytic properties of Q(α) when embedded in R. E.g., given x, y Q(α), we want to know if x y <ε. Such properties cannot be resolved by∈ manipulating polynomials modulo| − |A(X). Remarkably, it is possible to resolve such properties using purely algebraic methods, using the theory of Sturm sequences or its relatives. To capture metric properties, we would view √2, not as an element of Q(α), but as an element of R. As such, these elements can be approximated to any desired accuracy, √2=1.4142 ..., by other elements in Q(α). However, we cannot represent such numbers by any fixed precision approximation; we need representation of √2 that can yield more precision on demand.

9.1. Isolating interval representation § To capture metric properties of algebraic numbers, the most commonly used representation the following. A polynomial A(X) Z[X] is called a defining polynomial for α if A(α)=0.ArealintervalI is called∈ an isolating interval for α modulo A(X)if(1)α I, and for any other real zero β of A(X), we have β I. The pair (A(X),I) is∈ called an isolating interval representation for α.Wewrite6∈ α (A(X),I) to indicate this relationshop. If we need complex algebraic numbers,∼ we can represent it as a pair of real algebraic numbers. If I =[a, b], then we say that this representation has lg(b a) absolute 100 − − bits of precision. For instance, if b a =2− , then we have 100 absolute bits of precision. Typically a, b are rational− numbers, or binary floats. We may make the following normalization assumption: if A(a)A(b)=0, then α = a = b. In this case, the interval I =[a, b]=[a, a]issaidtobeexact and our representation has bits of precision. So suppose A(a)A(b) =0. It is easy to see that A(a)A∞(b) < 0. We assume that our representation6 (in the inexact case) stores one extra bit of information, so that we know whether A(a) > 0 >A(b)orA(a) < 0

Real Root Operators. How do we get initial isolating interval representa- tions? We assume that if a user needs a representation of a real algebraic number α, then the user has access to some definition polynomial A(X), and has some means of identifying a unique real zero of A(X) of interest. One way are to specify an integer i 1 and say that we are interested in the i-th largest real zero of A(X). We may≥ write RootOf(A(X),i) in this case. Another is to give a number (probably a rational or float) x and to say that we want to largest real root of A(X) that is larger than or equal to x.Wemay write RootOf(A(X),x) in this case. Note that RootOf(A(X),ι)(ι = i or ι = x) may be undefined. We call ι a “root indicator”. Other kinds of indicators may be defined. For instance if i 1, then we want the ( i)-th smallest real root, and if i =0,we want the smallest≤− positive root. Instead− of x, we can have an interval I and we want to have the unique root of A(X) inside I (there there are multiple roots, then RootOf(A(X),I) is undefined).

1By metric, we mean the properties of real numbers.

c Mehlhorn/Yap Draft February 16, 2005

9. Real Algebraic Computation Lecture 11 Page 16 § We now provide algorithms to construct isolating interval representations for RootOf(A(X),ι). This is quite easy using Sturm sequences. But first we need some simple bounds. We use the following simple bound of Cauchy. Recall that if A(X)= m a Xi Z[X] of degree m 1 then the height of A(X)is i=0 i ∈ ≥ ht(A) = max aPi :i=0,...,m . {| | } Lemma 14 (Cauchy) Let A(X) Z[X] and A(α)=0.Ifα =0then ∈ 6 1 < α < 1 + ht(A). 1 + ht(A) | |

Proof. First we prove the upper bound on α .Ifα < 2, the result is immediate. | | d | | d 1 i d Assume α 2. From A(α)=0,wehave α − a α ht(A)( α | |≥ | | ≤ i=0 | i|| | ≤ | | − 1)/( α 1). Hence α 1 < ht(A), as desired. P For| |− the lower bound,| |− note that 1/α is the root of the polynomial B(X)= XmA(1/X). Hence 1/α < 1 + ht(B). Since ht(B) = ht(A), we conclude that α > 1/(1 + ht(A)). | | Q.E.D. | | Let VarA(a) denote the number of sign variations of the Sturm sequence of A(X)atX = a, and also write VarA[a, b]forVarA(a) VarA(b). Then we can count the number of real roots of A(X)as −

N = Var [ 1 ht(A), 1 + ht(A)]. A − − Thus RootOf(A(X),i) is defined iff 1 i N. Further more, by a recursive subdivision of the initial interval [ 1 ≤ht(A)≤, 1 + ht(A)], we can isolate the ith largest root. Similarly, RootOf(A(−x),x−) is defined iff

VarA(x) > VarA(1 + ht(A)).

9.2. Isolating Interval Arithmetic § Suppose we want to perform the four arithmetic operations on algebraic numbers α, β. Let α (A(X),I)andβ (B(X),J). Say we want γ = α + β. So we must produce a∼ defining polynomial∼ C(X)forγ and an isolating interval K for γ modulo C(X). The polynomial C(X)canbetakentoberes (A(Y ),B(X Y )). To see Y − this, suppose α1,...,αm are all the complex roots of A(Y )andβ1,...,βn are all the complex roots of B(Y ). Then Poisson’s resultant formula [Yap, Theorem 6.15, p.158] gives

m n res (A(Y ),B(Y )) = res (a (Y α ),b (Y β )) Y Y − i − j iY=1 jY=1 m ( ) n =∗ a B(αi) iY=1 m n = anbm (α β ). i − j iY=1 jY=1

Note that equation (*) here amounts to evaluating B(X)ateachrootofA(X). Therefore,

m n res (A(Y ),B(X Y )) = res (a (Y α ),b (X Y β )) Y − Y − i − − j Yi=1 jY=1

c Mehlhorn/Yap Draft February 16, 2005

9. Real Algebraic Computation Lecture 11 Page 17 § m n =(1)mnanbm (α (X β )) − i − − j iY=1 jY=1 m n = anbm (X (α + β )). − i j iY=1 jY=1

Hence this resultant is a defining polynomial for γ = α + β as claimed. Next, we can let K = I + J. In order for K to be an isolating interval for γ,wecan again use Sturm sequences to check that γ is the unique root in this interval. If now, we can subdivide the interval I and J, and repeated this check for K. Eventually, we will succeed. We can generalize the above resultant construction to other arithmetic op- erations.

Lemma 15 Suppose A(X),B(X) are defining polynomials for α, β and β =0. 6 Let the conjugates of α be αi’s and the conjugates of β be βj’s (all non-zero). Then the defining polynomials for α β, αβ and α/β are given by the following resultants. ±

α β : res (A(Y ),B(X Y )) = anbm (X (α β ) ± Y ∓ − i ± j Yi,j αβ : res (A(Y ),YnB(X/Y )) = anbm (X (α β ) Y − i j Yi,j α/β : res (A(Y ),XnB(Y/X)) = anbm (X (α /β ) Y − i j Yi,j

Proof. Q.E.D. To get the expression for α/β,weusethefactthatβ is a root of B(X)iff 1/β is a root of XnB(1/X). We leave as exercise to obtain a resultant which is the defining polynomial for α/β.

Comparing Isolating Interval Representations. We have one more im- portant operation: how to compare two algebraic numbers α (A, I)and β (B,J). If I J = then we can decide this immediately. If α∼= β,wecan refine∼ I and J until∩ I ∅ J = . But what if α = β? This process will6 not stop. The following method∩ is described∅ in [Yap, 7.3.2]. First suppose that we may assume that I §= J. To see this reduction, consider K = I J.Wecancheckifα K and β K. If they are not BOTH in K, then we∩ can easily determine which∈ is larger.∈ If they are both in K,thenwe replace both I and J by K. Suppose that I = J =[a, b]. We can assume that A(X)andB(X) are both square-free. We can compute the “generalized Sturm sequence” for A and B. Let VarA,B(a) denote the number of sign variations of this sequence when evaluation at a,andVarA,B[a, b]=VarA,B(a) VarA,B(b). Then α β if and only if − ≥ Var [a, b] (A(b) A(a)) (B(b) B(a)) 0. A,B · − · − ≥ See [Yap, 7.3.2]. Another way to do this comparison is to use the concept of root separation§ bound, as we see net.

Other representations. A representation of algebraic numbers based on the Thom’s lemma has been proposed in recent years. See [Yap, Chap.7]. This method has some attractiveness because of its compactness. Algorithms for

c Mehlhorn/Yap Draft February 16, 2005

9. Real Algebraic Computation Lecture 11 Page 18 § comparing any two algebraic numbers in this representation is available. How- ever, it does not appear as convenient as numerical or interval-based represen- tations.

References

[1] S. S. Abhyankar. for Scientists and Engineers.Americal Mathematical Society, Providence, Rhode Island, 1990. [2] C. K. Yap. Fundamental Problems of Algorithmic Algebra. Oxford University Press, 2000.

c Mehlhorn/Yap Draft February 16, 2005