So in generic position, the curve has no vertical asymptote and its x-critical points have different x-coordinates.. 3.6.1 The Algorithm from a Geometric Point of View In this section, we
Trang 1140 B Mourrain, S Pion, S Schmitt, J-P T´ecourt, E Tsigaridas, N Wolpert
all roots of p(x) One example for a root bound is the Lagrange-Zassenhaus
Theorem 6 Let E be a real algebraic expression with val(E) = ξ Let u(E)
and l(E) be defined inductively on the structure of E according to the following rules:
E1± E2 u(E1)· l(E2) + l(E1)· u(E2) l(E1)· l(E2)
E1· E2 u(E1)· u(E2) l(E1)· l(E2)
E1/E2 u(E1)· l(E2) l(E1)· u(E2)
E1 and u(E1)≥ l(E1) k
u(E1)l(E1)k −1 l(E1)
Separation bounds have been studied extensively in computer algebra [77,
254, 345, 304] as well as in computational geometry [75, 343, 73, 242].The separation bounds given above can be improved using the fact that
powers of integers can be factored out from the number before computing the
separation bound [285, 306]
3.5 Multivariate Problems
Geometric problems in 3D often involve the solution of polynomial equations
in several variables This problem can be reduced to a univariate problemand thus to the manipulation of real algebraic numbers, as follows We areinterested in the case of zero-dimensional systems, i.e systems that have onlyfinitely many complex solutions
We denote by f1 = 0, , fm = 0 the polynomial equations in K[x] =
K[x1, , xn] that we want to solve The quotient ring K[x]/(f1, , fm) of polynomials modulo f1, , fm ∈ K[x1, , x n] is denoted by A In the case
that we consider here, where the number of complex roots is finite, the quotientalgebra A is a finite-dimensional vector space over K.
We consider the operators of multiplication M g by an element g in the
ringA:
M g:A → A
a → g a
Trang 23 Algebraic Issues in Computational Geometry 141Then, the algebraic solution of the system is performed by analyzing theeigenvalues and eigenvectors of these operators It is based on the next theorem
which involves the transposed of the operators M t
g By definition, M t
gis acting
on the set of linear forms A on A If ζ is a root of the polynomial system f1 = 0, , fm= 0, then the map 1ζ : g → g(ζ) is an element A.
Here is the main theorem from which we deduce the root computation:
Theorem 7 Assume that the set of complex solutions of f1= 0, , fs= 0
is the finite set {ζ1, , ζ d }.
1 Let g ∈ A The eigenvalues of the operator M g (and its transpose M t
g ) are g(ζ1 ), , g(ζd).
2 The common eigenvectors of (M g t ) for g ∈ A are (up to a scalar) the
eval-uation 1 ζ1, , 1 ζ d
The first point of this theorem can be found in [39] and the second in [261].This theorems implies in particular that the common eigenvectors of the trans-
pose of the operators Mx1, , M x n of multiplication by x1, , xn,
corre-spond to the linear forms which evaluate a polynomial at a root A numericalapproximation of these roots of the system can thus be obtained by comput-ing the common eigenvectors of these operators, using standard linear algebratools See [39, 105, 261, 266, 328, 107, 143, 267] for more details on this ap-proach
These operators can also be used to describe the solution points as theimage, by a rational map, of the roots of a univariate polynomial In otherwords, the (real) coordinates of the solutions are rational functions evaluated
at real algebraic numbers whose defining equations can be deduced explicitly
from the matrices M x i It leads to Algorithm 8, which yields the so-called
Rational Univariate Representation (RUR) of the roots For details on this
Algorithm 8 Rational Univariate Representation of the roots
Input: The tables M x1, , M x n of multiplication by x1, , x ninA.
1 Compute the determinant ∆(u) := det(u0I + u1M x1+· · · + u n M x n) and its
square-free part d(u).
Trang 3142 B Mourrain, S Pion, S Schmitt, J-P T´ecourt, E Tsigaridas, N Wolpertconstruction, see [247, 186, 298, 44, 142].
The generic condition required in Algorithm 8 on t ∈ K n+1 is that it
separates the roots:n
i=0 ζ i t i =n
i=0 ζ i t i if ζ and ζ are two distinct solutions
of the system Methods to find a generic t are described for instance in [298].
In order to get a minimal rational univariate representation, one can
fac-torize d0(u0) and keep the irreducible factors, which divide the numerator of
the fraction obtained by substituting x i with d i (u0 )
d 0(u0 ).This Rational Univariate Representation (RUR) allows us to replace thetreatment of solutions of a multivariate system by the manipulation of alge-braic numbers of degree bounded above by the number of complex solutions
of the system
Another important aspect is that we can compute a RUR of a polynomialsystem with coefficients in an algebraic extension Q[θ], for θ an algebraic
number, i.e with coefficients inQ[x]/(p(x)), where p is the minimal polynomial
of θ Computing the tables of multiplication and the RUR of the roots over Q[θ] require field arithmetic operations and equality test in Q[θ], which are performed easily by reduction modulo p.
3.6 Topology of Planar Implicit Curves
As an application of these algebraic techniques, we detail the computation ofthe topology of an implicit curve It is a key ingredient of many geometricproblems including arrangement computation on arcs of curves, intersection
of surfaces, We consider first a curve C defined as the zero locus V(f)
of a polynomial in two variables f (x, y) ∈ Q[x, y] We can assume that f
is square-free (otherwise, we perform Algorithm 6) In Section 3.6.1, we aregoing to present from a geometric point of view the way the topology iscomputed In this computation, we need to manipulate algebraic numbers
In Section 3.6.2, we describe different algebraic tools allowing to certify thecomputation Finally, in Section 3.6.3, we present an alternative to the firstalgorithm As the condition of genericity is costly, we propose an algorithmpartially based on subdivision which deals with algebraic curves even not ingeneric position
Before explaining how the algorithm works, we will give some definitions:
Definition 8 (Critical point) A point (α, β) of C = V(f) is x-critical if
Trang 43 Algebraic Issues in Computational Geometry 143
• The leading coefficient of f with respect to y (polynomial in x) has no real roots.
• For every α in R, the number of critical points with x-coordinate α is at most 1.
So in generic position, the curve has no vertical asymptote and its x-critical points have different x-coordinates.
3.6.1 The Algorithm from a Geometric Point of View
In this section, we are going to present the geometric idea permitting to recoverthe topology of the curve from the computation of some particular points
Algorithm 9 Topology of an implicit planar curve
Input: a polynomial f (x, y) ∈ Q(x, y) defining a curve C ⊂ R2
polyno-2 Compute the x-critical points {P i = (α i , β i)}.
3 Check that the curve is in generic position (see Section 3.6.2) and if it is not weperform a random change of variables and restart from step 1
4 For each critical point P i = (α i , β i), compute the number of regular points with
x-coordinate α i which are above and below P iusing Sturm sequences
5 Compute the number of arcs above a value between two successive abscissas
α i , α i+1 , which is constant It can be done for example choosing a rational coordinate a between α i and α i+1and computing the number of real solutions of
x-f (a, y) = 0 using Sturm sequences Then we compute numerical approximations
of those different points
6 Construct the segments connecting the points computed before For that
pur-pose, consider a section x = α i , i.e all the points of the curve with abscissas α i and the next section x = α i+1(see Figure 3.1)
• Choose a rational point a ∈ ]α i , α i+1[ and compute the section corresponding
to x = a.
• In the section x = α i , compute the number λ iof points ofC above (α i , β i)
and µ i the number of points below
• Connect the λ i points above (α i , β i ) with the λ i points of largest coordinate of the section x = a, respecting the order on the y-coordinate.
y-• Connect the µ i points under (α i , β i ) with the µ i points of smaller coordinate of the section x = a, respecting the order on the y-coordinate After that, connect the remaining points of the section x = a to the critical point (α i , β i)
Trang 5y-144 B Mourrain, S Pion, S Schmitt, J-P T´ecourt, E Tsigaridas, N Wolpert
Fig 3.1 Connections
3.6.2 Algebraic Ingredients
Computing the topology will lead us to the treatment of algebraic numbers
In this section, we come back to some delicate points of the algorithm Weshow how to use the algebraic tools presented in the previous section to certifythese steps
Computing the critical points:
Proposition 6 Let f be a square-free polynomial in R[x, y] of degree d
in y, such that C = V(f) is in generic position.
Let Sr j and sr j denote the j th subresultant and subresultant coefficient of
f and ∂f ∂y (considered as polynomials in y) If (α, β) is a critical point of
C, then there exists k ∈ N ∗ such that:
Φ1(x) Φ2 (x) = gcd(Φ1(x), sr2(x)) Γ2= Φ1(x)
Φ2(x) Φ3 (x) = gcd(Φ2(x), sr3(x)) Γ3= Φ2(x)
Φ3(x)
Φ0 (x) = gcd(Φd−2 (x), srd−1 (x)) Γd−1 =Φ Φ d−2 (x) (x)
Trang 63 Algebraic Issues in Computational Geometry 145
We deduce that the square-free part Φ0(x) of sr0(x) can be written as Φ0 = Γ1(x).Γ2(x) · · · Γ d −1 (x) If (α, β) is a critical point of C in generic position, then α is a root of Φ0 It is in fact the root of one and only one of
the Γi And if α is a root of Γk, we have that sr1(α) = 0, , srk −1 (α) =
0, srk (α) = 0 Thus gcd(f(α, y), ∂f
∂y (α, y)) = Srk(α, y) and β is the only
root of Srk(α, y) (with multiplicity k)
Generic position: An important operation that we have to perform, is to check
thatC is in generic position If α i is the x-coordinate of a critical point,
α i is the root of a certain Γk and we note this root α k i Then:
Proposition 7 The curve C is in generic position if and only if for every
We have to check that Srk (α k
i , y) has only one distinct root where α k
i is
defined by a pair (Γ k , ]a, b[), so that α k
i is the only root of Γ k in ]a, b[ We
compute a Sturm sequence for Srk (α k
i , y) It is a family of polynomials
in Q[αi ][y] So to apply Sturm’s theorem, we need to compute signs of polynomials expressions in α k
i Such signs can be computed, using anotherSturm sequence
Number of points above and under a critical one: Assume C is in generic sition If Pα = (α, β) is a critical point of C, then we need to compute the number of regular points with x-coordinate α which are above and under Pα We can assume that α is a root of Γk Then y-coordinates
po-of the regular points with abscissas α are the roots po-of the polynomial
F k (α, β, y) = (y f (α,y) −β) k The coefficients of F k (α, β, y) can be computed in
an inductive way [185] So as β is a rational expression of α we obtain the coefficients of Fk(α, β, y) as rational expressions in α We determine the number of roots of this polynomial such that y − β > 0 (resp y − β < 0).
This can be computed again using Sturm sequences [106]
3.6.3 How to Avoid Genericity Conditions
We have seen that to check the genericity position of a curve, we had to pute several Sturm sequences, which can be costly An important improvementwould be able to deal with curves even not in generic position
com-1 We compute the two resultants Resy(f, ∂yf ) and Res x(f, ∂y f ) This allows
us to compute isolating boxes, containing at most one x-critical point of the curve Let B = ]a, b[ ×]c, d[ be a box which contains an x-critical point (α, β) First, we refine (or delete) the box so that there is one and only one point with abscissa α in B For that, we compute the Sturm sequence
of f (α, y) and compute the number of changes of sign on ]c, d[ We refine
the box until the number of changes is at most one (if it is 0, the box isempty and we delete it)
Trang 7146 B Mourrain, S Pion, S Schmitt, J-P T´ecourt, E Tsigaridas, N Wolpert
2 Assume P α,1 , , P α,k are the x-critical points with abscissas α sorted according to their y-coordinate After the first step Pα,iis isolated in a box
]ai , b i[ ×]c i , d i[ We compute the Sturm sequence of f (α, y) and ∂y f (α, y) and compute the number nk of points with y-coordinate bigger than dk Then nk is the number of points above Pα,k, nk −1 − n k − 1 is the number
of points between Pα,k −1 and Pα,k, ,n1−n2 −1 is the number of points between Pα,1 and Pα,2 At last we compute the number of points with y-coordinate smaller than c1 We have a family of boxes corresponding
to x-critical points with abscissas α Up to refinement, we assume all the boxes have the same x-coordinates a, b (the boxes are of the type ]a, b[ ×]c, d[) What we want, is to refine the boxes so that if the box is
B =]a, b[ ×]c, d[, then the curve C does not intersect the sides [(a, c), (b, c)] and [(a, d), (b, d)] For that, we compute the Sturm sequences of f (x, c) and f (x, d) and we refine the size of the box until the number of sign changes (for the interval ]a, b[) is 0.
3 The next step consists of computing the number of points of tion ofC with the side [(a, c), (a, d)] (resp [(b, c), (b, d)]) This is done by computing the Sturm sequences of f (a, y) and ∂y f (a, y) (resp f (b, y) and
intersec-∂ y f (b, y) ) on ]c, d[ We compute the number of points in an ate section x = a ∈ Q (using the Sturm Sequence of f(x, y), ∂ y f (x, y) at
intermedi-x = a.
4 The connections of the different points is made similarly as in the genericcase
3.7 Topology of 3d Implicit Curves
We consider here an implicit curve in an affine space of dimension 3 Bydefinition, it is an algebraic variety CC = V(f1, , f m) (fi ∈ R[x, y, z]) of
dimension 1 in C3 We denote by I( CC) ⊂ R[x, y, z], the ideal of the curve
CC (that is the set of polynomials which vanish onCC) and by g1, , gs ∈ R[x, y, z] a set of generators: I(CC) = (g1, , gs) By Hilbert’s Nullstellensatz [107, 202], we have I( V(f1, , f k)) = √
I ⊂ R[x, y, z] It can be proved [141, 202], that 3 polynomials g1, g2, g3 ∈ R[x, y, z] are enough to generate I(CC).For simplicity, we will consider here that the curve is described as the
intersection of two surfaces P1(x, y, z) = 0, P2(x, y, z) = 0, with P1, P2 ∈ R[x, y, z] We assume that the gcd of P1 and P2 in R[x, y, z] is 1, so that V(P1 , P2) =CC is of dimension 1, and all its irreducible components are ofdimension 1 We are interested in describing the topology of the real part
CR={(x, y, z) ∈ R3, P1 (x, y, z) = 0, P2(x, y, z) = 0 },
that we will denote hereafter byC.
In this section, we assume moreover that I( C) = (P1 , P2) or
equiva-lently that (P1, P2) is a reduced ideal, that is equal to its radical: (P1, P2) =
(P , P )
Trang 83 Algebraic Issues in Computational Geometry 147
We will not consider examples such as P1= x2+y2−1, P2 = x2+y2+z2−1, where (P1, P2) = (x2+y2−1, z2) and I( C) = (x2+y2−1, z), so that the curve C
is defined “twice” by the equations P1= 0, P2= 0 (the two surfaces intersecttangentially along C) Such a property can be tested by projecting into a
generic direction and testing if the equation computed from the resultant
of P1, P2 is square-free, or by more general methods such as computing the
radical of (P1, P2) [192]
The general idea behind the algorithm that we are going to describe is
as follows: we use a sweeping plane in a given direction (say parallel to the
(y, z) plane) to detect the critical positions where something happens We also compute the positions where something happens in projection on the (x, y) and (x, z) plane Then, we connect the points of the curve of C on these critical
planes This yields a graph of points, connected by segments, with the sametopology as the curve C.
3.7.1 Critical Points and Generic Position
In this section, we make more precise what we mean by the points where
something happens These points will be called hereafter critical points.
Definition 12 Let I( C) = (g1, g2, , g s) and let M be the s × 3 Jacobian matrix with rows ∂ x g i , ∂ y g i , ∂ z g i
• A point p ∈ C is regular (or smooth) if the rank of M evaluated at p is 2.
• A point p ∈ C which is not regular is called singular.
• A point p = (α, β, γ) ∈ C is x-critical (or critical for the projection on the x-axis) if the curve C is tangent at this point to a plane parallel to the (y, z)-plane i.e., the multiplicity of intersection of the plane with I( C) at p
is greater or equal to 2 The corresponding α is called an x-critical value.
A similar definition applies to the orthogonal projection onto the y and z axis
or onto any line of the space Notice that a singular point is critical for anydirection of projection
If I( C) = (P1 , P2), then the x-critical points are the solutions of the system
P1(x, y, z) = 0, P2(x, y, z) = 0, (∂ y P1∂ z P2− ∂ y P2∂ z P1)(x, y, z) = 0. (3.1)
In the case of a planar curve defined by P (x, y) = z = 0, with P (x, y) square-free so that I( C) = (P (x, y), z), this yields the following definitions: a point (α, β)
• is singular if P (α, β) = ∂ x P (α, β) = ∂ y P (α, β) = 0.
• is x-critical if P (α, β) = ∂ y P (α, β) = 0.
This allows us to describe the genericity condition that we require for thecurveC, in order to be able to apply the algorithm:
Trang 9148 B Mourrain, S Pion, S Schmitt, J-P T´ecourt, E Tsigaridas, N Wolpert
Definition 13 (Generic position) Let
N x(α) = # { (β, γ) ∈ R2| (α, β, γ) is an x-critical point of C }.
We say that C is in generic position for the x-direction, if
• ∀α ∈ R, N x(α) 1, and
• there is no asymptotic direction of C parallel to the (y, z)-plane.
By a random change of variables, the curve can be put in a generic position Inpractice, instead of changing the variables, we may choose a random directionfor the sweeping plane
3.7.2 The Projected Curves
The algorithm that we are going to describe, uses the singular points of theprojection ofC onto the (x, y) and (x, z)-planes We denote by C (resp.C )
the projection of the curveC onto the (x, y) (resp (x, z))-plane The equation
of the curve C is obtained as follows We decompose the polynomials P1, P2
in terms of the variable z:
P1(x, y, z) = a d1(x, y)z d1+ + a0(x, y) P2 (x, y, z) = bd2(x, y)z d2+ + b0(x, y)
with ad1(x, y) = 0 and b d2(x, y) = 0 Then, the resultant polynomial
G(x, y) = Res z (P1, P2)vanishes on the projection of the curve C on the plane (x, y) Conversely,
by the resultant theorem [236, 142] (see also Section 3.4.1), ad1(x, y) and if the gcd c(x, y) of ad1(x, y) and bd2(x, y) in R[x, y] is 1 then ad1(x, y) and
b d2(x, y) do not vanish simultaneously on a component of dimension 1 of the
projection C of the curve C So G(x, y) = 0 defines C and a finite number
of additional points If it’s not the case, G is a non-trivial multiple of the
implicit equation of C Such a situation can be avoided, by a linear change
of variables Nevertheless, since the critical points of the curve defined by
G(x, y) = 0 contains the critical points of C , we will see hereafter that this
change of variables is not necessary
Notice, that G(x, y) is not necessarily a square-free polynomial Consider for instance the case P1= x2+ y2− 1, P2 = x2+ y2+ z2− 2, where G(x, y) = (x2+ y2− 1)2 In this case, there are generically two (complex) points of C
Trang 103 Algebraic Issues in Computational Geometry 149
and its square-free part h(x, z) from the gcd of H(x, z) and ∂ z H(x, z) The equation h(x, z) = 0 defines a curve which is exactly C , if the gcd of theleading components of P1, P2in y is 1 Its set of singular points contains those
ofC .
In order to analyze locally the projection of the curve C, we recall the
following definition:
Definition 14 [338] Let X be an algebraic subset of Rn and let p be a point
of X The tangent cone at p to X is the set of points u inRn such that there exists a sequence of points x k of X converging to p and a sequence of real numbers t k such that lim k →+∞ t k (xk − p) = u.
Notice, that at a smooth point ofC, the tangent cone is a line.
Proposition 8 Let p = (α, β) be an x-critical point of C , which is not singular Then α is the x-coordinate of an x-critical point of C.
3.7.3 Lifting a Point of the Projected Curve
The problem we want to tackle here is the following: Assume we are given
two surfaces defined by two implicit equations P1 = 0 and P2 = 0 Let usconsider the projection of the curve of intersection of the two surfaces on the
(x, y)-plane.
Starting from a point (x0, y0 ) of the projected curve, how can we find (a numerical approximation of ) the z-coordinate of the point(s) above (x0, y0)?
We note p(z) = P1(x0, y0, z), q(z) = P2(x0, y0, z) and d = deg(p), d = deg(q).
Consider the Sylvester submatrix Syl1(x0, y0) of the mapping
R[z]d −2 ⊕ R[z] d−2 −→ R[z] d+d −2 (u, v) → p u + q v
If ξ is a common root of p and q then (1, ξ, , ξ d+d −2) is in the kernel
of the transpose of Syl1(x0, y0) If we assume that Syl1(x0, y0) is of
maxi-mal rank, and if ∆ i denotes the minor of Syl1(x0, y0) obtained by removing
the row i, then the (non-zero) vector [∆1,−∆2, , (−1) d+d −1 ∆
ical perspective The aim is to make the matrix of multiplication by z in the
quotient algebraR[z]/(P1(x0, y0, z), P2(x0, y0, z)) appear, in order to compute its eigenvalues which yields z-coordinate of the points above (x , y ) [142]
Trang 11150 B Mourrain, S Pion, S Schmitt, J-P T´ecourt, E Tsigaridas, N Wolpert
We proceed as follows: Given a point (x0, y0) of the projected curve C ,
we construct the Sylvester matrix associated to P (z), q(z) By construction, the columns of this matrix are P, z P, , z d −1 P, q, z q, , z p−1 q, written in the basis 1, z, , z d+d −1 Assume that the kernel of the transposed Sylvestermatrix Syl(x0, y0) has dimension d and is generated by Λ1, , Λd.
By transposition, we can interpret the Λi (i = 1 d) as linear forms
over Qd+d −1 [z] vanishing on P, z P, , z d −1 p, q, z q, , z d −1 q We can tend the Λi over R[z], considering that these forms vanish over all the ideal generated by p and q So they can be considered as elements of the
ex-dual of A = R[z]/(p(z), q(z)) As the linear forms Λ i are independent,
they also form a basis of this dual space The coefficients of Λ i in thedual basis (1∗ , , (z d −1) ) of the monomial basis {1, z, , z d −1 } of A are [Λ i (1), Λ i (z), , Λ i (z d −1)] By definition of the transposed operator, for any
a ∈ A, M t (Λ i )(a) = Λ i (M z (a)) = Λ i (z a) Thus we have the relation:
⎛
⎜
⎝
Λ1(1) Λ d(1)
where M z is the operator of multiplication by z in R[z]/(p(z), q(z)) As
d = dim ker(Syl(x0, y0)) = dimA, and as (1, z, , z d −1) form a basis of the
quotient space, the matrix
is invertible We deduce that computing the generalized eigenvalues of the
previous matrices yields the eigenvalues of the operator Mz of multiplication
by z in A, that is the z-coordinate of the points above (x0, y0)
We summarize the algorithm here:
Algorithm 10 Lifting the projection
• Compute the Sylvester matrix S = Syl(x0, y0)
• Compute a basis Λ1, , Λ d of the kernel of S t
• Extract the submatrix A0 of the coordinates of Λ1, , Λ dcorresponding to the
evaluations in 1, , z d −1
• Extract the submatrix A1 of the coordinates of Λ1, , Λ dcorresponding to the
evaluations in z, , z d
• Compute the generalized eigenvalues of A1and A0and output the corresponding
z-coordinates of the point above (x0, y0)
The last step can be replaced by the computation of det(A1−z A0) and a univariateroot finding step
Trang 123 Algebraic Issues in Computational Geometry 151
3.7.4 Computing Points of the Curve above Critical Values
In this section, we are going to describe how we check the genericity conditionand how we compute a finite set of points, which will allow us to deduce thetopology of C.
First, we check that there is no asymptotic direction parallel to the (y,
z)-plane, by testing if the curveC has a point at infinity in the plane x = 0 This
is done by checking if the system
P1
∆ (0, y, z) =
P2
∆ (0, y, z) = 0 has a non-trivial solution, where P is the homogeneous component of highest
degree of a polynomial P and ∆ = gcd(P1 , P2) It reduces to computing theprojective resultant of these two homogeneous polynomials Since the number
of asymptotic directions ofC is finite, by a generic linear change of variables,
we can avoid the cases where C has an asymptotic direction parallel to the (y, z)-plane.
Next, we compute the x-critical points of C by solving the system (3.1),
using Algorithm 8 This computation allows us to check that the system is
zero-dimensional and that the x-coordinates of the real solutions are distinct.
If this is not the case, we perform a generic change of coordinates
The cases for which we have to do a change of coordinates are those where
a component of C is in a plane parallel to (y, z) or where a plane parallel
to (y, z) is tangent to C in two distinct points Such cases are avoided by a
generic change of coordinates
We denote by Σ0={σ0, , σ0
0} the x-coordinates of the x-critical points:
σ0< · · · < σ0
0
Next, we compute the singular points ofC as (a subset of) the real
solu-tions of the system
g(x, y) = 0, ∂ x g(x, y) = 0, ∂ y g(x, y) = 0, (3.2)and ofC , as (a subset of) the real solutions of
An important property of the projected curvesC andC , that will be used
in the algorithm, is the following:
Proposition 9 The arcs of the curve C (resp. C ) above ]σ
i , σ i+1 [ do not intersect.
Let k(x) be the square-free part of
Resy (g(x, y), ∂ y g(x, y)) ∗ Res z (h(x, z), ∂ z h(x, z)). We consider the dimensional system:
...zero-dimensional and that the x-coordinates of the real solutions are distinct.
If this is not the case, we perform a generic change of coordinates
The cases for which... σ0
0} the x-coordinates of the x-critical points:
σ0< · · · < σ0
0
Next,... avoid the cases where C has an asymptotic direction parallel to the (y, z)-plane.
Next, we compute the x-critical points of C by solving the system (3.1),
using Algorithm