algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · e. fortuna...

22
Journal of Symbolic Computation 36 (2003) 343–364 www.elsevier.com/locate/jsc Algorithms to compute the topology of orientable real algebraic surfaces E. Fortuna , P. Gianni, P. Parenti, C. Traverso Dipartimento di Matematica, Universit` a di Pisa, via Buonarroti 2, I-56127 Pisa, Italy Received 30 October 2002; accepted 7 March 2003 Abstract We present constructive algorithms to determine the topological type of a non-singular orientable real algebraic projective surface S in the real projective space, starting from a polynomial equation with rational coefficients for S. We address this question when there exists a line in RP 3 not intersecting the surface, which is a decidable problem; in the case of quartic surfaces, when this condition is always fulfilled, we give a procedure to find a line disjoint from the surface. Our algorithm computes the homology of the various connected components of the surface in a finite number of steps, using as a basic tool Morse theory. The entire procedure has been implemented in Axiom. © 2003 Elsevier Ltd. All rights reserved. 1. Introduction In this paper we present constructive algorithms to determine the topological type of a non-singular orientable real algebraic projective surface S in the real projective space starting from an equation for it. By the classification theorem for surfaces, we know that any compact connected orientable surface is homeomorphic to a sphere or to the connected sum of g tori, i.e. to a sphere or to a torus with g holes. Therefore we can determine the topology of S by computing the number of its connected components and, for each of them, the number g of holes. Since the first homology group H 1 of a torus with g holes is a free Abelian group of rank 2g, a way to determine the topological type of S is that of computing the group H 1 for each of its connected components. We address the mentioned question when there exists a line in RP 3 not intersecting the surface S. In Section 7 we will see that the existence of such a line is a decidable problem; Corresponding author. E-mail addresses: [email protected] (E. Fortuna), [email protected] (P. Gianni), [email protected] (P. Parenti), [email protected] (C. Traverso). 0014-5793/03/$ - see front matter © 2003 Elsevier Ltd. All rights reserved. doi:10.1016/S0747-7171(03)00085-3

Upload: others

Post on 05-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

Journal of Symbolic Computation 36 (2003) 343–364

www.elsevier.com/locate/jsc

Algorithms to compute the topology of orientablereal algebraic surfaces

E. Fortuna∗, P. Gianni, P. Parenti, C. Traverso

Dipartimento di Matematica, Universit`a di Pisa, via Buonarroti 2, I-56127 Pisa, Italy

Received 30 October 2002; accepted 7 March 2003

Abstract

Wepresent constructive algorithms to determine the topological type of a non-singular orientablereal algebraic projective surfaceS in the real projective space, starting from a polynomial equationwith rational coefficients forS. We address this question when there exists a line inRP3 notintersecting the surface, which is a decidable problem; in the case of quartic surfaces, when thiscondition is always fulfilled, we give a procedure to find a line disjoint from the surface. Ouralgorithm computes the homology of the various connected components of the surface in a finitenumber of steps, using as a basic tool Morse theory. The entire procedure has been implemented inAxiom. © 2003 Elsevier Ltd. All rights reserved.

1. Introduction

In this paper we present constructive algorithms to determine the topological type ofa non-singular orientable real algebraic projective surfaceS in the real projective spacestarting from an equation for it. By the classification theorem for surfaces, we know thatany compact connected orientable surface is homeomorphic to a sphere or to the connectedsum ofg tori, i.e. to asphere or to a torus withg holes. Therefore we can determine thetopology of S by computing the number of its connected components and, for each ofthem, thenumberg of holes. Since the first homology groupH1 of a torus withg holesis a free Abelian group of rank 2g, away to determine the topological type ofS is that ofcomputing the groupH1 for each of its connected components.

We address the mentioned question when there exists a line inRP3 not intersecting thesurfaceS. In Section 7we will see that the existence of such a line is a decidable problem;

∗ Corresponding author.E-mail addresses:[email protected] (E. Fortuna), [email protected] (P. Gianni), [email protected]

(P. Parenti), [email protected] (C. Traverso).

0014-5793/03/$ - see front matter © 2003 Elsevier Ltd. All rights reserved.doi:10.1016/S0747-7171(03)00085-3

Page 2: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

344 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

we will also show that for quartic surfaces a disjoint line always exists and give a procedureto find it.

Our algorithm, starting from a polynomial equation with rational coefficients of asurface, returns as output a list of as many integers as the connected components ofS,where the integers represent the ranks of the groupsH1 relative to the various connectedcomponents. Our strategy will consist in reconstructing in a finite number of steps thehomology of S using as a basic tool Morse theory (see for instanceMilnor (1963) orHirsch(1976)), as first proposed inGianni and Traverso(1983). The basic step, to be usediteratively, is described inSection 4, while the main algorithm is presented inSection 5.

We havedeveloped algorithms for performing all the tasks and we have produced aworking implementation in Axiom of the entire procedure. To do this we assume that thegiven system of coordinates is a “good frame”, in the sense defined inSection 2, which isalways true up to a linear change of coordinates. InSection 6we will describe algorithmsto test whether the hypotheses both on the surface and on the system of coordinates arefulfilled or not. In this paper we do not deal with the complexity aspects of our algorithms.

For a proof of the classical results about surfaces, homotopy and homology alreadyrecalled and of those we will use throughout the paper, we refer toMassey(1977) or toMassey(1991).

2. First definitions and notations

Let φ(x, y, z, t) be a square-free homogeneous polynomial of degreed with rationalcoefficients defining a non-singular orientablereal algebraic projective surface; since thesurface is orientable,d has to be even. By an abuse of language, by the same term “surface”we will indicate also the setSof the points inRP3 satisfying the equationφ(x, y, z, t) = 0.

Let us emphasize that, when we say that the surfaceS is non-singular, we mean that nopoint inRP3 annihilatesφ and all its first partial derivatives. Note that, sinceScan be seenas the real part of the complex zero-setSC of φ in CP3, according to our assumptionsSCmay contain non-real singular points.

Recall that, if f : S → R is a differentiable function defined on a smooth surface, apoint P ∈ S is said to becritical for f if, working in local coordinatesu1,u2, both firstpartial derivatives off vanish atP; then f (P) is said to be a critical value.P is said to benon-degenerateif the Hessian form off at P is a non-degenerate quadratic form, i.e. the2 × 2 matrix HP = (∂2 f/∂ui ∂u j )(P) is invertible; the number of negative eigenvalues ofHP is called theindexof the critical pointP. If all critical points of f are non-degenerate,f is called aMorse function.

In this paper we will describe an algorithm to study the topology ofS= {φ(x, y, z, t) =0} assuming that there exists a lineL ⊂ RP3 suchthat L ∩ S = ∅ and that in our systemof homogeneous coordinates[x, y, z, t] we have

(1) L = {z = 0, t = 0}(2) If Z = {x = 0, y = 0}, the functionπ : S → Z ∼= RP1, restriction to S of the

projectionp : RP3\L → Z of RP3 onto Z with centreL, is a Morse function and[0,0,1,0] is not a critical value forπ

(3) WheneverP, Q ∈ Sare critical points forπ , we haveπ(P) �= π(Q).

Page 3: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345

As a first stepour algorithm checks that all these requirements are satisfied in the givensystem ofcoordinates; inSection 6we will describe the strategy used to check thatS isnon-singular, to compute the critical points and to test that all of them are non-degenerate.Observe that, up to a generic linear change of coordinates, one can assume thatπ is aMorse function (see for instanceBasu etal., 2003) and thatthe assumption (3) is fulfilled.Thus the only essential hypothesis is the existence of a line disjoint from the surface.

Let us denote byH∞ the plane{t = 0} and byU the open setRP3\H∞, which canbe identified with R3 by means of the map[x, y, z, t] → ( x

t ,yt ,

zt ). Then F(x, y, z) =

φ(x, y, z,1) = 0 is an equation of the affine partS∩ U of S. Let us identify the lineZwith R ∪ {∞} associating to any point[0,0, z, t] of Z the “affine coordinate”z/t if t �= 0and∞ if t = 0. Since in the affine chartU we have thatπ(x, y, z) = z, it is possibleto check, using local coordinates, that the critical points ofπ in U are the points wherethe first partial derivatives ofF with respect tox and y vanish, that is the points wherethe tangent plane toS has an equationz = h for a suitable constanth; by our hypothesessuch a plane is tangent toS only in one point and here it has a contact of order 2 withthe surface. Recall thatπ can have only a finite number of critical values (for a proof, seeMilnor, 1968, Corollary 2.8); since by hypothesis∞ is not critical, there exists an interval(−N, N) ⊂ R containing all the critical values, withN ∈ Q. If π has no critical value atall, conventionally we fixN = 1.

z

For alla ∈ (−N, N] we will denoteSa = π−1([−N,a]) = S∩ p−1([−N,a]) and, foranya ∈ R∪{∞}, Ca will denote thelevel curveπ−1(a) = S∩ p−1(a). With this notation,the level surfaceSa is a surface with boundaryC−N ∪ Ca. Since inU the planep−1(a) isgiven by the equationz = a, thenF(x, y,a) = 0 is an equation for the curveCa. If a is anon-critical value forπ , the curveCa is non-singular.

For our algorithm we will need to investigate a finite number of non-singular levelcurves and in particular to compute the mutual disposition of their connected components.Recall (see for instanceViro, 1986or Wilson, 1978) that any connected componentX of anon-singular real algebraic curveC in the real projective planeis homeomorphic to a circleand can be embedded inRP2 in two different ways: it can disconnect or not the projectiveplane. In the first caseX is called an oval and it disconnectsRP2 into two connectedcomponents: one is homeomorphic to a disc and is called theinterior part of the oval, theother is homeomorphic to a M¨obius band and is called theexterior part of X. An oval issaid to be empty if no other oval is contained in its interior part. A list[X1, . . . , Xk] ofovals of acurveC is called anestof depthk if X1 is empty,Xi is contained in the interior

Page 4: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

346 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

part of Xi+1 for all i = 1, . . . , k − 1 andXk is not contained in the interior part of anyoval of the curve. If X does not disconnectRP2, it is called a one-sided component or apseudo-line. As is well known, a non-singular real algebraic curve can contain at most onepseudo-line and this occurs if and only if the degree of the curve is odd. In our situationany level curve has an even degree; thus all its connected components are ovals and theshape of thecurve is completely determined when the set of its nests is known.

3. Our strategy

As explained in the introduction, we want to determine algorithmically the topology ofSby computing the number of its connected components and, for each component, the firsthomology group with rational coefficients; for that, we will use a Morse-type investigationof the projectionπ introduced in the previous section andgiven in the affine chartU byπ(x, y, z) = z.

From Morse theory let us recall that if[a,b] contains no critical value forπ , thenSb ishomotopically equivalent toSa; instead, if[a,b] contains exactly one critical valuec for π ,with a < c < b, andk is the index of the relative non-degenerate critical point, thenSb ishomotopically equivalent to the space obtained attaching ak-cell to Sa. This information iscrucial for us, because homotopically equivalent spaces have the same homology groups.

Even if we know the critical points and the relative indexes, that is not sufficient todetermine the shape of the surface. For instance, both surfaces in the figure

have six critical points with the same sequence of indexes (0, 0, 1, 1, 2, 2) and, still, theydo not even have the same number of connected components. It is therefore necessary toenrich the list of data that will allow us to reconstruct algorithmically the homology of thesurfaceS.

Definition 3.1. For any non-critical valuea for π , a data system DS(Sa) for the surfaceSa consists of

1. a list Data(Ca) = [(P1,n1), . . . , (Pk,nk)], wheren1, . . . ,nk are the nests of thecurveCa andPi is a point internal to all the ovals of thenestni ;

2. a list Hom(Sa) of integers, where the length of the list is the number of connectedcomponents ofSa and thekth element of the list represents the rank of the groupH1relative to thekth connected component;

3. a functionµa : H0(Ca) → H0(Sa) that associates to each ovalω of the curveCa theconnected component ofSa that containsω in its boundary.

Page 5: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 347

If ω1, . . . , ωr are the ovals ofCa, we will identify the oval ωi by means of the indexi ; in particular a nest[ωi1, . . . , ωik ] will be represented by[i1, . . . , i k]. Similarly ifW1, . . . ,Wp are the connected components ofSa, then the functionµa can be seen asa map{1, . . . , r } → {1, . . . , p} which in general is neither injective nor surjective.

In Section 4we will see that it is possible to compute a data system forSb from a datasystem forSa for any interval[a,b] containing at most one critical value. After subdividing[−N, N] by means of finitely many pointsa0 = −N < a1 < · · · < am < am+1 = N, insuch a way that any subinterval[ai ,ai+1] contains exactly one critical value in its interiorpart, our algorithm will iteratively reconstruct the data systems for all theSai ’s and thuseventually the homology groups ofS. The main algorithm will be described in detail inSection 5.

From the definition of “data system” and the strategy outlined above, it should be clearthat our algorithm requires two main steps of investigation: first, we need to study the shapeof the level curvesCai ; second, we have to lift the needed information from one levelai tothe higher levelai+1.

As for the first task, for each level curveCai we have to determine the set of itsovals and their mutual disposition, i.e. the list of its nests. The algorithm we used to dothis follows the ideas presented inGianni and Traverso(1983) andCellini et al. (1991),although other solutions have been given by other authors (see e.g.Arnon and McCallum,1988; Cucker et al., 1991; Roy, 1990; Arnborg and Feng, 1988; Winkler, 2000). Whateveralgorithm is used to determine the shape of a plane curve, it needs to be augmented by twospecial functions:findOvalsandfindPoint.

Before describing these functions, we observe that, sinceS∩ L = ∅, all our level curvesCa are contained in the affine planep−1(a) and we can consider on them the projectionπa : Ca → R given byπa(x, y) = x. Also in thiscase, up to a linear change of coordinates,we can assume thatπa is a Morse function and that, for any critical pointsP, Q ∈ Ca, wehave thatπa(P) �= πa(Q).

The functionfindOvals, givena point P ∈ RP2 and a level curve C, returns thelistof ovals of C containingP ordered by inclusion starting from the innermost oval. Asobserved above, in our situation all the level curves do not meet the line at infinity; thuswe can assume that bothP andC are contained inR2. Let P = (xP, yP) and denoteby x1, . . . , xm the critical values ofπ : C → R, π(x, y) = x. Our curve algorithmrecognizes the ovals ofC passing through the points in the fibresπ−1(xi ) and computesthe index of the unique critical point in any critical fibre. Using these data, it is an easymatter to reconstruct the fibreπ−1(xP), recognizing the different ovals passing throughits points. Thus we get two listsL1 = [l1, . . . , ls], L2 = [ls+1, . . . , l t ] representing thelabels (possibly with multiplicity, ifxP = xi for somei ) of the ovals passing throughthepoints inπ−1(xP) respectively belowP and aboveP (following the positive directionalong they axis). Observe that any oval meets any line an even number of times and thatP is internal to an oval labelledk if andonly if the labelk appears an odd number of timesin the list L1 (and consequently an odd number of times also inL2). Using this easy butcrucial observation, it is easy to compute from the listsL1 andL2 the ordered list of theovals containingP.

The second function, calledfindPoint, given an ovalω of C, returns a point lyinginside ω, more precisely a pointQ such that ω is the first oval of the sequence

Page 6: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

348 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

findOvals(Q). A way to do this is to compute the pointP = (xP, yP) having the smallestxP-coordinate among the critical points onω of index 1. Then consider the non-empty setA = {(x, yP) ∈ C | x > xP} and letR = (xR, yP) be the point inA having the smallestfirst coordinate. The pointQ = ((xP + xR)/2, yP) is a point with the requested property.

As we said, the second step we have to perform is to lift the information from onelevel to thenext. Consider for instance the quite simple situation in which a level curveCa consists of only two ovalsω1 andω2 external each to the other and therefore the listData(Ca) contains only two elements(P1, [ω1]), (P2, [ω2]). If [a,b] contains no criticalvalue, necessarily the curveCb contains only two ovals mutually external, sayω′

1 andω′2,

andSb is given by theunion of Sa and two cylinders “connecting” the ovalsω1, ω2 withthe ovalsω′

1, ω′2. It is however necessary to know whether the cylinder containingω1 in its

boundary has as its other boundary componentω′1 or ω′

2. It is possible to detect this, forinstance, by means of a continuous path never intersecting the surfaceS and connectingthepoint P1 with a point Q1 in the planep−1(b). NecessarilyQ1 is internal either toω′

1or toω′

2: this can be decided by using the functionfindOvalsand thus we can reconstructalgorithmically the listData(Cb) and the functionµb.

If we denote byW the connected component of(U\S) ∩ {a ≤ z ≤ b} that contains thepoint P1, thepossibility of reaching a pointQ1 ∈ W ∩ p−1(b) by means of a connectingpath lying in W is guaranteed by the existence ofroadmaps. According to the standarddefinition, a roadmap for our connected componentW is a 1-dimensional connectedsemialgebraic setR ⊆ W which intersects any connected component ofW∩ p−1(c) for allc ∈ [a,b]. In our case the situation is quite simple because, since[a,b] contains no criticalvalue, for anyc ∈ [a,b] the setW ∩ p−1(c) is connected, henceR has only to intersectWat any levelc. In our procedure we will also use connecting paths in the opposite direction,i.e. to go from an upper level towards a lower level. Precisely we will use the following

Notation 3.2. Let P be a point in the planep−1(a). Given b > a, let α : [0,1] →{a ≤ z ≤ b} be a continuous semialgebraic path such thatα(0) = P, α(1) ∈ p−1(b)andα([0,1]) ∩ S = ∅. We will denote byroadMap(P,b) the final pointα(1) of the pathα. Similarly, if b < a, we will denote by invRoadMap(P,b) the final point β(1) of acontinuous semialgebraic pathβ : [0,1] → {b ≤ z ≤ a} fulfilling the same conditions asα here above.

The notion of the roadmap was first introduced inCanny(1988) in relation with theproblem of deciding connectivity of semialgebraic sets. Since then, many authors haveaddressed the question and given alternative algorithms for computing roadmaps (see forinstanceHeintz et al., 1994; Gournay and Risler, 1993; Basu etal., 2000). Since all ofthese algorithms are equally applicable, we do not think it is necessary to describe in detailtheone we used.

4. Iterative step

In this section, given an interval[a,b] containing at most one critical value forπ , withbotha andb non-critical forπ , and assuming toknow a data system forSa, we will see howit is possible to reconstruct a data system forSb, that is the lists Data(Cb) andHom(Sb)

Page 7: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 349

and the functionµb. As a firststep we study the shape of the level curveCb and thus wedetermine the list of its nests.

Let us first examine the case when[a,b] contains no critical value; in this caseSa

is a deformation retract ofSb, so the number of connected components and the relativehomology groups do not change, i.e.Hom(Sb) = Hom(Sa). To complete the computationof a data systemDS(Sb) it is sufficient to compute a finitenumber of roadmaps. Namely,for each(Pi ,ni ) ∈ Data(Ca) let Qi = roadMap(Pi ,b); the point Qi is internal to allthe ovals of a nestmi of Cb that we can find by means of the functionfindOvals. Wehave thus determined(Qi ,mi ) as an element of the listData(Cb). Thenestsni andmi

contain the same number of ovals and evidently thekth oval ofmi belongs to the boundaryof the connected component ofSb whose retraction inSa has in its boundary thekthoval of ni . It is so possible to reconstruct the value of the functionµb on the ovals inthe nestmi . After repeating the same procedure for all(Pi ,ni ) ∈ Data(Ca), we havecompletely reconstructedData(Cb) andµb; we have so computed the data systemDS(Sb)

from DS(Sa) by means of a “data lifting process” based on roadmaps.Let us now see how we can modify the previous procedure of reconstruction ofDS(Sb)

when [a,b] contains one single critical valuec, wherea < c < b andc = π(P) withP non-degenerate critical point. IfP = (x0, y0, z0) it will be useful to consider the twopointsP+ = (x0, y0, z0 + ε) andP− = (x0, y0, z0 − ε) with ε > 0 sufficiently small sothat the segment joiningP+ and P− does not contain any point of the surface exceptP.The idea, at least when the index of the critical point is 0 or 2, is that of modifyingDS(Sa)

constructing a fictitious data systemDS(Sa) so thatDS(Sb) can be reconstructed fromDS(Sa) as in the case when[a,b] contains no critical value. We can have three differentcases depending on the index ofP.

Case 1. P has index 0:

~~

(where≈ means “homotopically equivalent”). In this caseSb has an additional connectedcomponent with respect toSa and Sb is homeomorphic to the disjoint union ofSa anda discD. Thus, in order to obtainHom(Sb) it is enough to add to the listHom(Sa) theinteger 0 corresponding to the first homology group of the disc. To computeDS(Sb) it willbenecessary to detect the position ofD with respect to the cylinders ofSb\(Sa ∪ D) andof its boundaryω with respect to the ovals ofCb\ω. For that, we can construct the pointPa = invRoadMap(P−,a) and determine, by using the functionfindOvals, theposition ofPa with respect to the ovals ofCa.

(i) If Pa is external to all the ovals ofCa, then the discD is external to all the tubes ofSb\(Sa ∪ D) andCb containsω as an additional nest of depth 1 with respect toCa.Then we add to the listData(Ca) a fictitious pair(P+,n+) wheren+ represents anoval (nest of depth 1) containingP+.

(ii) If Pa is internal to all the ovals of a nestni of Ca, then the discD is internal to a“nest” of tubes ofSb\(Sa ∪ D) andCb has the same number of nests asCa, butone

Page 8: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

350 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

of them has a depth increased by 1. We modifyData(Ca) replacing the pair(Pi ,ni )

by the pair(P+,n+i ), wheren+

i is obtained from the nestni by adding, in the firstposition, a further label representing a fictitious innermost oval.

(iii) If Pa is not external toCa but it not internal to all the ovals of any nest ofCa, thenthe discD is internal to some tube inSb\(Sa ∪ D) and its boundaryω gives originto a new nest inCb, in whichω is the innermost oval. In this case we add to the listData(Ca) a fictitious pair(P+,n+) wheren+ represents the nest obtained adding,in the first position, anadditional label (i.e. a new oval) to the sequence of ovalsdetermined byfindOvals(Pa).

After having so constructed the data systemDS(Sa) modifying in a suitable wayDS(Sa), we complete the reconstruction ofDS(Sb) by means of roadmaps as in the casewith no critical value.

Case 2. P has index 2:

~~

In this case we obtainSb from Sa by attaching a 2-cellD along an ovalω of Ca

which was the innermost oval of a nest. It is possible to recognize such an oval: ifPa = invRoadMap(P−,a) andω is the innermost of the ovals containingPa, determinedby the functionfindOvals(Pa), thenω is the oval that disappears. Sinceω is the first ovalof a nest (possibly of depth 1), it appears inData(Ca) only in one pair(Pi ,ni ) we haveto modify as follows. If the depth of the nestni is 1, we remove the pair(Pi ,ni ) fromData(Ca). If the depth of the nestni is> 1, we remove fromni the ovalω and we chooseP+ as the innermost point of the new fictitious nest, except that, if removingω from ni wefind a list of ovals which are part of another nest, then we again remove the pair(Pi ,ni )

from Data(Ca). At thispoint, as before, starting from the fictitious data systemDS(Sa) soconstructed, we reconstructData(Cb) andµb by means of roadmaps.

As for Hom(Sb), sinceSb has the same number of connected components asSa, thelistHom(Sb) contains as many elements asHom(Sa). If Wω denotes the connected componentof Sa in whose boundaryω lies (and that we can recognize by means ofµa), the onlynumber in the list of integersHom(Sa) that can change is the one relative to the componentWω and the way such a number can change or not depends on the position of the ovalω along which the 2-cellD is attached. Let us denote byν : H0(Ca) → H1(Sa) thehomomorphism obtained by seeing any oval ofCa as a loop inSa and byWω the connectedcomponent ofSb obtained attachingD to Wω. Then it is easy to see that

(i) if ν(ω) = 0, thenH1(Wω) ∼= H1(Wω)

(ii) if ν(ω) �= 0, thenH1(Wω) ∼= H1(Wω)/(ν(ω)).

This can be rigorously proved using the Mayer–Vietoris sequence. Intuitively this resultis due to the fact that attaching a 2-cell alongω does not alterH1(Wω) if ω alreadywas homologically zero inH1(Sa); otherwise, ifω becomes homologically zero only

Page 9: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 351

because one can retract it to the constant loop along the 2-cell, then a generator ofH1(Wω)

disappears and thus the rank of that group decreases by 1.Observe thatν(ω) = 0 if andonly if ω is the only boundary component ofWω, which

can be recognized using the functionµa; thus it is possible to decide whether we are incase (i) or (ii).

Case 3. P has index 1:

~~

~~

In this caseSb is obtained fromSa by attaching a 1-cell to two ovalsω1 andω2 possiblycoincident. Ifω1 �= ω2, then the two ovalsω1 andω2 are glued by the 1-cell and they giveorigin in Cb to a single oval, sayω. If on thecontraryω1 = ω2, then in the passage throughthe critical valuec, the ovalω1 = ω2 gives origin to two distinct ovals inCb. It is possibleto realize which is the situation simply computing the number of ovals of the level curvesCa andCb: if Cb has fewer ovals thanCa, thenω1 �= ω2; if Cb has more ovals thanCa,thenω1 = ω2.

Let us start to consider the caseω1 �= ω2. As a firststep, it is possible to detect the ovalω in Cb originated by the glueing ofω1 andω2. Namely, if Q = roadMap(P+,b), thenωis the first oval in the listOv(Q) = findOvals(Q). It is possible thatOv(Q) is not a nestin Cb; preciselyOv(Q) is a nest inCb if and only if bothω1 andω2 contained no ovalsin their interior parts. In this case the number of nests ofCb decreases by 1 with respect tothenumber of nests ofCa, a situation which however occursalso when only one of the twoovals, say for instanceω1, is empty(but thenOv(Q) is not a nest inCb). When neitherω1norω2 are empty, thenCb has as many nests asCa but, again, Ov(Q) is not a nest inCb.We can therefore reconstruct algorithmicallyData(Cb) proceeding as follows:

1. Study the curveCb and computeQ, Ov(Q) andω.2. CompareOv(Q) with the nests ofCb: if Ov(Q) is one of the nests ofCb, insert the

pair (Q,Ov(Q)) in the listData(Cb); otherwise leaveData(Cb) temporarily empty.3. For each(Pi ,ni ) in Data(Ca), compute the pointQi = roadMap(Pi ,b) and

mi = findOvals(Qi ). If mi �= Ov(Q), add(Qi ,mi ) to Data(Cb), otherwisediscardthe pair(Qi ,mi ).

It is now also clear how we can reconstructµb: for the ovals ofCb belonging to a nestndifferent fromOv(Q), since such a nest has been reconstructed by means of a roadmap, it ispossible to reconstruct the value ofµb on the ovals ofn as in the case when[a,b] containsnocritical value. Thus at most we have still to deal with the ovals inOv(Q). The innermost

Page 10: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

352 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

of them isω, which is therefore in the boundary both of the connected componentµa(ω1)

and of the connected componentµa(ω2): notice that, whenµa(ω1) �= µa(ω2), we are inthe situation in whichω1 andω2 lie in different connected components ofSa that are gluedby the attachment of the 1-cell. Such an attachment and the consequent relation that, whenpassing through the critical valuec, identifies the componentsµa(ω1) andµa(ω2), mustbe taken into account in the process of labelling the components ofSb and in the definitionof µb.

Let us now see how we can reconstructData(Cb) andµb whenω1 = ω2. In this casefor each(Pi ,ni ) in Data(Ca), computeQi = roadMap(Pi ,b) andmi = findOvals(Qi ),and insert(Qi ,mi ) in the list Data(Cb). It is possible that there exists an oval inCb thatdoes not appear in the list of nests ofData(Cb) so constructed; that happens if and onlyif the ovalω1 = ω2 splits into two distinct ovals ofCb, sayω′

1 andω′2, and all the points

Qi obtained starting from pointsPi in ω1 = ω2 lie inside the same oval, say for instanceω′

2. In thiscase we compute, using the functionfindPoint, apoint Q′1 internal to the empty

ovalω′1 and we add the pair(Q′

1, findOvals(Q′1)) to the listData(Cb). Moreover,as usual,

taking into account the roadmaps already computed, we can reconstruct the value ofµb

on all the ovals ofCb; theonly possible oval not obtained in this way isω′1, for which we

already know thatµb(ω′1) = µa(ω1).

Recall that any compact surfaceM with a non-empty boundary is homotopicallyequivalent to an “n-leafed rose”, i.e. a union ofn circles with a single point in common;the firsthomology group of such a space has rankn, so this determines the rank of thegroup H1 of the surfaceM. This observation can be useful for reconstructingHom(Sb):if µa(ω1) = µa(ω2) (which in particular occurs whenω1 = ω2), the attachment ofthe 1-cell can be seen as attaching a further leaf to the rose homotopically equivalentto Sµa(ω1). Hence in this case the rank of the groupH1 of this component increasesby 1. If µa(ω1) �= µa(ω2), the 1-cell connects two different components into a newone homotopically equivalent to a rose having as many leaves as the sum of the ranksof H1(Sµa(ω1)) and ofH1(Sµa(ω2)).

5. The surface algorithm

Assume that all the requirements on the surface have been positively tested and that thecritical points have been computed; how to dothat will be examined inSection 6.

Let us start to describe the way our algorithm works when the surfaceS does notintersect the plane at infinityH∞, i.e. whenS is contained in the affine chartU andS= SN .

Subdivide[−N, N] = [−N,a1]∪[a1,a2]∪· · ·∪[am, N] choosing finitely many rationalnumbersai in such a way that eachai is non-critical forπ and each interval[ai ,ai+1]contains only one critical value in its interior part. The level curveC−N is empty; so weinitialize the listsData(C−N ) andHom(S−N ) as empty lists. After calling a finite numberof times the algorithmic step described in the previous section, eventually the listHom(SN)

gives the first homology groups of the connected components ofSwewere looking for.When C∞ = S ∩ H∞ is not empty,SN is a dif ferentiable surface with boundary

C−N ∪ CN and S′ = S\SN is diffeomorphic to CN × [0,1], i.e. to the disjoint unionof a finite number of cylinders. If we denote byS the topological surface obtained

Page 11: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 353

attaching a 2-cell to each oval of the boundary ofSN , then S is compact inU andS can be seen topologically as the surface obtained attaching toS the handles of S′along the ovals of the boundary ofSN . We will see that, in order to compute thehomology of S, essentially we have only to compute the homology ofS and a finitenumber of roadmaps.

Notice that the surfaceS is not algebraic, or at least we donot have an equation forit; however,if we denote Sa = S ∩ p−1((−∞,a]), we know that S ∩ p−1(−N) =S ∩ p−1(−N) = C−N and therefore, studying the non-empty curveC−N , we can ini-tialize the listData(C−N). By constructionS−N is a disjoint union ofk discs, wherek isthe number of ovals inC−N ; so we initialize Hom(S−N) as the list consisting ofk copies ofthe integer 0. Now, proceeding as in the compact case and sinceS∩ p−1([−N, N]) = S∩p−1([−N, N]), wecan reconstructDS(SN ). Note that,if [−N, N] contains no critical val-ues, the computation ofDS(SN ) is particularly simple and, asseen before, it requires onlya finite number of roadmaps. SinceS is obtained fromSN attaching a 2-cell along the ovalsof CN , thelist Hom(S) can be obtained fromHom(SN) as described inCase 2of Section 4.

As already said,S can be obtained fromS attaching a finite number of cylinders. Theway in which the homology groups vary depends onthe way each cylinder is attached. If itis attached to one single connected component ofS as a handle, then the groupH1 of thatcomponent increases its rank by 2; if its attachment connects two distinct components ofS (and in other words we obtain the connected sum of those components), then the groupH1 of the unified component has a rank equal to the sum of the ranks of the connectedcomponents that have been linked.

Thus the only matter we have to deal with is to recognize the components ofS thatany cylinder ofS′ connects, which can be detected by means of roadmaps. Any suchcylinder intersect the planeH∞, but the previous problem can be dealt with, working innon-homogeneous coordinates and so using the functionroadMap, in the affine chart ofRP3 given byRP3\{[x, y, z, t] | z = 0}.Example 1. ConsiderF(x, y, z) = z4 + (2y2 + 2x2 − 10)z2 + y4 + (2x2 + 6)y2 + x4

− 10x2 + 9 and let us show how our algorithm recognizes it defines a torus.First of all we find four critical values:−3,−1,1,3. The interval[−5,5] containing all

the critical values is subdivided as[−5,−2] ∪ [−2,0] ∪ [0,2] ∪ [2,5]. The curveC−5 isempty (hence the surface does not meet the plane at infinity), soData(C−5) andHom(S−5)

are empty lists.

Step 1 (Reconstruction ofDS(S−2)). The curveC−2 has only one oval and the criticalpoint corresponding to the value−3 is P = (0,0,−3) which has index 0. FollowingCase 1of Section 4, we modify Data(C−5) into the fictitious list[P+, [1]] with P+ =(0,0,−3+ε) and computeroadMap(P+,−2) = (0,0,−2). Sinceit is internal to the nest[1] of C−2, we setData(C−2) = [(0,0,−2), [1]],µ−2(1) = 1 andHom(S−2) = [0].Step 2. The interval[−2,0] contains the only critical pointP = (0,0,−1) which hasindex 1. The curveC0 has two ovals labelled 1 and 2, so we realize that the only oval inC−2 splits into two ovals at level 0. If we computeroadMap((0,0,−2),0), we geta pointQ1 = (x0,0,0) lying in the oval 1 ofC0; using the functionfindPointwe find apoint

Page 12: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

354 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

Q2 in the oval 2, so thatData(C0) = [(Q1, [1]), (Q2, [2])], µ0(1) = µ0(2) = 1 andHom(S0) = [1].Step 3. The interval[0,2] contains the critical pointP = (0,0,1) which has index 1.The curveC2 has one oval labelled 1 so, again according toCase 3in Section 4, we geta point R in the oval 1 ofC2 and we reconstructData(C2) = [(R, [1])], µ2(1) = 1 andHom(S2) = [2].Step 4. The interval[2,5] contains the critical pointP = (0,0,3) which has index 2; so a2-cell is attached along the only ovalω of C2. Sinceν(ω) = 0, we get thatHom(S5) = [2].So the finaloutput says that the surface is connected and that the rank of its groupH1 is 2,so it is a toruswith onehole.

Example 2. ConsiderF(x, y, z) = x2+y2−z2−4. In this case we find that the curveC∞is an oval; according to what was seen earlier in this section, we first compute the homologyof the compact affine surfaceS. Computations yield that there are no critical values, so weset N = 1. The level curveC−1 has one oval containing the pointQ = (0,0,−1); weinitialize Data(C−1) = [(Q, [1])],µ−1(1) = 1 andHom(S−1) = [0].

Then we computeR = roadMap(Q,1) = (0,0,1) and reconstructData(C1) =[(R, [1])], µ1(1) = 1 andHom(S1) = [0]. Attaching a fictitious 2-cell along the ovalat level 1, we get thatHom(S) = [0], so S is a sphere. We have only to compute aroadmap that, passing through the plane at infinity, connects the pointR to a point inthe planez = −1. Since evidently we are attaching a handle to the sphere, we get thatHom(S) = [2], soS is again a topological torus embedded in a different way with respectto that ofExample 1.

Example 3. Let F(x, y, z) = z8 + 4z7 + (4y2 + 4x2 − 126)z6 + (12y2 + 12x2 − 392)z5

+ (6y4 + (12x2 − 158)y2 + 6x4 − 222x2 + 3745)z4 + (12y4 + (24x2 − 336)y2 + 12x4

− 464x2 + 8148)z3 + (4y6 + (12x2 + 62)y4 + (12x4 − 4x2 + 3562)y2 + 4x6

− 66x4 − 2646x2 − 28 260)z2 + (4y6 + (12x2 + 56)y4 + (12x4 − 16x2 + 3732)y2

+ 4x6 − 72x4 − 2412x2 − 32 400)z + y8 + (4x2 + 94)y6 + (6x4 + 218x2 + 1993)y4

+ (4x6 + 154x4 + 978x2 − 7560)y2+ x8 + 30x6 + 9x4 − 3240x2− 1. Here the algorithmcomputes eight critical points contained in the interval[−12,12], which is subdivided as[−12,−8] ∪ [−8,−5] ∪ [−5,−2] ∪ [−2,−1/2] ∪ [−1/2,1] ∪ [1,4] ∪ [4,7] ∪ [7,12]so that each subinterval contains exactly one critical value. The curveC∞ is empty, soData(C−12) andHom(S−12) are empty lists.

Step 1. The interval [−12,−8] contains one critical point of index 0; by the usualprocedure we getData(C−8) = [(0,0,−8), [1]],µ−8(1) = 1 andHom(S−8) = [0].Step 2. The interval[−8,−5] contains one critical point of index 1. The curveC−5has two ovals: the pointQ2 = roadMap((0,0,−8),−5) lies in the oval 1 ofC−5; byusingfindPointwe find apoint R2 in the oval 2. SoData(C−5) = [(Q2, [1]), (R2, [2])],µ−5(1) = µ−5(2) = 1 andHom(S−5) = [1].Step 3. In [−5,−2] we pass through a point of index 1, the two ovals of the previouslevel glue together and a hole appears in the surface. Computations yieldData(C−2) =[(Q3, [1])],µ−2(1) = 1 andHom(S−2) = [2].

Page 13: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 355

Step 4. Here a second critical point of index 0 gives origin to a second connectedcomponent andC−1/2 is a nest of depth 2. The algorithm output isData(C−1/2) =[(Q4, [2,1])],µ−1/2(1) = 1, µ−1/2(2) = 2 andHom(S−2) = [2,0].Step 5. In [−1/2,1] we pass through a critical point of index 2, which attaches a 2-cell tothe connected component ofS−1/2 labelled 2. We getData(C1) = [(Q5, [1])], µ1(1) = 1andHom(S1) = [2,0].Step 6. In [−1,4] we find again a point of index 1, which causes the splitting ofthe oval C−1 into two ovals: the reconstructed data system is nowData(C4) =[(Q6, [1]), (R6, [2])],µ4(1) = µ4(2) = 1 andHom(S4) = [3,0].Step 7. [4,7] contains one more point of index 1, where two ovals glue together and giveorigin to a second hole in the level surfaceS7: Data(C7) = [(Q7, [1])], µ7(1) = 1 andHom(S7) = [4,0].Step 8. The last critical point has index 2 and corresponds to the attachment of a 2-cellalong the boundary ofS7. The lastcall of the procedure yieldsHom(S12) = [4,0]; thissays thatS = S12 is a compact surface with two connected components: one of them is atorus with two holes, theother one is a sphere.

6. Singular and critical points

In this section we describe how to check that the surface is non-singular and that ithas, with respect to the projectionπ fixed inSection 2, only a finite number of real criticalpoints, all of which are required to be non-degenerate; we also show how to compute them.Let us emphasize that our procedure to test the singularities and to compute the criticalpoints does not require that the surface is disjoint from the lineL = {z = 0, t = 0}.

Let φ(x, y, z, t) be a square-free homogeneous polynomial representing our surfaceS.As a first step, we test that∞ is not a critical value forπ checking that the curveC∞ isnon-singular.

Denote byJ thehomogeneous ideal generated by all four partial derivatives ofφ andby K the homogeneous ideal generated byφ and its partial derivatives with respect toxandy. We also denote byV(J) andV(K ) (resp.VR(J) andVR(K )) the setsof the complexzeros (resp. real zeros) ofJ andK . ThenVR(J) is the real singular locus ofS and, afterchecking thatVR(J) is empty,VR(K ) will be the real critical locus. Since we only requirethat S has no real singularities and thatπ has no real degenerate critical points, we needto distinguish between the real and complex solutions of the polynomial systems definingV(J) andV(K ), whereJ andK are in general 1-dimensional ideals.

The problem of deciding whether a real algebraic variety is empty is one of thebasic questions in computational real algebraic geometry. Several algorithms proposedby different authors are available in the literature, from the classical cylindrical algebraicdecomposition (Collins, 1975), which solves a much more general problem, to the veryrecent paper (Aubry et al., 2002), which also contains an extensive bibliography on thesubject. Our situation, though, is very special; therefore we will present a simpler specialpurpose approach in order to avoid these more complicated comprehensive algorithms.

Page 14: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

356 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

We will take advantage notonly of the low dimension, but also of the special geometricproperties of our varieties.

As ∞ is not a critical value forπ , the curveC∞ is non-singular. So there exists noreal point[x, y, z,0] ∈ H∞ that annihilatesφ and its partial derivatives with respect tox, y andz and hence there exists no real singular point forS on H∞. Thus it is enough toinvestigate the structure ofVR(J) and ofVR(K ) in the affine chartU , i.e. we consider thenon-homogeneous ideals in three variablesJA andK A obtained respectively fromJ andKby evaluating their generators fort = 1. If, as usual, we denoteF(x, y, z) = φ(x, y, z,1),thenJA = (F, ∂F/∂x, ∂F/∂y, ∂F/∂z) andK A = (F, ∂F/∂x, ∂F/∂y).

Let f denote the product of all the univariate factors ofF in the variablez. If f hasa real rootz0, then the plane{z = z0} is contained inS ∩ U and thereforeS has realsingularities; in this case the surface does not fulfil the requirements andwill be discarded.If, on the contrary,f has no real root, we can divideF by f without modifying the realzero-set. Thus we can assume thatF is not divisible by any univariate polynomial inz.

Now, the first question we have to deal with is to decide whetherVR(JA) =VR(F, ∂F/∂x, ∂F/∂y, ∂F/∂z) = ∅ or not (Singularity test).

The idealJA cannot have dimension 2, becauseF is square-free; moreover, withoutchanging the zero-set, we can assume thatJA is radical. The idealJA can define the emptyset, a finite set of points or a curve (respectively when the dimension of the ideal is−1, 0or 1). If the ideal has dimension 0, it is easy to decide whether the corresponding points arereal or not (see e.g.Aubry et al., 1999; Auzinger and Stetter, 1988; Gonzalez-Vega et al.,1999; Cohen et al., 1999).

The situation is more delicate when the dimension is 1, i.e. when the ideal defines aspace curve; thus finding an answer to ourSingularity testreduces to solving the followingproblem:

Empty real test:Given a (complex) affine space curve defined by a 1-dimensional radicalideal JA ⊂ Q[x, y, z] and such that the projective closure ofVR(JA) in RP3 does not meetthe plane at infinity, decide whetherVR(JA) is empty or not.

We will decide about emptiness ofVR(JA) by constructing an idealD of dimension≤0 such that VR(JA) is empty if and only if VR(D) is empty, which is easy to test. Theideal D is constructed choosing a “good projection” of the space curveCA = V(JA) on aplane in such a way that we can recover the real points on the space curve from the studyof the plane one. We will say that a projectionσ : C3 → C2 is agood projection forCA ifgenerically it gives a one-to-one correspondence between the points ofCA and the pointsof σ(CA) and only for at most a finite number of pointsP in σ(CA) the fibreσ−1(P)∩CA

consists of finitely many (>1) points.It is possible to see that, up to a generic linear change of coordinates, the projection

on the plane {x = 0} can be assumed to be a good projection forCA and that such acondition can be easily tested using a lexicographic Gr¨obner basis (withx > y > z) for theideal JA. One proof of these facts can be found inFortuna et al.(2003), where the structureof the reduced lex Gr¨obner basis for a radical ideal of pure dimension 1 is discussed.The proof, that is based on the Shape lemma (Gianni and Mora, 1989), can be easilygeneralized with similar arguments to hold for 1-dimensional radical ideals containingalso zero-dimensional components. Using these results we can test whether the projection

Page 15: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 357

σ(x, y, z) = (y, z) is a good projection, or whether a generic change of coordinates isneeded, in the following way. Compute the lex Gr¨obner basis (withx > y > z) of the idealJA and consider the idealI = JA ∩ C[y, z], which defines the projected curveCA. Thisideal is the product of two ideals:I1 = (g), a principal (bivariate) ideal generated by thegcdg of the generators ofI , andI0, azero-dimensional ideal obtained fromI by dividingout g from the generators ofI . If the Grobner basis ofJA contains a monic equation forx (of any degree) and at least one linear equation forx with leading coefficient relativelyprime with g (which generically happens), then the projectionσ is good.

Remark 6.1. If the Grobner basis does not fulfil these conditions because all the leadingcoefficients of the linear equations forx are not relatively prime withg, before changingthe projection we can try to test if the basis contains at least one polynomialh linear inxand such that the gcdq betweeng and the leading coefficient ofh satisfies the conditionVR(q) = ∅. In such acase, we have thatVR(JA, g) = VR(JA, g/q); therefore, insteadof (JA, g) we can use the idealJ ′

A = (JA, g/q) which defines the same real locus andfor which J ′

A ∩ Q[y, z] = (g/q). It is then clear that the projection(x, y, z) → (y, z)is good.

We wantnow to relate the existence of real points on the space curveCA to the existenceof real points onCA = V(I ). With ournotationsV(I ) = V(I0)∪ V(g); without changingthe zero-set, we can assume thatg is square-free, and hence thatV(g) has at most finitelymany singular points.

Remark 6.2. We have thatσ(VR(JA)) ⊆ VR(I ); thus, if VR(I ) is empty, thenVR(JA) isempty. The opposite inclusion is not true, becauseVR(I ) can contain real points which arenot the image of any real point inVR(JA), but which are the projection of complex pointsin V(JA). Since the projection is good, this can happen only for finitely many points. Moreprecisely,Z = VR(I )\σ(VR(JA)) consists of finitely many isolated points. In particular,recalling thatVR(JA) has no point at infinity,VR(g) cannot contain any 1-dimensionalconnected component intersecting the line at infinity.

As a consequence, ifg is divisible by a univariate polynomial in the variabley, sayf (y), f cannot admit any real rooty0, because otherwise the line{y = y0} would becontained inVR(g). So,up to dividing g by its univariate factors iny, which does notmodify the real zero-set, we can assume thatg is not divisible by any univariate polynomialin y.

Lemma 6.3. Let K1 = (g, ∂g/∂z). Then the ideal K1 has dimension≤ 0.

Proof. The zero-set defined byK1 contains the points ofV(g) which are either singular orcritical with respect to the projection on they axis. We already know thatV(g) has at mostfinitely many singular points, becauseg is square-free. Moreover, sinceg has no univariatefactors iny, V(g) cannot contain a 1-dimensional irreducible component of critical points.Hence dimK1 ≤ 0. �

In order to give a computational answer to theEmpty real test, we need only todistinguish if the presence of real points inVR(I ) originates through projection from realor complex points.

Page 16: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

358 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

Proposition 6.4. Let K1 = (g, ∂g/∂z) and D= (JA, I0 · K1). Then

(i) the ideal D has dimension≤ 0,(ii) VR(JA) is empty ifand only if VR(D) is empty.

Proof. (i) The idealD is at most zero-dimensional because dim(I0 · K1) ≤ 0 and theprojection is good.

(ii) If VR(JA) = ∅, evidently VR(D) = ∅. Conversely assume thatVR(D) is empty.The thesis is trivial if VR(I ) = ∅. OtherwiseconsiderVR(g) and recall that itcannot contain any 1-dimensional connected component intersecting the line atinfinity. MoreoverVR(g) cannot contain any 1-dimensional compact component:otherwise such a componentshould contain a non-isolatedsingular or critical pointw ∈ VR(K1). Since Z = VR(I )\σ(VR(JA)) consists only of isolated points(seeRemark 6.2), thenw /∈ Z, i.e. the fibreσ−1(w) should contain a point inVR(JA), while VR(D) is empty. Thus VR(g) can contain at most finitely manypoints, that are necessarily singular and hence contained inVR(K1). ThenVR(I ) =VR(I0) ∪ VR(K1) and therefore by the hypothesisVR(JA) = ∅. �

Af ter testing that the surface has no real singular points, we start to investigate the realcritical locusVR(K A).

Also the idealK A cannot have dimension 2: otherwise, ifh = 0 is an equation of anirreducible component ofV(K A) of dimension 2, thenh divides bothF and its derivativeswith respect tox andy. Henceh necessarily is a univariate polynomial inz, while we knowthat F does not admit any such factor.

Again theonly subtle point is when the idealK A has dimension 1. The situation in thiscase is slightly different, becausewe will construct an idealG of dimension≤ 0 such thatVR(G) contains exactly the real critical non-degenerate points.

First of all we want toexclude the existence of real degenerate critical points, that is

critical points that annihilate the determinant ofH , whereH is the matrix

(∂2F∂x2

∂2F∂x∂y

∂2F∂x∂y

∂2F∂y2

).

So we have to check thatVR(K A, det(H )) is empty, which can be done by the samestrategywe used earlier forJA. If this is the case, we have only to compute the real criticalpoints.

Proposition 6.5. Any point P lying on a1-dimensional (complex) component of V(K A) isnecessarily either singular for S or degenerate.

Proof. Recall thatK A = (F, ∂F∂x ,

∂F∂y ) and consider the 3×3 Jacobian matrix Jacof K A. At

any critical pointP, thedeterminant ofJacis the product of∂F/∂z and the determinant ofH evaluated atP. SinceP lies on a1-dimensional component ofV(K A), this determinantvanishes inP and therefore either∂F/∂z(P) = 0, and henceP is singular forS, or thedeterminant ofH vanishes atP, that isP is a degenerate critical point.�

Since we already know thatShas neither real singular points nor real degenerate criticalpoints, then there exist only finitely many real critical points. Moreover, if we remove fromV(K A) thepoints lying inV(∂F/∂zdet(H )), we are sure that we are not missing any realcritical point and also that we are removing fromV(K A) all the 1-dimensional components.

Page 17: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 359

Thus the idealG defining the setV(K A)\V(∂F/∂zdet(H )) is at most zero-dimensionalandVR(G) contains precisely the real non-degenerate critical points. Since it is well knownhow to computeG, for instance using Gr¨obner bases (seeGianni et al., 1988), we cancompute the points in the critical locus.

Example 4. Let S be the projective closure of the affine surface defined byF = x6

− 12x5 + 3x4y2 − 4x4z2 + 22x4 − 24x3y2 + 60x3z2 + 156x3 + 3x2y4 − 8x2y2z2

+ 44x2y2 − x2z4 − 163x2z2 − 419x2 − 12xy4 + 60xy2z2 + 156xy2 − 48xz4 − 300xz2

− 432x + y6 − 4y4z2 + 22y4 − y2z4 − 163y2z2 − 419y2 + 4z6 + 165z4 + 911z2 + 1260.

The curveS∩ H∞ is non-singular, so we can check whetherS fulfils all the requirementsworking in theaffine chartU .

Consider first the Jacobian idealJA = (F, ∂F∂x ,

∂F∂y ,

∂F∂z ) defining the singular locus. The

ideal JA has dimension 1; so, to show thatVR(JA) is empty, we need to project the spacecurve on a plane. In order to see whether the projection(x, y, z) → (y, z) is good, wecompute the lexicographic Gr¨obner basis forJA with x > y > z and we get

{36x3 + . . . , . . . , (3z2 + 5)(7056y2 + 66313)x + . . . ,

× (3z2 + 5)(7z2 − 61)x + . . . , (3z2 + 5)g}.So JA ∩ Q[y, z] = (g) = ((3z2 + 5)g ). In this case the lex Gr¨obner basis contains amonic polynomial forx and also two polynomials linear inx, but forboth of them the gcdbetween the leading coefficient andg is 3z2 + 5. SinceVR(3z2 + 5) = ∅, by Remark 6.1instead ofVR(JA) we can studyVR(JA, g) for which the projection is good.

Thus we consider the projected plane curveCA given by g = 0 and the idealK1 = (g, ∂ g

∂z ) defining the set of the singular or critical points ofCA (w.r.t. the projectionon they axis). Since it turns out thatVR(K1) is empty, thenVR(JA) is also empty, i.e.S isnon-singular.

At this point we can begin the analysis of the critical points of the surface (w.r.t.the projectionπ(x, y, z) = z). The first thing we need to check is that there is no realdegenerate critical point forS. For that, we consider the idealK A = (F, ∂F

∂x ,∂F∂y ) defining

the critical locus and we add to it the Hessian determinant det(H ) = ∂2F∂x2

∂2F∂y2 − ( ∂

2F∂x∂y)

2;we want tosee thatVR(K A, det(H )) is empty.

The ideal(K A, det(H )) is one-dimensional, but if we compute the lex Gr¨obner basisfor it with x > y > z, we find in it a univariate polynomial inz thatdoes not have any realroot. This tells us immediately thatShas no real degenerate critical point and that the realcritical locus is given byV(K A)\V(∂F/∂zdet(H )).

Then we compute the saturation ofK A with respect to(∂F/∂zdet(H )), that is(K A :

(∂F

∂zdet(H )

)t − 1

)∩ Q[x, y, z].

This yields the zero-dimensional ideal(x−24/65z4−30/13z2−216/65, y, z6+21/4z4+11/4z2 − 9), whose zero-set gives the two real critical points

P1 = (6,0,−1) P2 = (6,0,1).

Page 18: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

360 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

7. Existence of a disjoint line

Our algorithm works when the surface is disjoint from some projective line. Whether aline disjoint fromSexists ornot inRP3 is a decidable problem. If we write parametricallya line as{λP + µQ | [λ,µ] ∈ RP1} with P = [a,b, c,0] ∈ H∞ andQ = [α, β, γ, δ] ∈RP3, P �= Q, theprevious problem is equivalent to deciding whether there exist valuesfor the parametersa,b, c, α, β, γ, δ ∈ R such that [a,b, c,0] /∈ S and the equationψ(s) = φ(as + α,bs + β, cs + γ, δ) = 0 has no real solution. In the literature onecan find methods to determine the number of real roots of polynomials with parametriccoefficients, using for instance the good properties of the Sturm-Habicht sequence (seefor instanceGonzalez-Vega et al., 1989, 1998; Habicht, 1948; Roy, 1996). For low degreepolynomials, one can also find a list of explicit expressions in terms of the coefficientsthat is sufficient to determine the number and multiplicities of the real and complexroots, i.e. the complete root classification (seeArnon, 1988; Yang etal., 1996a,b; Yang,1999).

It is clear that, even though the previous methods guarantee that the problem of theexistence of the line is decidable, they are not very practical. For sure they can be avoidedin the case of quartic surfaces; easy geometricconsiderations allow us to see that in thiscase a disjoint line always exists. We shall give a special purpose procedure to find a line notintersecting the surfaceS in the plane at infinityH∞ and in general in any plane intersectingS in a curve having no real singularities.

If the section curveC∞ = S∩ H∞ has two complex conjugate singular points, then theline connecting the twopoints has a real equation and is disjoint fromC∞ in H∞ and fromS in RP3.

If C∞ has neither real nor complex singular points (in particular it is irreducible), thenwe can use the fact, proved byZeuthen(1874), see alsoDegtyarev et al.(2000), that thereal quartic curve has a real double tangent intersecting the curve in two real points (maybecoinciding) or in a pair of complex conjugate points. In the latter case, the double tangentis already disjoint from the real locus of the quartic; let us show that, in the case of realpoints of tangency, it is possible to obtain a disjoint line by slightly perturbing the doubletangent.

Denote byCA anon-singular real affine plane curve of degree 4 and byC its projectiveclosure; letr be a real double tangent toC touching the curve in two real pointsP, Q ∈ C.

Consider first the case whenP �= Q. Up to changing coordinates, we can assume thatr has equationy = 0 and thatP, Q ∈ CA. By Bezout’s theorem,r andC cannot meet atinfinity, i.e. [1,0,0] /∈ C. Since the multiplicity of intersection ofr andC in P andQ is2, locally at the two points the curve lies in one of the two half-planes bounded byr .

Assume first that locally at both points the curve is contained in the same half-plane, sayfor instance{y < 0}. Consider, for alla ∈ R, thelinessa = {y = az}. Since[1,0,0] /∈ C,sa andC cannot meet at infinity.

Let Γ = {a ∈ R | a > 0, sa ∩ C �= ∅}. If Γ = ∅, then we have a lot of disjoint lines.Otherwise, letb = infΓ ; it is sufficient to prove thatb > 0, because thensa is disjoint fromC for all a ∈ (0,b). Assume by contradiction thatb = 0. Then we might find a sequence ofpointsPn = (xn, yn) ∈ CA, with 0 < yn < 1 andyn converging to 0. Since[1,0,0] /∈ C,there existsM > 0 such that Pn ∈ [−M,M] × [0,1] for all n ∈ N. Thus, up to extracting

Page 19: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 361

a subsequence, we can assume that{Pn} converges to a pointR ∈ CA ∩ {y = 0}, henceR = P or R = Q. This is impossible because locally atP andQ the curve is contained in{y < 0}.

Note that the same argument can be used also when the real double tangent meets thecurve in a single real pointP, because then locally atP in a suitable system of coordinatesthe curve is given byy + x4 = 0. If locally at P andQ the quartic is contained in distincthalf-planes, it is sufficient to adapt the previous argument considering a pencil of linespassing through the middle point of the segmentP Q.

Thus, the only task we have to perform is to compute a real double tangent to a projectiveplane curveC having neither real nor complex singular points and given byG(x, y, z) = 0with G a homogeneous polynomial of degree 4. To do that, we can use the dual curveC ⊆ (CP2)∗ consisting of all points corresponding to the lines tangent toC at some point.As is well known, the double tangents toC correspond to singular points ofC; moreprecisely, the double tangents touchingC in two distinct points correspond to nodes ofC, while the double tangents intersectingC only in one point correspond to non-ordinarydouble points of type “tacnode”.

If we denote by[u, v,w] homogeneous coordinates in(CP2)∗, a way to compute anequation forC is to consider the idealB = (G,u − ∂G

∂x , v − ∂G∂y , w − ∂G

∂z ) generated by

bihomogeneous polynomials inx, y, z and u, v,w. ThenC is the curve defined by theideal B ∩ Q[u, v,w], which is principal, generated by a polynomialG(u, v,w); we cancomputeG eliminating the variablesx, y, z from B for instance by using a lex Gr¨obnerbasis with x > y > z > u > v > w. For more efficient methods to compute the dualcurve, seeVolcheck(1997) andBouziane and El Kahoui(2002).

The singular locus ofC is given by theideal J = ( ∂G∂u ,

∂G∂v, ∂G∂w). Then the ideal(B, J)

defines the set of pairs(P, l ) wherel is a line either tangent toC in P with intersectionmultiplicity ≥3 or tangent toC in P and in other points. After discarding all the(P, l )wherel has complex coordinates, we consider the setP of the remaining pairs; notice that,by Zeuthen’s theorem,P is non-empty.

If in P we find two pairs(P1, l ), (P2, l ) with P1 andP2 complex conjugate points, thenl is a real double tangent touchingC in P1 andP2 and therefore already disjoint fromC inthe real projective plane.

If in P we find two pairs(P1, l ), (P2, l ) with P1, P2 distinct real points, thenl is areal double tangent touchingC in two real points; as seen above, it is sufficient to slightlyperturb it.

It may happen that, for any two pairs(Pi , l i ), (Pj , l j ) ∈ P , we havel i �= l j . If l appearsonly in one pair(P, l ), then thereare two possibilities: eitherP is an inflection point forCandl intersectsC in P and in another simple point, orl is a “degenerate” double tangentto C in P, i.e. it meetsC in P with multiplicity of intersection 4. In the former case wediscardl ; in the latter case, which always occurs at least once by Zeuthen’s theorem, we canfind a disjoint line slightly perturbingl . Wecan decide which is the situation by checkingthe number of distinct intersections betweenC andl .

Page 20: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

362 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

Examples

(1) Let C be the projective plane quartic curve defined by

G(x, y, z) = 4x4 − 6z4 + 2yz3 + 3y2z2 − 5x2z2 − 4y3z + 10x2yz+ y4 − 5x2y2.

C has no real singular points, but for instanceP1 = [i √5/3,1 + i√

8/3,1] and P2 =[−i

√5/3,1 − i

√8/3,1] are complex conjugate singular points forC. Then the line

connectingP1 and P2 has a real equation√

8/5x − y + z = 0 and it is disjoint fromC in RP2.

(2) Let G(x, y, z) = x4 + y4 − 3x2y2 − z4. The curveC = {G = 0} has neither realnor complex singular points. Among the pairs ofV(B, J) we find

(P1, l ) =([

14√

5,− 2

4√

5,1

], [ 4

√5, 4

√5,1]

)(P2, l ) =

([− 2

4√

5,

14√

5,1

], [ 4

√5, 4

√5,1]

).

Thenl = { 4√

5x + 4√

5y + z = 0} is a real double tangent toC.(3) Let G(x, y, z) = 2x4 − 81z4 − 324yz3 − 486y2z2 − 324y3z − 65y4 + 32xy3

+ 24x2y2 + 8x3y. Working in the affine chart{z = 1} of the projective plane and in theaffine chart{w = 1} of the dual projective plane, we find four pairs(P, l ) in V(B, J)wherel has real coordinates:(

[0,−3,1],[−1

3,

1

3,1

]) ([6,−3,1],

[1

3,1,1

])([

0,−3

5,1

],

[1

3,

5

3,1

]) ([6

5,−3

5,1

],

[−1

3,1,1

]).

Since each reall appears only in one pair(P, l ), we have to check whetherl intersectsC inP in an inflection point orl is a degenerate double tangent forC in P. For instance, taking([0,−3,1], [−1/3,1/3,1]), we seethat the linel = {−x + y + 3z = 0} meetsC only at[0,−3,1], so it is adegenerate double tangent.

Remark 7.1. For curvesC of even degree> 4, it is not true anymore that there alwaysexists a line disjoint fromC. For instance it is possible to check thatC = {92 416z6

+ (−25 600y2 − 12 604x2)z4 + (−5776y4 + 11 201x2y2 − 12 625x4)z2 + 1600y6

− 2500x2y4 − 1600x4y2 + 2500x6 = 0} is not disjoint from any line in the real projectiveplane. In any case, though, using arguments similar to the ones described before, it ispossible to define a procedure for deciding whether there exists or not a line disjoint froma givencurve (seeFortuna et al., 2003).

Acknowledgements

This research was partially performed with the contribution of M.U.R.S.T. and ofEurocontract HPRN-CT-2001-00271.

Page 21: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 363

References

Arnborg, S., Feng, H., 1988. Algebraic decomposition of regular curves. J. Symbolic Comput. 5(1–2), 131–140.

Arnon, D.S., 1988. Geometric reasoning with logic andalgebra. Artificial Intelligence 37, 37–60.Arnon, D.S., McCallum, S., 1988. A polynomial-time algorithm for the topological type of a real

algebraic curve. J. Symbolic Comput. 5 (1–2), 213–236.Aubry, P., Lazard, D., Moreno Maza, M., 1999. On the theories of triangular sets. J. Symbolic

Comput. 28 (1–2), 105–124.Aubry, P., Rouillier, F., Safey ElDin, M., 2002. Real solving for positive dimensional systems.

J. Symbolic Comput. 34 (6), 543–560.Auzinger, W., Stetter, H.J., 1988. An elimination algorithm for the computation of all zeros of

a system of multivariate polynomial equations. In: Numerical Mathematics (Singapore, 1988).Birkhauser, Basel, pp. 11–30.

Basu, S., Pollack, R., Roy, M.-F., 2000. Computing roadmaps of semi-algebraic sets on a variety.J. Amer. Math. Soc. 13 (1), 55–82.

Basu, S., Pollack, R., and Roy, M.-F., 2003. Algorithms in Real Algebraic Geometry. Algorithms andComputat. in Mathematics, vol. 10. Springer-Verlag.

Bouziane, D., El Kahoui, M., 2002. Computation of the dual of a plane projective curve. J. SymbolicComput. 34, 105–117.

Canny, J., 1988. The Complexity of Robot Motion Planning. MIT Press, Cambridge, MA.Cellini, P., Gianni, P., Traverso, C., 1991. Algorithms for the shape of semialgebraic sets. A new

approach. In: Applied Algebra, Algebraic Algorithms and Error-correcting Codes (New Orleans,LA, 1991). Springer, Berlin, pp. 1–18.

Cohen, A.M., Cuypers, H., Sterk, H., 1999. Some Tapas of Computer Algebra. Springer-Verlag,Berlin.

Collins, G., 1975. Quantifier elimination for real closed fields by cylindrical algebraic decomposition.In: Automata Theory and Formal Languages (Second GI Conf., Kaiserslautern, 1975). LectureNotes in Computer Science, vol. 33. Springer, Berlin, pp. 134–183.

Cucker, F., Gonz´alez-Vega, L., Rossello, F., 1991. On algorithms for real algebraic plane curves.In: Effective Methods in Algebraic Geometry (Castiglioncello, 1990). Birkh¨auser, Boston, MA,pp. 63–87.

Degtyarev, A., Itenberg, I., Kharlamov, V., 2000. Real Enriques Surfaces. Lecture Notes inMathematics, vol. 1746. Springer-Verlag, Berlin.

Fortuna, E., Gianni, P., Parenti, P., 2003. Some constructions for real algebraic curves. Pubbl. Dip.Mat. Univ. Pisa, 1.285.1441.

Gianni, P., Mora, T., 1989. Algebraic solution of systems of polynomial equations using Groebnerbases. In: Applied Algebra, Algebraic Algorithms and Error-correcting Codes (Menorca, 1987).Lecture Notes in Computer Science, vol. 356. Springer, Berlin, pp. 247–257.

Gianni, P., Trager, B., Zacharias, G., 1988. Gr¨obner bases and primary decomposition of polynomialideals. J. Symbolic Comput. 6, 149–167.

Gianni, P., Traverso, C., 1983. Shape determination for real curves and surfaces. Ann. Univ. FerraraSez. VII (N.S.) 29, 87–109.

Gonzalez-Vega, L., Lombardi, H., Recio, T., Roy, M.-F., 1989. Sturm-Habicht sequence.In: Proceedings of ISSAC’89. pp. 136–145.

Gonzalez-Vega, L., Recio, T., Lombardi, H., Roy, M.-F., 1998. Sturm-Habicht sequence,determinants and real roots of univariate polynomials. In: Quantifier Elimination and CylindricalAlgebraic Decomposition. Springer-Verlag, New York, pp. 300–316.

Gonzalez-Vega, L., Rouillier, F., Roy, M.-F., Trujillo, G., 1999. Symbolic recipes for real solutions.In: Some Tapas of Computer Algebra. Springer, Berlin, pp. 121–167.

Page 22: Algorithms to compute the topology of orientable real algebraic … · 2017. 1. 29. · E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364 345 As a first step

364 E. Fortuna et al. / Journal of Symbolic Computation 36 (2003) 343–364

Gournay, L., Risler, J.-J., 1993. Construction of roadmaps in semi-algebraic sets. Appl. AlgebraEngrg. Comm. Comput. 4, 239–252.

Habicht, W., 1948. Eine Verallgemeinerung des Sturmschen Wurzelz¨ahlverfahrens. Comment. Math.Helv. 21, 99–116.

Heintz, J., Roy, M.-F., Solern´o, P., 1994. Single exponential path finding in semi-algebraic sets.II. The general case. In: Algebraic Geometry and its Applications (West Lafayette, IN, 1990).Springer, New York, pp. 449–465.

Hirsch, M.W., 1976. Differential Topology. Graduate Texts in Mathematics, vol. 33. Springer-Verlag,New York.

Massey, W.S., 1977. Algebraic Topology: An Introduction. Springer-Verlag, New York, reprint ofthe 1967 edition, Graduate Texts in Mathematics, vol. 56.

Massey, W.S., 1991. A Basic Course in Algebraic Topology. Springer-Verlag, New York.Milnor, J., 1963. Morse Theory. Princeton University Press. Princeton, NJ.Milnor, J., 1968. Singular Points of Complex Hypersurfaces. Annals of Mathematics Studies, vol. 61.

Princeton University Press, Princeton, NJ.Roy, M.-F., 1990. Computation of the topology of a real curve. Ast´erisque 192, 17–33. Algorith-

mique, topologie et g´eometrie algebriques (Seville,1987 and Toulouse, 1988).Roy, M.-F., 1996. Basic algorithms in real algebraic geometry and their complexity: from Sturm’s

theorem to the existential theory of reals. In: Lectures in Real Geometry (Madrid, 1994) deGruyter Exp. Math., vol. 23. de Gruyter, Berlin, pp. 1–67.

Vi ro, O.Y., 1986. Progress in the topology of real algebraic varieties over the last six years. RussianMath. Surveys 41, 55–82.

Volcheck, E., 1997. On computing the dual of a plane algebraic curve. In: Proceedings of ISSAC’97.pp. 356–358.

Wilson, G., 1978. Hilbert’s sixteenth problem. Topology 17 (1), 53–73.Winkler, F., 2000. Advances and problems in algebraic computation. In: Contributions to General

Algebra, vol. 12 (Vienna, 1999). Heyn, Klagenfurt, pp. 51–70.Yang, L., 1999. Recent advances on determining the number of real roots of parametric polynomials.

J. Symbolic Comput. 28, 225–243.Yang, L., Hou, X., Zeng, Z., 1996a. A complete discrimination system for polynomials. Sci. China

Ser. E 39 6, 628–646.Yang, L., Zhang, J., Hou, X., 1996b. Non-Linear Equation Systems and Automated Theorem

Proving. Technology and Education. Shanghai Press of Science.Zeuthen, H., 1874. Sur les differentes formes des courbes planes du quatrieme ordre. Math. Ann. 7,

410–432.