Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal...

17
Journal of Symbolic Computation 38 (2004) 1551–1567 www.elsevier.com/locate/jsc Algorithmical determination of the topology of a real algebraic surface E. Fortuna a,, P. Gianni a , D. Luminati b a Dipartimento di Matematica, Università di Pisa, via Buonarroti 2, I–56127 Pisa, Italy b Dipartimento di Matematica, Università di Trento, v. Sommarive n. 14 - loc. Povo, I-38050 Trento, Italy Received 10 November 2003; accepted 5 August 2004 Available online 25 September 2004 Abstract We present an algorithm to compute the topology of a non-singular real algebraic surface S in RP 3 , that is the number of its connected components and a topological model for each of them. Our strategy consists in computing the Euler characteristic of each connected component by means of a Morse-type investigation of S or of a suitably constructed compact affine surface. This procedure can be used to determine the topological type of an arbitrary non-singular surface; in particular it extends an existing algorithm applicable only to surfaces disjoint from a line. © 2004 Elsevier Ltd. All rights reserved. Keywords: Real algebraic surfaces; Topological type; Algorithms 1. Introduction The aim of this paper is to give an algorithm to compute the topological type of an arbitrary non-singular real algebraic surface S RP 3 given as the real zero-set of a homogeneous polynomial F (x , y , z , t ) with rational coefficients of degree d ; the topology This research was partially performed with the contribution of M.U.R.S.T. and of Eurocontract HPRN-CT- 2001-00271. Corresponding author. Tel.: +39 050 2213226; fax: +39 050 2213224. E-mail addresses: [email protected] (E. Fortuna), [email protected] (P. Gianni), [email protected] (D. Luminati). 0747-7171/$ - see front matter © 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.jsc.2004.08.001

Transcript of Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal...

Page 1: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

Journal of Symbolic Computation 38 (2004) 1551–1567

www.elsevier.com/locate/jsc

Algorithmical determination of the topology of areal algebraic surface✩

E. Fortunaa,∗, P. Giannia, D. Luminatib

aDipartimento di Matematica, Università di Pisa, via Buonarroti 2, I–56127 Pisa, ItalybDipartimento di Matematica, Università di Trento, v. Sommarive n. 14 - loc. Povo, I-38050 Trento, Italy

Received 10 November 2003; accepted 5 August 2004

Available online 25 September 2004

Abstract

We present an algorithm to compute the topology of a non-singular real algebraic surfaceS inRP

3, that is the number of its connected components and a topological model for each of them. Ourstrategy consists in computing the Euler characteristic of each connected component by means of aMorse-type investigation ofSor of a suitably constructed compact affine surface. This procedure canbe used to determine the topological type of an arbitrary non-singular surface; in particular it extendsan existing algorithm applicable only to surfaces disjoint from a line.© 2004 Elsevier Ltd. All rights reserved.

Keywords: Real algebraic surfaces; Topological type; Algorithms

1. Introduction

The aim of this paper is to give an algorithm to compute the topological type of anarbitrary non-singular real algebraic surfaceS ⊂ RP

3 given as the real zero-set of ahomogeneous polynomialF(x, y, z, t) with rational coefficients of degreed; the topology

✩ This research was partially performed with the contribution of M.U.R.S.T. and of Eurocontract HPRN-CT-2001-00271.∗ Corresponding author. Tel.: +39 050 2213226; fax: +39 050 2213224.

E-mail addresses:[email protected] (E. Fortuna),[email protected] (P. Gianni),[email protected] (D. Luminati).

0747-7171/$ - see front matter © 2004 Elsevier Ltd. All rights reserved.doi:10.1016/j.jsc.2004.08.001

Page 2: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

1552 E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567

Fig. 1. A torus with 3 holes.

of the surface will be determined computing the number of the connected components ofS and characterizing topologically each of them.

Our procedure will rely on some basic classical results concerning topological andalgebraic surfaces that we now briefly recall;for a proof of these facts we refer the readerto Massey(1991) and, for instance, toViro (1998).

If the degreed is even, the surface and all its connected components are orientable. Bythe topological classification theorem for surfaces, we know that any compact connectedorientable surface is homeomorphic to the connected sum of a sphere andg tori, i.e. it ishomeomorphic to a torus withg holes, withg ≥ 0 (meaning that a torus with 0 holesis a sphere); seeFig. 1. Thenumberg, calledgenus, is acomplete topological invariantfor connected orientable surfaces, hence itis possible to characterize topologically eachconnected component of an even-degree surface computing its genus or, equivalently, itsEuler characteristicχ = 2 − 2g, which isalways an even integer.

If d is odd, S contains exactly one non-orientable connected component, while allthe other components are orientable. The topological classification theorem for surfacesensures that any compact connected non-orientable surface is homeomorphic to theconnected sum of either a projective plane or a Klein bottle and a compact connectedorientable surface of genusg; the Euler characteristic is then respectively eitherχ = 1−2gor χ = −2g, that is either odd or even. Since a surface with an even Euler characteristicmay be either orientable or non-orientable, the only knowledge of the characteristic is ingeneral not sufficient to determine the topological model of a compact connected surface,unless we know whether it is orientable or not. In our case however the situation is simplerbecause the Euler characteristic of a non-orientable connected surface contained inRP

3 isnecessarily odd (for a proof, seeViro (1998), 1.3.A).

Thus, even if the degree is odd, the knowledge of the list of the Euler characteristics ofthe connected components ofSdetermines the topological type ofS, since any componenthaving an even characteristicχ is necessarily homeomorphic to the correspondingorientable model, that is to a torus with2−χ

2 holes, and the unique component havingan odd characteristicχ is homeomorphic to the connected sum of a projective plane and atorus with 1−χ

2 holes.The problem of the algorithmic determination of the topological type of a non-singular

real projective algebraic surface has already been solved inFortuna et al.(2003) forsurfaces disjoint from a line (hence of even degree and orientable), in particular for allnon-singular compact algebraic surfaces contained inR3. In this paper we will extendthat result computing the topology of an arbitrary non-singular projective surfaceS;

Page 3: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553

the basic idea is proving that the topological type ofS can be algorithmically recoveredfrom the one of a suitable compact algebraic surfaceS in R

3, and thencomputing thetopology of S by means of the algorithm presented inFortuna et al.(2003). Section 2is devoted to construct S starting fromS and to relate their topological types from atheoretical point of view. In Section 3we briefly recall the compact-case algorithm ofthe cited paper and present an improvement to it; then, inSection 4, we turn the resultsof Section 2into constructive procedures and present the general-case algorithm. The lastsection contains some examples and also some remarks on the computational aspects andon the implementation of the algorithm.

2. Reduction to the compact affine case

Let S be a non-singular real projective surface inRP3 defined by the equation

F(x, y, z, t) = 0, whereF is ahomogeneous polynomial of degreed with real coefficients.By saying thatS is non-singular we mean that no point inRP

3 annihilatesF and all its firstpartial derivatives, while the complex zero-set defined byF may contain non-real singularpoints. In this section we will see how the topological characterization ofScan be reducedto the topological investigation of a compact affine surfaceS in R

3.The projective spaceRP

3 can be seen as the quotient space of the 3-sphereS3 withrespect to the antipodal equivalence relation which identifies every pair of diametricallyopposite points inS3, a relation inducedby the mapπ : S3 → RP

3 associating to anypoint (x, y, z, t) ∈ S3 the point of homogeneous coordinates[x, y, z, t] in RP

3. In thisway S3 turns out tobe a 2-sheeted covering space ofRP

3. Consider in S3 thenon-singularsurface

S = π−1(S) = {(x, y, z, t) ∈ R4 | F(x, y, z, t) = 0} ∩ S3.

If we denote byap : S3 → S3 the antipodal map defined byap(v) = −v, evidentlyap(S) = S; more preciselyap transforms each connected component ofS into a connectedcomponent, acting therefore as an involution on the setF of the connected components ofS.

Taking into account the action ofap on the connected components ofS, wecan splitFas the union ofF1 andF2, where

F1 = {T | T ∈ F , ap(T) = T} and F2 = F \ F1.

In particularap induces a pairing among the elements ofF2.If we consider the preimage of a connected component ofS through the double

coveringπ , wecan immediately observe:

Lemma 2.1. Let Y be a connected component of S and letY = π−1(Y). Then

(i) χ(Y) = 2 χ(Y)

(ii) if Y is not connected, then it has exactly two connected componentsY1 andY2, eachhomeomorphic to Y , and ap(Y1) = Y2

(iii) if Y isnon-orientable, thenY is connected andY ∈ F1.

Page 4: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

1554 E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567

Proof. (i) and (ii) follow from the fact thatπ |Y : Y → Y is a 2-sheeted covering ofY.(iii) Y is surely orientable. ThenY is connected, because otherwise, by part (ii), each of itstwo connected components would be homeomorphic toY, which is non-orientable. Sinceap(Y) = Y, thenY ∈ F1. �

As explained in the introduction, in order to compute the topological type ofS it issufficient to count the connected components ofS and to determine them topologicallyby means of their Euler characteristics. The next proposition shows how these data can berecovered from the knowledge of the connected components ofSand of the setsF1 andF2:

Proposition 2.2. Assume that

F1 = {T1, . . . , Tm} and F2 = {Tm+1, . . . , Tq, ap(Tm+1), . . . , ap(Tq)}.Then S is homeomorphic to M(

χ(T1)2 ) ∪ · · · ∪ M(

χ(Tm)2 ) ∪ Tm+1 ∪ · · · ∪ Tq, where

(a) if r is an even integer, M(r ) denotes the orientable connected surface with Eulercharacteristic r , that is a torus with2−r

2 holes,(b) if r is an odd integer, M(r ) denotes the non-orientable connected surface with Euler

characteristic r , that is the connected sum of a projective plane and a torus with1−r2

holes.

Proof. If Tj ∈ F1, thenY = π(Tj ) is a connected component ofSsuchthatπ−1(Y) = Tj

andχ(Tj ) = 2 χ(Y).If Tj ∈ F2, thenY = π(Tj ) is homeomorphic toTj andπ−1(Y) = Tj ∪ ap(Tj ). �

Remark 2.3. Note that, in the previous proposition, it is not necessary to know the exactpairing apamong the components inF2. Namely, byLemma 2.1weknow that, if a surfaceappears inF2, thenF2 contains an even number of surfaces homeomorphic to it. It is thensufficient to insert half of them in the list of the topological models of the components ofS coming fromF2. �

A first observation in the direction of computingF1 andF2 can be made consideringfor instance theintersection ofSwith theap-invariant subsetW = {z = 0} ∩ S3.

SinceW disconnectsS3 into two parts transformed each into the other byap, if T ∈ F1,then necessarilyT ∩W �= ∅; in otherwords, if T ∩W = ∅, thenT ∈ F2. Observehoweverthat the converse is not true, so that a more accurate investigation is needed to splitF .

If W is transversal toS, then W ∩ S is a non-singular curve andap induces, byrestriction, an involution also on the setO of the connected components ofW ∩ S.

For anyω ∈ O we will denote byT(ω) the connected component ofS containingω.Using the fixednotations, we get the following firstcharacterization useful to split F intoF1 ∪ F2:

Proposition 2.4. T ∈ F1 if and only if there existω1, ω2 ∈ O (possibly coinciding) suchthat T(ω1) = T(ω2) = T and ap(ω1) = ω2.

Proof. If T ∈ F1, thenT ∩ W �= ∅. If ω is a connected component ofT ∩ W, then alsoap(ω) is a connected component ofT ∩ W, sinceap(T) = T andap(T ∩ W) = T ∩ W.ThenT(ω) = T(ap(ω)) = T .

Page 5: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1555

Conversely, let x ∈ ω1 ⊂ T . Thenap(x) ∈ ω2 ⊂ T and alsoap(x) ∈ ap(T). ThenT andap(T) are connected components havingap(x) as a common point; henceap(T) = T andthereforeT ∈ F1. �

Proposition 2.2transforms our original problem into that of studying the surfaceS inS3, its connected components and the splittingF1 ∪ F2, whichcan be detected by meansof the criterion given inProposition 2.4. As a matter of fact, we can actually perform thisinvestigation not working onS, buton a compact affine surfaceS in R

3 homeomorphic toit and obtained via stereographic projection.

Namely, up to an affine translation, we can assume that[0, 0, 0, 1] �∈ S ⊂ RP3;

henceN = (0, 0, 0, 1) �∈ S and (0, 0, 0,−1) �∈ S. Then the stereographic projectionϕ : S3 \ {N} → R

3, given byϕ(x, y, z, t) = ( x1−t ,

y1−t ,

z1−t ), is a homeomorphism

transforming S into the compact affine surfaceS = ϕ(S) ⊂ R3, which isthe zero-set of

F ◦ ϕ−1 and does not contain the origin.

If we denoteX = (x, y, z) ∈ R3, thenϕ−1(X) = ( 2X

‖X‖2+1,

‖X‖2−1‖X‖2+1

) and hence

(F ◦ ϕ−1)(X) = F

(2X

‖X‖2 + 1,‖X‖2 − 1

‖X‖2 + 1

)= 1

(‖X‖2 + 1)dF(2X, ‖X‖2 − 1),

whered = degF , and‖X‖2 = x2 + y2 + z2. Thus, if we set

G(X) = F(2X, ‖X‖2 − 1),

then G = 0 is a polynomial equation for the algebraic surfaceS ⊂ R3. Observe

that, if S (and henceS) is a non-singular surface, sinceϕ is a biregularisomorphismbetweenS3 \ {N} andR

3, also theimage surfaceS is non-singular. Note also that, sinceF(0, 0, 0, 1) �= 0, thenF contains a monomialctd with c �= 0; hence degG = 2d.

A straightforward computation shows that the antipodal mapap in S3 is conjugated tothe mapinv = ϕ ◦ ap◦ ϕ−1 : R

3 \ {0} → R3 \ {0} given byinv(X) = − X

‖X‖2 .

Let W = ϕ(W\{N}) = {z = 0} ⊂ R3. We will denote byF , F1, F2, O the sets of com-

ponents corresponding throughϕ to F ,F1,F2,O and, for anyω ∈ O, we will denote byT(ω) the connected component ofScontainingω. In particularProposition 2.4turns into

Proposition 2.5. T ∈ F1 if and only if there existω1, ω2 ∈ O (possibly coinciding) suchthat T(ω1) = T(ω2) = T and inv(ω1) = ω2.

3. The compact-case algorithm

In the next section we will describe a constructive procedure to compute the topologyof an arbitrary non-singular real projective surface inRP

3, generalizing the algorithmpresented inFortuna et al.(2003). Both for the previous algorithm and for the new generalone, the core of the procedure is the topological determination of a non-singular compactaffine surface inR3. In this section we will briefly recall, at least in its main steps, howthe “Compact-Case-Algorithm” (for short CCA) works, referring to the original paperFortuna et al.(2003) for most of the theoretical and algorithmic details, as well as for

Page 6: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

1556 E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567

an extended list of bibliographical references on the subject. This gives us the opportunityto describe some situations that had not been considered in the previous paper, and also topresent some modifications we have made to the original version of the algorithm, resultingin an improvement of the numerical stability of the whole procedure.

Thus, in the present section,S will denote a compact affine surface inR3 defined bythe equationG(x, y, z) = 0, whereG is a polynomial with rational coefficients of evendegree. We assume thatS is non-singular, that is no point inSannihilates all the first partialderivatives ofG.

To compute the topology ofSwe use as abasic tool Morse theory since, up to a genericlinear change ofcoordinates, one can assume that the functionp(x, y, z) = z projectingS to thez-axis is a Morse function and that distinct critical points correspond to distinctcritical values (see for instanceBasu etal. (2003); for a complete review of Morse theorysee alsoMilnor (1963) or Hirsch (1976)). To check thatp is a “good projection” in theprevious sense, we need to compute the real critical points ofp (that is the points inSwhere the first partial derivatives ofG with respect tox andy vanish) and to test that allof them are non-degenerate. The non-singularity test and the computation of the criticalpoints are the most delicate and time-consuming tasks in the whole algorithm; additionalcomments can be found in the final section.

After computing the (finitely many,non-degenerate) critical points forp on S, we canconsider an interval[−N, N] containing all the critical values ofp and subdivide it as[−N, N] = [−N, a1] ∪ [a1, a2] ∪ · · · ∪ [as, N] in such a way that eachai is non-criticalfor p and each interval[ai , ai+1] contains only one critical value in its interior part.

The strategy for computing the topology ofS consists in iteratively reconstructing thetopology of the level surfacesSai = p−1([−N, ai ]) = S∩{z ≤ ai } passing from one levelai to the higher levelai+1; this is sufficient sinceS = SN . By Morse theory, if[ai , ai+1]contains exactly one critical valuec for p, with ai < c < ai+1, andk is the index of thecorresponding non-degenerate critical point, thenSai+1 is homotopically equivalent to thespace obtained attaching ak-cell to Sai . This is sufficient for ouraim, because homotopi-cally equivalent spaces have the same homology groups and the same Euler characteristics.

The iterative step of the CCA algorithm requires to detect how thek-cell attachesto Sai and to reconstruct some data concerning the boundary ofSai+1 starting from thecorresponding data for the level surfaceSai . In Fortuna et al.(2003) it is explained howtheknowledge of these data allows us to compute the number of connected components ofSai+1 and their topological types.

First of all we need to study the shape of the level curvesCai = p−1(ai ) = S∩{z = ai },whose connected components are the boundary components of the level surfaceSai . Sincethe levelsai are non-critical values forp, any level curve to be studied is a non-singularcompact affine curve of even degree. Then allits connected components are ovals, i.e. eachof them disconnectsR2 into two connected components, one homeomorphic to a disc andcalled theinterior part of the oval, the other not bounded and called theexterior part ofthe oval. Recall also that an oval is called empty if no other oval is contained in its interiorpart; moreover a list[ω1, . . . , ωm] of ovals of a curve is called anestof depthm if ω1 isempty,ωi is contained in the interior part ofωi+1 for all i = 1, . . . , m − 1 (and anyotheroval containingωi contains alsoωi+1) andωm is not contained in the interior part of any

Page 7: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1557

oval of the curve. The shape of any level curve is completely determined when the set ofits nests isknown (see for instanceViro (1986) or Wilson (1978)) and it can be computedusing one of the several algorithms available in the literature.

The second main point in the iterative step of the algorithm is reconstructing the functionµai that associates to any ovalω of the curveCai the connected componentµai (ω) of Sai

containingω in its boundary. Observe first that, if an interval[a, b] contains no criticalvalue,thenCb has as many ovals and as many nests asCa and it is easy to computeµb

starting fromµa. Namely, assume thatP is a point in the center of a nest nof Ca, thatis P is internal to the first (i.e. the innermost) oval of the nest and therefore internal to allthe ovals of the nest. If we liftP up to the levelb following a continuous path that doesnot intersect the surface, the endpointP′ of this path lies in the center of a nestN of Cb

of the same depth asn. Then thek-th oval of N belongs to the boundary of the connectedcomponent ofSb that contains also thek-th oval ofn. The choice of a pointP in the centerof a nest and the computation of the ovals containingP′ can actually be performed, sincewe have added to the curve-algorithm two special functions:

– the functionfindOvals, givenapoint P ∈ R2 and a curveC, returns thelist of the ovals

of C containingP ordered by inclusion starting from the innermost oval,– the function findPoint, given an ovalω of C, returns a point lying insideω, more

precisely a pointQ suchthatω is the first oval of the sequencefindOvals(Q).

Just to fix notations, if R is a point in the plane{z = a} andb > a, we will denote byroadMap(R, b) the final pointα(1) of a continuous semialgebraic pathα : [0, 1] → {a ≤z ≤ b} suchthatα(0) = R, α(1) ∈ {z = b} andα([0, 1]) ∩ S = ∅. Similarily, if b < a,we will denote byinvRoadMap(R, b) the final point β(1) of a continuous semialgebraicpathβ : [0, 1] → {b ≤ z ≤ a} fulfilling the same conditions asα here above.

Our use of the word “roadmap” is somehow improper since, according to theterminology usually adopted in the literature, a roadmap in a semialgebraic setW ⊂ R

3

is requested to intersect any connected component ofW ∩ {z = a} for all a ∈ R. In ourcase we just need a continuous path not intersecting the surface and connecting pointsat different fixed levels, which is much simpler to construct. However, by an abuse oflanguage, we will keep on using the term “roadmap” to indicate such a path, preservingthe terminology used inFortuna et al.(2003).

For intervals[ai , ai+1] containing a critical value, the method outlined above does notallow to fully compute the functionµai+1 since there is not a bijective correspondencebetween the setof the ovals ofCai and the set of the ovals ofCai+1. In Fortuna et al.(2003)the authors proposed a way to develop the previous idea into a reconstructive procedurefor µai using an additional roadmap starting from a point next to the critical point. We arenow able to propose a different method, still based on “roadmaps”, but which avoids theproblems of precision due to the choice of a point sufficiently near the critical point. Let usstart to illustrate this new method in detail in the case of critical points of index 1, becausethis is the case presenting the widest range of situations.

To simplify our notations, we will describe how to computeµb starting fromµa when[a, b] is an interval containing in its interior part exactly one critical valuec, which isthe imageof a unique critical pointP ∈ S. If P has index 1,Sb is obtained fromSa byattaching a 1-cell to the boundary ofSa. There are twopossible situations: either the 1-cell

Page 8: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

1558 E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567

Fig. 2. List of possible situations whenCb has more ovals thanCa.

is attached to a single oval of the level curveCa, or it is attached to two distinct ovals ofit. It is easy to realize which is the situation, because in the formerCb has more ovals thanCa, in the latter it has fewer ovals. Since the two situations are nearly symmetric, we willdescribe the details of the reconstructive procedure forµa only in the first case.

Fig. 2shows the possible situations that can occur attaching a 1-cell to an ovalη of thecurveCa, which, in the passage through the critical value, gives origin to two distinct ovalsω1, ω2 of the curveCb.

We can assume that, by the previous iterative step, we already know the list[(P1, n1), . . . , (Pk, nk)], wheren1, . . . , nk are the nests of the curveCa andPi is apointin the center of the nestni . Denote by[N1, . . . , Ns] the list of the nests ofCb. Moreover,for anylist l , denote byl .i thei -th elementof thelist.

The essential step to compute the functionµb (and consequently to compute thetopology ofSb) is just computing, fori = 1, . . . , k,

Qi = roadMap(Pi , b) and Ov(Qi ) = findOvals(Qi ).

It may happen either thatOv(Qi ) coincides with a nestNj of Cb (and then we say thatNj

is reached through a roadmap) or not.If ni is a nest such that the list Ov(Qi ) contains as many elements asni , then

µb(Ov(Qi ). j ) = µa(ni . j ) for all j . In this way in particular we succeed in computingµb for all ovals belonging to nests ofCb that contain neither of the ovalsω1, ω2 originatedfrom the splitting of the ovalη of Ca. In order tocomplete the computation ofµb, it isnecessary to detectη, ω1, ω2; let us see howwe can do that, first of all deciding in whichof the cases(A1), . . . , (C2) ofFig. 2we are.

Page 9: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1559

Start by comparing the integersk ands, that is the number of the nests respectively ofCa andCb.

Case 1. s < k.Looking at Fig. 2, the only case in whichCb has fewer nests thanCa is (C1). In thiscase there exists a uniquePi suchthat Qi is not in the center of any nest ofCb. Thenω2 = Ov(Qi ).1 andη = ni .1. Moreover there exists at least onePj suchthat Ov(Qj ) isa nest containing more ovals thannj , precisely #Ov(Qj ) = # nj + 2. Thenω2 appears asone of the ovalsin Ov(Qj ): if ω2 = Ov(Qj ).r , thenω1 = Ov(Qj ).(r − 1).

Case 2. s = k.The possible cases in whichCb has as many nests asCa are (B1), (A2) and (C2).

• If there exists a (unique) nestN ∈ {N1, . . . , Ns} not reached through a roadmap (i.e.N �∈ {Ov(Qi )}i=1,...,k), then we are in case (B1). In thissituation there exists a uniquenestni suchthat Ov(Qi ) is not a nest ofCb; thenω1 = N.1, ω2 = N.2 andη = ni .1.

• If all the nests ofCb are reached through roadmaps and if, for alli , we have #Ov(Qi ) =# ni , then we are in case (A2). The ovalsη, ω1, ω2 can be found inspecting how ovalscommon to distinct nests inCa lif t through roadmaps. Namely, in case (A2) there existat least two nestsni �= nj such that, for some integersr andm, we haveni .r = nj .mbut Ov(Qi ).r �= Ov(Qj ).m. Thenη = ni .r (= nj .m), while ω1 = Ov(Qi ).r andω2 = Ov(Qj ).m.

• If all the nests ofCb are reached through roadmaps but there exists at least an indexisuch that # Ov(Qi ) �= # ni , we are incase (C2). Denote byL2 the list of the nestsni

such that #Ov(Qi ) = # ni + 2, and byL0 the list of theni such that #Ov(Qi ) = # ni .Note that in case (C2), bothL2 andL0 are non-empty. Letni be any element ofL2 andlet r be the smallest integer such thatOv(Qi ).r ∈ Ov(Qj ) for somenj ∈ L0. Thenω1 = Ov(Qi ).(r − 1) andω2 = Ov(Qi ).r . Moreover ifOv(Qi ).r = Ov(Qj ).m, thenη = nj .m.

Case 3. s > k.The possible cases are (A1) and (B2). In both cases there exists a unique nestN ∈{N1, . . . , Ns} not reached through roadmaps, i.e.N �∈ {Ov(Qi )}i=1,...,k. Then ω1 =N.1. To determineη and ω2 we take Q in the interior part ofω1 (for instanceQ =findPoint(ω1)) and compute P = invRoadMap(Q, a). Let r = # findOvals(Q) andm = # findOvals(P) (possiblym = 0, if P is not contained in any oval ofCa).

• If r = m, we are in case (A1) andη = findOvals(P).1. Once we have found a nestni

suchthatη = ni . j , thenω2 = Ov(Qi ). j .• If r > m, we are incase (B2). This timeω2 = N.2. If ω2 = Ov(Qi ). j , thenη = ni . j .

We proceed in a similar way when a 1-cell is attached to two distinct ovalsω1 andω2 of Ca that glue together into a single ovalη of Cb. The ovalη is in the boundary ofthe connected component ofSb containing bothµa(ω1) andµa(ω2). This is theonly casewhen two distinct connected components ofSa may glue together : if µa(ω1) �= µa(ω2)

(i.e.ω1 andω2 bound distinct connected components ofSa), then the distinct componentsµa(ω1) andµa(ω2) glue into a single connected componentµb(η) of Sb.

Page 10: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

1560 E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567

Af ter the previous considerations, it should be clear how to reconstructµb when wepass through a critical point of index 0. In the case of index 2, it is sufficient to adapt theprevious method preliminarily computing, by means offindPoint, apoint Qi in the centerof each nestNi of Cb and the corresponding pointPi = invRoadMap(Qi , a).

Example. Let S⊂ R3 be the surface defined by the equation

F(x, y, z) = 169

6250z6 + 1

6250(11154y2 + 11141x2 + 11059)z4 − 4yz3

+(

21801

6250y4 +

(42757

6250x2 + 1340243

6250

)y2 + 3353

1000x4

+ 107211

500x2 − 667

8

)z2 + 256(1 − x2 − y2)yz+ 5408

3125y6

+ 1

3125(15808x2 − 1225408)y4 +

(616

125x4 − 99216

125x2

+ 46952

5

)y2 + 8

5x6 − 2008

5x4 + 9400x2 − 9000= 0.

The projective closure ofS in RP3, defined by the homogenized polynomialt6 F( x

t ,yt , z

t ),does not meet in real points the plane at infinity{t = 0}, hence S is compact inR

3.After testing thatS is non-singular and that the projectionp : S → R, p(x, y, z) = z,is a Morse function, the algorithm computes 6 critical values contained in the interval[−10, 10], which is subdivided as[−10,−7]∪[−7,−4]∪[−4, 0]∪[0, 4]∪[4, 7]∪[7, 10]sothat each subinterval contains exactly one critical value. By an abuse of language we willsay that a critical value has indexr if it is the image throughp of a critical point of indexr .

Page 11: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1561

Each of the first two intervals[−10,−7] and[−7,−4] contains a critical value of index0 and the level curveC−4 consists of two ovals each external to the other. The third criticalvalue,lying in [−4, 0], has index 1. SinceC0 has only one nest of depth 3, thenC0 has moreovals thanC−4 (i.e. the 1-cell is attached to a single oval ofC−4), but fewer nests, hence weare in Case (C1) ofFig. 2. Lifting from level 0 to level 4, we pass through a critical value ofindex 1 andC4 has two nests, each of depth 1. Hence the 1-cell is attached to two distinctovals ofC0, that we can detect simply computing the endpointQ = roadMap(P, 4) for apoint P in the center of the unique nest ofC0 and finding, usingfindOvals, the smallestoval ofC4 containingQ. The investigation of the last two intervals[4, 7] and[7, 10], eachcontaining a critical value of index 2, allows us to realize thatS has two connected com-ponents, respectively of Euler characteristic 0 and 2. ThusS is the disjointunion of a torusand a sphere.

4. The general-case algorithm

In this section we want to see how we canalgorithmically proceed to compute thetopology of a non-singular real projective surfaceSdefined by the equationF(x, y, z, t) =0, with F a homogeneous polynomial of degreed. Recall that checking thatS is non-singular means to check that the algebraic variety defined by the homogeneous idealgenerated by all four partial derivatives ofF(x, y, z, t) does not contain any real point,while complex singularities are allowed.

If S does not intersect (in real points) the lineL = {z = t = 0}, we are inthe situationwhen the topology ofS can be studied using the algorithm presented inFortuna et al.(2003). From now on, we will therefore assume thatS∩ L �= ∅, which for instance alwaysoccursif the degreed is odd. In this situation, as we have already seen inSection 2, thetopological determination ofScan be reduced to studying the compact affine non-singularsurface S ⊂ R

3 defined by the equationG(x, y, z) = 0 and to recognizing the sets ofcomponentsF1 and F2. The former task can be achieved applying toS the algorithmCCA recalled in theprevious section; thus, when CCA stops, we know the connectedcomponents ofS (or equivalently ofS) and their Euler characteristics.

In order to complete the topological determination ofSwe only need to compute the setsF1 andF2 recalling that, byProposition 2.5, Tj ∈ F1 if andonly if there existω1, ω2 ∈ O,possibly coinciding, contained in the same connected component ofS and such thatinv(ω1) = ω2. In particular all the components ofS not intersectingW necessarily belongto F2. Thus, the further tasks we have to perform algorithmically are to determine the listO of the connected components of the curveC0 = W∩ S = {G(x, y, 0) = 0} and, for eachovalω ∈ O, to recognize both the connected component ofSwhere it is contained and thecorresponding ovalinv(ω). Up to a translation of the surfaceS, wecan assume that 0 is nota critical value for the projectionp sothat we can choose 0 as one of the non-critical levelsai mentioned above. ThusW is transversal toS andC0 is non-singular. Since 0 appearsamong the levelsai , at the corresponding iterative step the algorithm CCA applied toSalready performs the following tasks:

Page 12: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

1562 E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567

Fig. 3. Distinct components ofS0 that glue inS.

T1. it computes the listO of the ovals of C0 and the shape ofC0; more precisely thefunction nestsZero returns a list [(P1, n1), . . . , (Pr , nr )], wheren1, . . . , nr are thenests ofC0 andPi is a point internal to all the ovals of the nestni ,

T2. it computes a functionµ0 : O → S, whereS denotes the set of the connectedcomponents of the level surfaceS0 = S∩ {z ≤ 0} and, for each ovalω of the curveC0, µ0(ω) is the connected component ofS0 containingω in its boundary.

Note that if ω1, ω2 ∈ O and µ0(ω1) = µ0(ω2), then the connected componentsT(ω1) and T(ω2) of S, respectively containingω1 andω2, coincide. On the contrary, ifµ0(ω1) �= µ0(ω2), wecan only be sure thatω1 andω2 belong to different components ofthe level surfaceS0. Nevertheless it may happen that the two components are then glued inS(and henceT(ω1) = T(ω2)) when passing through a critical value> 0 by the attachmentof a 1-cell to two distinct ovalsσ1 andσ2 of a level curveCai suchthatµai (σ1) containsω1 andµai (σ2) containsω2 (see for instanceFig. 3). This is simple to detect by means ofthe procedure described inSection 3.

The only question left is therefore, for each ovalω of C0, determining the ovalinv(ω).The next proposition shows how this canbe done using the mentioned functionsfindOvalsandfindPoint. Observe that the restriction ofinv to W \ {0} is an inversion transformingpoints next to 0 to points “next to infinity” and viceversa. If we identifyW with R

2 anddenote byR2 the extended plane obtained adjoining∞ to R

2, then we can considerinv asa continuous function onR2 suchthat inv(0) = ∞ andinv(∞) = 0.

Proposition 4.1. Letω be an oval ofC0 and denote by int(ω) the interior part ofω.

(a) If 0 �∈ int(ω), then f indOvals(inv( f ind Point(ω))) = [inv(ω), . . .].(b) If f indOvals(0) = [ω0, . . . , ωp], then inv(ωi ) = ωp−i for all i = 0, . . . , p.(c) If [ω1, . . . , ωm] is a nest ofC0 and j is the biggest index in{1, . . . , m} suchthat 0 is

not internal toω j , then

findOvals(inv(findPoint(ω1))) = [inv(ω1), . . . , inv(ω j ), . . .].Proof. (a) Note thatinv transforms each connected component ofR2 \ ω into a connectedcomponent ofR2 \ inv(ω). If 0 �∈ int(ω), then 0 and∞ belong to the same component ofR2 \ω and therefore alsoinv(0) andinv(∞) belong to the same component ofR2 \ inv(ω).

Page 13: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1563

Thus 0 �∈ int(inv(ω)). By the sameargument, ifP ∈ int(ω) (i.e. P and∞ lie in differentcomponents ofR2 \ ω), theninv(P) ∈ int(inv(ω)), so thatinv(int(ω)) = int(inv(ω)). As aconsequence, if we takeP = findPoint(ω), theninv(P) ∈ int(inv(ω)). Moreoverinv(ω) isthe first oval containinginv(P): otherwise, if thereexistsω′ suchthat inv(P) ∈ int(ω′) ⊂int(inv(ω)), then by the sameargumentP ∈ int(inv(ω′)) ⊂ int(ω). This is impossiblebecause, by the definition offindPoint, ω is the smallest oval containingP.(b) If 0 ∈ int(ω), then 0∈ int(inv(ω)): otherwise, by (a), 0 �∈ int(inv(inv(ω))) = int(ω).SinceC0 is non-singular, one of the ovalsω and inv(ω) is contained in the interior partof the other, and thereforeinv permutes the ovalsω0, . . . , ωp. We get the thesis simplyobserving that, for alli , inv transformsint(ωi ) into the exterior part ofinv(ωi ).(c) It is readily proved using the previous arguments.�

By Proposition 4.1, in order to subdivide the set of the connected components ofS intoF1 and F2, it is sufficient, when passing through the level 0, to computefindOvals(0)

and findOvals(inv(Pi )) for the points Pi given above in T1. After doing that, as aconsequence ofRemark 2.3we know that, if an integer appears in the listL(F2) of theEuler characteristics of the components inF2, it appears an even number of times. Itis then sufficient to create a newlist of integers as follows: ifχ appears 2n times inL(F2), we insert itn times in the new list. The integers in this new list represent theEuler characteristics of the connected componentsTm+1, . . . , Tq in Proposition 2.2andtopologically determine them.

5. Final remarks and examples

Although our emphasis was put on the theoretical aspects of the problem, we have in factdeveloped a preliminary implementation of the algorithm and we were forced to confrontsome technical problems that we outline below.

The general-case algorithm consists of three main parts: the reduction to the study of asuitable compact affine surfaceS, the use of CCA to compute its topology and finally thereconstruction of the topology ofS. The first and third parts are relatively simple, whilethe second part is very demanding both for the complexity of its implementation and forits computational cost. Clearlythe computational cost of this step is greatly influenced bythe degree of the polynomial defining the surface; since studyingS instead ofS doublesthe degree of thedefining equation, the efficiency of the whole algorithm can be heavilyaffected. Therefore, in order to obtain a satisfactory implementation, very sophisticatedtools should be used.

The most delicate steps from this point of view are certainly the non-singularity test, thenon-degeneracy test for the real critical points, the computation of the real critical pointsand values and the lifting of the needed system of data from one level to the next one in theiterative procedure.

The first two tasks require to decide whether the real zero-setVR(I ) of an idealI ofR[x, y, z], possibly 1-dimensional, is empty, distinguishing between the real and complexsolutions of the corresponding polynomial system. Taking advantage of the low dimensionand the specific geometric features of our situation, we used a special purpose method,based on Gröbner bases and a related structure theorem for 1-dimensional ideals, which is

Page 14: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

1564 E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567

described inFortuna et al.(2003, in press). Hence these tasks canbe completely performedwith exact arithmetic.

Instead, for the computation of the critical points and for the lifting process, thedifficulties that arise are mainly of numerical nature. We need to compute the critical pointswith very high precision, thus this part of the algorithm needs highly optimized software.An accurate complexity analysis of the numerical aspects, though, was out of the scope ofthis paper, sowe defer such a study to further research.

We conclude this section with some examples, not chosen for their topological interest,but presentedwith the aim of exemplifyingthe main stepsof our algorithm.

Example 1. Let F(x, y, z, t) = −z3 + (y+ x −4t)z2 + (−y2 −2yt − x2 +8xt +2t2)z+y3 + (x − 6t)y2 + (x2 − 10xt + 10t2)y + x3 − 16x2t + 70xt2 − 65t3.

The projective surfaceS defined by the homogeneous equationF(x, y, z, t) = 0 isnon-singular. Since the degree ofF is odd, surelyS intersects the lineL = {z = t = 0}in at least one real point, so that the Compact-Case-Algorithm cannot be applied toS. Thus we consider the compact 6-degree surfaceS in R

3 defined byG(x, y, z) =F(2x, 2y, 2z, x2 + y2 + z2 − 1) = 0 and compute its topology.

The restriction toS of the projection p(x, y, z) = z turns out tobe a Morse functionhaving 6 distinct critical values, respectively of index 0, 0, 0, 2, 2, 2, contained in theinterval[−3, 3]. This interval is then subdivided as[−3, a1] ∪ [a1, a2] ∪ [a2, 0] ∪ [0, a4] ∪[a4, a5] ∪ [a5, 3] (i.e. we can choosea3 = 0) in such a way that each subinterval containsexactly one critical value in its interior part.

The algorithm iteratively reconstructs the topology of the level surfacesSai ; inparticular, when passing through the levela3 = 0, it gives us the following additionalinformation:(a) the functionnestsZero returns the list [[P, [ω2, ω1]], [Q, [ω3]]]. Thus we recognizethat the level curveC0 contains two nests: the first consists of two ovalsω2 andω1 withP a point internal to both ovals; the second nest contains a single ovalω3 containing thepoint Q,(b) the output of the functionµ0 tells us thatω1, ω2, ω3 are contained in 3 distinctconnected components ofS∩ {z ≤ 0}.

When the Compact-Case-Algorithm stops, we see thatS has 3 connected components,each having Euler characteristic 2, i.e. each is a sphere. Moreover there was no gluing ofsurface components passing through the critical values> 0 (which is obvious since in thisexample there is no critical value of index 1).

In order to compute the topological type ofS we need to splitF = {T1, T2, T3}into F1 ∪ F2. First of all, using Proposition 4.1, the algorithm computes the ovalsinv(ω1), inv(ω2), inv(ω3) corresponding through inversion to the ovalsω1, ω2, ω3 of thecurveC0. SincefindOvals(0) = [ω1], theninv(ω1) = ω1. Moreover sincefindPoint(ω2) =P andfindOvals(inv(P)) = [ω3], theninv(ω2) = ω3 andinv(ω3) = ω2 (seeFig. 4).

As a consequence of the criterion given inProposition 2.5, we getthat F1 = {T1}and F2 = {T2, T3}. Coming back to the surfaceS, we have that F1 = {T1} andF2 = {T2, T3 = ap(T2)}, whereTi is a sphere fori = 1, 2, 3. Then, byProposition 2.2,

S is homeomorphic to the disjoint union ofM(χ(T1)

2 ) = M(1) and T2. Thus S has twoconnected components: one of them is a projective plane and the other one is a sphere.

Page 15: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1565

Fig. 4. The shape of the curveC0 in Example 1.

Example 2. Let S be the projective surface defined byF(x, y, z, t) = 2yz2 − (4y2 +2xy + 2yt)z + 5y3 + (4x + 7t)y2 + (x2 + 4xt − t2)y + x2t − 2xt2 + t3 = 0.

S is non-singular and intersects the lineL, so we preliminarily study the compact 6-degreesurfaceS⊂ R

3.The CCA algorithm computes 6 distinct critical values of index 0, 1, 1, 1, 1, 2 contained inthe interval[−4, 4] and subdivides it as[−4,−1]∪[−1,− 6881

32768]∪[− 688132768, 0]∪[0, 2817

8192]∪[2817

8192, 1] ∪ [1, 4].The level surfaceS−1 is topologically a disc; then we successively pass through four criticalvalues ofindex 1, that CCA investigates as explained inSection 3. So we see that both in[−1,− 6881

32768] and in [0, 28178192] a 1-cell is attached to a single oval, which splits into two

ovals; inthe first interval the two new ovals form a nest (so we are in case (B1) ofFig. 2),while in the second interval the two ovals areeach external to the other (so we are in case(A1)). In contrast in both intervals[− 6881

32768, 0] and[28178192, 1] a 1-cell is attached to distinct

ovals that are glued together.Fig. 5shows some sections ofS at different levels.

Fig. 5. Some sections of the surfaceSof Example 2.

Page 16: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

1566 E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567

Eventually we get thatS is connected and its Euler characteristic is−2, that is Sis a torus with 2 holes. NecessarilyF1 = {S} and F2 = ∅. By Proposition 2.2, S is

homeomorphic toM(χ(S)

2 ) = M(−1), that isS is the connected sum of a projective planeand a torus.

Example 3. The projective surfaceSdefined byF(x, y, z, t) = z4−8xz3+2(y2+7x2+t2)z2 + 8(x3 − xy2 − xt2)z + y4 + 2(7x2 + t2)y2 − 15x4 − 2x2t2 + t4 = 0 is non-singular and intersects the lineL = {z = t = 0}. So we start to study the 8-degree affinesurfaceS obtained in the usual way. The projectionp has 8 non-degenerate critical pointson S respectively of index 0, 0, 1, 1, 1, 1, 2, 2 and the corresponding 8 critical values arecontained in the interval[−5, 5].When studying the level surfaceS∩ {z ≤ 0}, the algorithm output tells us that(a) nestsZero= [[P, [ω1]], [Q, [ω2]]], i.e. C0 contains two ovalsω1 andω2 each externalto the other,(b) µ0(ω1) �= µ0(ω2), that isω1 andω2 bound two distinct connected components ofS∩ {z ≤ 0}.At the end of the iterative steps of CCA, we see thatShas 2 connected componentsT1 andT2 each having Euler characteristic 0, i.e.S consists of two tori. We also see thatω1 andω2 are respectively contained inT1 and T2. Since 0 is external both toω1 and toω2 andfindOvals(inv(P)) = [ω2], theninv(ω1) = ω2 andinv(ω2) = ω1. Thus we recognize thatF1 = ∅ andF2 = {T1, T2}; therefore S is homeomorphic toT1, that is to a torus.

Example 4. The non-singular surfaceS defined by the homogeneous equation 16z4 −32z3t + (32x2 − 80y2− 56t2)z2 + (80y2− 32x2 + 72t2)zt+ 64y4+ 108y2t2 − 80x2y2 +16x4 − 72x2t2 + 29t4 = 0 intersects the lineL. The projection p is a Morsefunctionon the “doubled” surfaceS ⊂ R

3 and has 8 non-degenerate critical points of index0, 0, 1, 1, 1, 1, 2, 2 corresponding to 8 critical values contained in the interval[−8, 8]. Thecomputations of CCA yield thatShas two connected componentsT1 andT2, each of Eulercharacteristic 0, i.e.S is the disjoint union of two tori. Moreover the curveC0 = S∩{z = 0}consists of two nests of depth 2; more preciselynestsZero= [[P, [ω2, ω1]], [Q, [ω4, ω3]]]with ω1, ω3 contained in the surface componentT1 and ω2, ω4 contained inT2. Since0 turns out to be external to both nests ofC0 and findOvals(inv(P)) = [ω4, ω3], theninv(ω2) = ω4 and inv(ω1) = ω3. Then F1 = {T1, T2} and F2 = ∅; hence S is

homeomorphic toM(χ(T1)

2 ) ∪ M(χ(T2)

2 ) = M(0) ∪ M(0), i.e. S has two connectedcomponents and each of them is a torus.

References

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

Fortuna, E., Gianni, P., Parenti, P., Traverso, C., 2003. Algorithms to compute the topology oforientable real algebraic surfaces. J. Symbolic Comput. 36 (3–4), 343–364.

Fortuna, E., Gianni, P., Parenti, P., Some constructions for real algebraic curves. J. Symbolic Comput.(in press).

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

Page 17: Algorithmical determination of the topology of a real algebraic … · E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1553 thebasic idea is proving that

E. Fortuna et al. / Journal of Symbolic Computation 38 (2004) 1551–1567 1567

Massey, W.S., 1991. A Basic Course in Algebraic Topology. Springer-Verlag, New York.Milnor, J., 1963. Morse Theory. Princeton University Press, Princeton, NJ.Vi ro, O.Y., 1986. Progress in the topology of real algebraic varieties over the last six years. Russian

Math. Surveys 41, 55–82.Vi ro, O., 1998. Mutual position of hypersurfaces in projective space. Amer. Math. Soc. Transl. Ser.

2 186, 161–176.Wilson, G., 1978. Hilbert’s sixteenth problem. Topology 17 (1), 53–73.