Algorithms for semi-algebraic curves and surfaces B. Mourrain GALAAD, INRIA Méditerranée, Sophia Antipolis Bernard.Mourrain@inria.fr July 21, 2011 B. Mourrain Algorithms for semi-algebraic curves and surfaces 1 / 53 SHAPES B. Mourrain Algorithms for semi-algebraic curves and surfaces 2 / 53 Context Acquisition of the 3rd dimension easier. Increasing representations of virtual shapes. Need of fine and compact models of the geometry. Need of powerfull and precise techniques for geometric computations. Approximation and certification are key issues. B. Mourrain Algorithms for semi-algebraic curves and surfaces 3 / 53 Computer Aided Geometric Design I Interpolation of points, resp. curves by surfaces. I (self)-intersection computation. I Closest point or distance computation (collision). I Surfaces filling holes, with constraints on the boundary. I Pipes, canal surfaces, offset, fillet, blending, . . . I Medial axis or skeletal structure. B. Mourrain Algorithms for semi-algebraic curves and surfaces 4 / 53 r Representation: I semi-algebraic models: Bezier, NURBS, piecewise rational parameterisation, I many pacthes, but “small” degree, I with errors on the input coefficients; I stored using machine numbers, r Computation: I points: intersection points, singularities, ombilic points, I curves: apparent contours, (auto-)intersections, ridges, I surfaces: offsets, blending, drafts, enveloppes, B. Mourrain Algorithms for semi-algebraic curves and surfaces 5 / 53 Shape representation Shape representations I Point clouds [1] [2] [3] I Meshes [1] [2] [3] I Parametric curves, surfaces, volumes . . . [1] [2] [3] I Implicit curves, surfaces, volumes . . . [1] [2] [3] B. Mourrain Algorithms for semi-algebraic curves and surfaces 7 / 53 Shape representation Parametric and implicit curves Univariate Bernstein representation For any f (x) ∈ Q[x] of degree d, with d d X X d f (x) = ci (x − a)i (b − x)d−i (b − a)−d = ci Bdi (x; a, b), i i=0 i=0 The c = [ci ]i=0,...,d are the control coefficients of f on [a, b]. Properties: Pd Pd d−i i i i I i=0 Bd (x; a, b) = 1; i=0 (a d + b d ) Bd (x; a, b) = x; I f (a) = c0 , f (b) = cd ; Pd−1 i I f 0 (x) = d i=0 ∆(c)i Bd−1 (x; a, b) where ∆(c)i = ci+1 − ci ; I (x, f (x))x∈[a,b] ∈ convex hull of the points (a d−i + b i , ci )i=0..d d d I #{f (x) = 0; x ∈ [a, b]} = V (c) −2p, p ∈ N. B. Mourrain Algorithms for semi-algebraic curves and surfaces 9 / 53 Shape representation Parametric and implicit curves De Casteljau subdivision algorithm ( ci0 = ci , i = 0, . . . , d, r −1 cir (t) = (1 − t) cir −1 (t) + t ci+1 (t), i = 0, . . . , d − r . I I c− (t) = (c00 (t), c01 (t), . . . , c0d (t)) represents f on [a, (1 − t) a + t b]. c+ (t) = (c0d (t), c1d−1 (t), . . . , cd0 (t)) represents f on [(1 − t) a + t b, b]. The geometric point of view. B. Mourrain The algebraic point of view. Algorithms for semi-algebraic curves and surfaces 10 / 53 Shape representation Parametric and implicit curves Spline representation Nodes: t0 ≤ t1 ≤ · · · ≤ tl ∈ R Basis functions: 1 if ti ≤ t < ti+1 0 otherwise. t − ti ti+d+1 − t Nid−1 (t) + N d−1 (t). Nid (t) = ti+d − ti ti+d+1 − ti+1 i+1 Ni0 (t) = Support of Nid (t) =]ti , ti+d+1 [; I Positive basis of functions which are piecewise polynomials of degree d on the subdivision t0 , t1 , . . . , tl ; I Sum to 1; Function representation: I f (t) = L X ci Nid (t) i=1 I I Fast and stable algorithms for node insertion, evaluation; Simple representation of the derivative; B. Mourrain Algorithms for semi-algebraic curves and surfaces 11 / 53 Shape representation Parametric and implicit curves Parametric curve Piecewise polynomial parametrisation: → Rm L X t → 7 ci Nid (t) σ:I i=0 where cj ∈ Rm are the control points. Rational parametrisation: → Rm PL wi ci Nid (t) t 7→ Pi=0 L d i=0 wi Ni (t) σ:I where cj ∈ Rm are the control points and wi the weights. Also called Non-Uniform Rational BSpline (NURBS). B. Mourrain Algorithms for semi-algebraic curves and surfaces 12 / 53 Shape representation Parametric and implicit curves Implicit curves I I I An algebraic curve C ⊂ R2 is defined by an equation f (x, y ) = 0 where f (x, y ) ∈ R[x, y ] is squarefree. The degree of C is the minimal degree of a polynomial f defining C. The tangent line at a point (x0 , y0 ) ∈ C is (x − x0 )∂x f (x0 , y0 ) + (y − y0 )∂y f (x0 , y0 ) = 0 Points with a vertical tangent: f (x0 , y0 ) = ∂y f (x0 , y0 ) = 0. Points with a horinzontal tangent: f (x0 , y0 ) = ∂x f (x0 , y0 ) = 0. I Singular points: f (x0 , y0 ) = ∂x f (x0 , y0 ) = ∂y f (x0 , y0 ) = 0. I Multiplicity of (x0 , y0 ) ∈ C: valuation of f (x0 + u, y0 + v ). Theorem (Bezout) Two planar curves C1 of degree d1 , C2 of degree d2 have either an infinite number of common points or intersect in atmost d1 d2 points. B. Mourrain Algorithms for semi-algebraic curves and surfaces 13 / 53 Shape representation Parametric and implicit surfaces Rectangular patches Piecewise polynomial parametrisation: σ : I × J → Rm L X L0 X 0 (s, t) 7→ ci,j Nid (s)Njd (t) i=0 j=0 where ci,j ∈ Rm are the control points. Rational parametrisation: σ : I × J → Rm PL (s, t) 7→ PL0 d0 d i=0 j=0 wi,j ci,j Ni (s)Nj (t) PL PL0 d d0 i=0 j=0 wi,j Ni (s)Nj (t) where ci,j ∈ Rm are the control points and wi,j the weight functions. + A standard in Computer Aided Geometric Design. B. Mourrain Algorithms for semi-algebraic curves and surfaces 15 / 53 Shape representation Parametric and implicit surfaces Triangular patches X f (s, t) = ci,j,k Ni,j,k (s, t) i+j+k=d where Ni,j,k (s, t) = d! i j s t (1 − s − t)k . i!j!k! I Parameters domain in the unit 2d simplex. I De Casteljau-like subdivision and insertion algorithm at a new point. Arithmetic complexity O(d 3 ), memory space O(d 2 ). B. Mourrain Algorithms for semi-algebraic curves and surfaces 16 / 53 Shape representation Parametric and implicit surfaces Implicit surfaces I An algebraic surface S is defined by f (x, y , z) = 0 with f ∈ R[x, y , z] squarefree. I The degree of S is the minimal degree of a polynomial f defining S. I The tangent plane at a point (x0 , y0 , z0 ) ∈ S is (x−x0 )∂x f (x0 , y0 , z0 )+(y −y0 )∂y f (x0 , y0 , z0 )+(z−z0 )∂z f (x0 , y0 , z0 ) = 0 I Singular points of S: f (x0 , y0 , z0 ) = ∂x f (x0 , y0 , z0 ) = ∂y f (x0 , y0 , z0 ) = ∂z f (x0 , y0 , z0 ) = 0. I Multiplicity of (x0 , y0 , z0 ) ∈ S: valuation of f (x0 + u, y0 + v , z0 + w ). Theorem (Bezout) Three surfaces S1 of degree d1 , S2 of degree d2 , S3 of degree d3 have either an infinite number of common points or intersect in atmost d1 d2 d3 points. Intersection of surfaces defined by two or more equations B. Mourrain Algorithms for semi-algebraic curves and surfaces 17 / 53 Shape representation Exercises Exercise 1.1: I I I Compute the coefficients in the Bernstein basis of degree d on [0, 1] of 1, x, x 2 , . . .. Prove the derivation rule on the Bernstein representation. Prove De Casteljau subdivision rule on the Bernstein representation. Exercise 1.2: Put in equations the following problems: I I I I I Intersection of planar implicit, parametric curves; Raycasting for implicit surfaces; Intersection of implicit and parametric surfaces; Closest point on a curve or a surface; Offset of a curve or a surface; Exercise 1.3: Let P1 , . . . , PN be points in the plane. We fix a degree (d1 , d2 ). The objective is to determine a polynomial of bidegree ≤ (d1 , d2 ) defining an implicit curve which fits this set of points. I Construct the linear system that satisfied the vector of coefficients of a polynomial expressed in the Bernstein basis in order to vanishes at the points Pi ; I I Use the Singular Value Decomposition of the corresponding matrix to find an optimal solution of the fitting problem; Generate points from a parametric curve and use the previous construction to approximate them by implicit curves of increasing degrees. Exercise 1.4: I I Show that the set of rational curves in the plane of degree ≤ d is of dimenion ≤ 3(d + 1). I Show that a curve of degree d with a singular point of multiplicity d − 1, is parametrised by a rational function. Compute the dimension of the set of implicit curves. Show that all implicit curves cannot be parametrised by a rational function. B. Mourrain Algorithms for semi-algebraic curves and surfaces 19 / 53 Computing points on curves and surfaces Geometric problems we want to solve I Intersection of planar curves; I Topology and arrangement of planar curves; I Raycasting for implicit surfaces; I Intersection of implicit and parametric surfaces; I Closest point on a curve or a surface; I Offset of a curve or a surface; I Voronoi diagram of curves and surfaces; I ... B. Mourrain Algorithms for semi-algebraic curves and surfaces 21 / 53 Computing points on curves and surfaces Local methods Newton method f : Rn → Rn x 7→ f(x) 1 2 Choose x0 ∈ Rn ; Iterate xn+1 := xn − Df(xn )−1 f(xn ) until kxn+1 − xn k < . I Quadratic local convergence. I No guaranty of global convergence. I No guaranty of what, it could converge to. B. Mourrain Algorithms for semi-algebraic curves and surfaces 23 / 53 Computing points on curves and surfaces Local methods Local convergence criterion Definition I I I βf (x) = kDf(x)−1 f(x)k 1 1 γf (x) = supk≥2 k k! Df(x)−1 D k f(x)k k−1 αf (x) = βf (x) γf (x). Let δ(u) := 14 (1 + u − p (1 + u)2 − 8 u). Theorem (Schub Smale’93) √ If αf (x) < α0 ≤ 14 (13 − 3 17) ∼ 0.1577 then I 0 f has a unique zero ζ in the ball B(x, γfδ(x) ), with δ0 = δ(α0 ) ≤ I √ 2− 2 2 ∼ 0.2929; 0 for each point z ∈ I (x, γfδ(x) ), Newton’s method starting from z converges quadratically to ζ. B. Mourrain Algorithms for semi-algebraic curves and surfaces 24 / 53 Computing points on curves and surfaces Local methods Homotopy + Deform a system f0 = 0 with known solutions into the system to solve f = 0. I Linear homotopy: F (t, x) = (1 − t)f0 (x) + t f(x) I Toric homotopy: use a lifting parameter as in BKK theorem. I Geometric homotopy: deform the geometry of similar configurations. Characteristics: I Path following using predictor-corrector schemes. I Assume the same number of solutions for f0 = 0 and f = 0. I Applied for square systems. I Numerical certification issues. I Adaptation for components of dimension ≥ 1. B. Mourrain Algorithms for semi-algebraic curves and surfaces 25 / 53 Computing points on curves and surfaces Subdivision methods Subdivision solver in Bernstein bases Given a polynomial f (x) ∈ R[x] of degree d, I We express it in the Bernstein basis on the interval [a, b]: f (x) = d X ci Bdi (x; a, b). i=0 I We use the coefficient sequence [c0 , . . . , cd ] to isolate its real roots on [a, b]. I We count the number of sign variation V (c). I I I B. Mourrain If V (c) = 0, there is not root of f in ]a, b[; If V (c) = 1, there is one root of f in ]a, b[; Otherwise, we can subdivide the interval. Algorithms for semi-algebraic curves and surfaces 27 / 53 Computing points on curves and surfaces Subdivision methods Isolation of real roots Algorithm (isolation of the roots of f on the interval [a, b] ) input: A polynomial f := (c, [a, b]) with simple real roots (and ). If V (c) > 1 and |b − a| > , subdivide; If V (c) = 0, remove the interval. If V (c) = 1, output interval containing one and only one root. (If |b − a| ≤ and V (c) > 0 output the interval). output: list of isolating intervals in [a, b] for the real roots of f (or the -multiple root). I Multiple roots (and multiplicity) within a precision . I x := t/(1 − t): Uspensky method. I Complexity: OB (d 6 τ 2 ) [MVY02],[RZ03],[MRR04],[EKMW05]; ÕB (d 4 τ 2 ) [KM05], [ESY06], [EMT06], [ET07]. B. Mourrain Algorithms for semi-algebraic curves and surfaces 28 / 53 Computing points on curves and surfaces Subdivision methods Proposition (Descartes’ rule) For f := (c, [a, b]), #{f (x) = 0; x ∈ [a, b]} = V (c) −2p, p ∈ N. Theorem V (c− ) + V (c+ ) ≤ V (c). Theorem (Vincent’36) If there is no complex root in the complex disc D( 12 , 12 ), then V (c) = 0. Theorem (Two circles, Ostrowski) If there is no complex root in the union of the 1 complex discs D( 21 ± i 2√ , √13 ) except a simple 3 real root, then V (c) = 1. B. Mourrain Algorithms for semi-algebraic curves and surfaces 29 / 53 Computing points on curves and surfaces Subdivision methods Continued Fraction solver [AC’76, ..., TE’08] + Instead of changing the interval: I Fix it: ]0, +∞[ I Change the fonction, by homography transformation: a b H : ]0, +∞[ → ] , [ c d a+bx x 7→ c +dx I Work with (f ◦ H, H) r Regularity: I I V (f ◦ H) = 0 ⇒ no root; V (f ◦ H) = 1 ⇒ a single root; where V (·) is the number of sign changes of the coefficients in the monomial basis. B. Mourrain Algorithms for semi-algebraic curves and surfaces 30 / 53 Computing points on curves and surfaces Subdivision methods r Subdivision: I Compute a lower bound b = L(f ) ∈ N of the roots of f in R+ ; I Compute f (x) := Tb (f ) = f (x + n) and repeat until L(f ) = 0; I 1 ). Split: T1 (p) = p(x + 1), R(p) = (x + 1)d p( x+1 B 0 x= x+B 0 CF(α) = bαc+ 1 B. Mourrain CF 1 α−bαc x= x+1 x= 1/(x+1) 0 1 0 Algorithms for semi-algebraic curves and surfaces 31 / 53 Computing points on curves and surfaces Subdivision methods + Continued Fraction expansion of the roots: 1 α = b0 + 1 b1 + b2 +... where bi is the total shift between the i th and (i + 1)th inversions. Theorem ([Vincent;1836], [Uspensky;1948], [Alesina,Galuzzi;1998]) Let f ∈ Z[x], and b0 , b1 , . . . , bn ∈ Z+ , n > O(d τ ). The map 1 x 7→ b0 + 1 b1 + 1 .. . bn + x transforms f (x) to f˜(x) such that 1 2 V (f˜) = 0 ⇔ f has no positive real roots. V (f˜) = 1 ⇔ f has one positive real root. 2O(dτ ) [Vincent; 1836], [Uspensky;1948] . . . , ÕB (d 5 τ 3 ) [Akritas;1980], [Akritas,Bocharov,Strzébonski;2005], . . . ÕB (d 4 τ 2 ) [Emiris, Tsigaridas.; 2006]; Expected ÕB (d 3 τ ) [Tsigaridas, Emiris; B.2008], Mourrain. . . Algorithms for semi-algebraic curves and surfaces 32 / 53 Computing points on curves and surfaces Subdivision methods Basic operators: I Hλ : p(x) 7→ p(λ x) I Ta : p(x) 7→ p(x + a) I R : p 7→ x deg(p) p(1/x) Correspondances: x −a a+bt ∈ [0, +∞[ ↔ x = ∈ [a, b[ 1−x 1+t a+bt x −a ) ↔ f (x) = (b − x)d p( ) p(t) = (1 + t)d f ( 1+t b−x d d X X ai i i ai t ↔ Bd (x; a, b) d t= i=0 i=0 i a+b ) 2 t +1 d t a+b RT1 R(p) = ( ) p( ) ↔ c− · Bd (x; , b) t t +1 2 T1 (p) = p(t + 1) ↔ c+ · Bd (x; a, B. Mourrain Algorithms for semi-algebraic curves and surfaces 33 / 53 Computing points on curves and surfaces Subdivision methods Multivariate subdivision solver P d1 ,...,dn 1 f1 (u) = i1 ,...,in bi1 ,...,in Bi1 ,...,in (u1 , . . . , un ), .. . P ,...,dn fs (u) = i1 ,...,in bis1 ,...,in Bid11,...,i (u1 , . . . , un ), n Algorithm 1 preconditioning on the equations; 2 reduction of the domain; 3 if the reduction ratio is too small, subdivision of the domain. r Global quadratic convergence of C(b) to f , by subdivision. r Local quadratic convergence for precond. reductions. B. Mourrain Algorithms for semi-algebraic curves and surfaces 34 / 53 Computing points on curves and surfaces Subdivision methods Preconditioning (for square systems) Transform f into f̃ = M f a) Optimize the distance between the equations: X ||f ||2 = |b(f )i1 ,...,in |2 , 0≤i1 ≤d1 ,...,0≤in ≤dn by taking for M, the matrix of eigenvectors of Q = (hfi |fj i)1≤i,j≤s . b) M = Jf−1 (u0 ) for u0 ∈ D. B. Mourrain Algorithms for semi-algebraic curves and surfaces 35 / 53 Computing points on curves and surfaces Subdivision methods Reduction mj (f ; xj ) = Mj (f ; xj ) = Pdj ij ij =0 min{0≤ik ≤dk ,k6=j} bi1 ,...,in Bdj (xj ; aj , bj ) Pdj ij ij =0 max{0≤ik ≤dk ,k6=j} bi1 ,...,in Bdj (xj ; aj , bj ) Proposition For any u = (u1 , . . . , un ) ∈ D, and any j = 1, . . . , n, we have mj (f ; uj ) ≤ f (u) ≤ Mj (f ; uj ). Use the roots of mj (f , uj ) = 0, Mj (f , uj ) = 0 to reduce the domain of search. B. Mourrain Algorithms for semi-algebraic curves and surfaces 36 / 53 Computing points on curves and surfaces Subdivision methods Theorem (Multivariate Vincent theorem) If f (x) has no root in the complex polydisc D(1/2, 1/2)n , then the coefficients of f in the Bernstein basis of [0, 1]n are of the same sign. I Convergence of the control polygon: Theorem There exists κ2 (f ) such that for D of size small enought, ∀x ∈ D; |f (x) − b(f ; x)| ≤ κ2 (f ) 2 . I Local quadratic convergence of the reduction: Proposition Let D a domain of size containing a simple root of f . There exists κf > 0, such that for small enought |M̃j (f̃; uj ) − m̃j (f̃; uj )| ≤ κf 2 . B. Mourrain Algorithms for semi-algebraic curves and surfaces 37 / 53 Computing points on curves and surfaces Subdivision methods Experiments sbd subdivision. rd reduction, based on a univariate root-solver using the Descarte’s rule. sbds subdivision using the preconditioner (a). rds reduction using the global preconditioner (a). rdl reduction using the jacobian preconditioner (b). method iterations subdivisions sbd 4826 4826 rd 2071 1437 sbds 3286 3286 rds 1113 748 rdl 389 116 bidegrees (12,12), (12,12) B. Mourrain Algorithms for semi-algebraic curves and surfaces resultat 220 128 152 88 78 time (ms) 217 114 180 117 44 38 / 53 Computing points on curves and surfaces Subdivision methods method iterations subdivisions output sbd 161447 161447 61678 rd 731 383 36 sbds 137445 137445 53686 rds 389 202 18 rdl 75 34 8 bidegrees (2,3), (3,4); 3 singular solutions. method iterations subdivisions output sbd 235077 235077 98250 rd 275988 166139 89990 sbds 1524 1524 114 rds 590 367 20 rdl 307 94 14 bidegrees (3,4), (3,4); 3 singular solutions. B. Mourrain Algorithms for semi-algebraic curves and surfaces time (ms) 1493 18 1888 21 7 time (ms) 4349 8596 36 29 18 39 / 53 Computing points on curves and surfaces Subdivision methods method iter. sbd 76523 rd 42949 sbds 4697 rds 1895 rdl 1082 bidegrees (4, 4), (8, 8) subd. 76523 27943 4697 1222 326 method iter. sbd 84887 rd 82873 sbds 6076 rds 1486 rdl 1055 bidegrees (8, 8), (8, 8) B. Mourrain subd. 84887 51100 6076 920 305 result 20352 12000 116 72 64 result 28896 20336 364 144 60 Algorithms for semi-algebraic curves and surfaces time (ms) 3454 2154 258 179 113 time (ms) 3820 4553 333 163 120 40 / 53 Computing points on curves and surfaces Algebraic methods In one variable We want to solve f := x d + ad−1 x d−1 + · · · + a0 = 0 (ai ∈ K) or to find z1 , . . . , zd ∈ C such that f = d Y (z − zi ). i=1 or to find approximation of z1 , . . . , zd ∈ C within a precision ε. B. Mourrain Algorithms for semi-algebraic curves and surfaces 42 / 53 Computing points on curves and surfaces Algebraic methods By Euclidean division in K[x], any polynomial p can be reduced to a polynomial r of degree < d: p = f q + r. Any polynomial p is equal modulo a multiple of f to a linear combination of 1, . . . , x d−1 . The equivalent classes of polynomials modulo the multiples of f noted A = K[x]/(f ) has a basis: {1, . . . , x d−1 }. B. Mourrain Algorithms for semi-algebraic curves and surfaces 43 / 53 Computing points on curves and surfaces Algebraic methods If the roots zi are distincts, another basis of A = K[x]/(f ) is ei = Y (x − zj ) (zi − zj ) j6=i They are known as the Lagrange interpolation polynomials. For any polynomial p: d X p≡ p(zi ) ei i=1 We have in A = K[x]/(f ): e2i ≡ ei , ei ej ≡ 0 (i 6= j), e1 + · · · + ed ≡ 1 B. Mourrain Algorithms for semi-algebraic curves and surfaces 44 / 53 Computing points on curves and surfaces Algebraic methods The matrix of the multiplication by x Mx : K[x]/(f ) → K[x]/(f ) q 7→ x q Monomial basis 1, x, . . . , x d−1 0 . . . 0 −a0 . .. 1 . . . .. . .. .. . 0 . 0 1 −ad−1 Lagrange basis (for simple roots): z1 0 . . . 0 . 0 . . . . . . .. .. . . . . . . . 0 0 . . . 0 zd I The eigenvalues are the roots zi of f (x) = 0. I The eigenvectors are the Lagrange interpolation polynomials ei (when the roots are simple). + Solving f = 0 reduces to eigenvalue/eigenvector computation. B. Mourrain Algorithms for semi-algebraic curves and surfaces 45 / 53 Computing points on curves and surfaces Algebraic methods Duality in one variable d = {Λ : K[x] → K linear}. r The dual of K[x]: K[x] i Example: p 7→ d (p) =coefficient of x i in p = i!1 ∂ i (p)(0) Example: 1ζ : p 7→ p(ζ). r Representation by series: Λ= ∞ X i=0 Λ(x i ) di ∈ K[[d]]. P 1 i i Example: 1ζ = ∞ i=0 ζ d ∈ K[[d]] = 1−ζd . r Structure of K[x]-module: p(x) · Λ : q 7→ Λ(p q). x ·Λ = ∞ X Λ(x i )di−1 i=1 p(x) · Λ = π+ (p(d−1 ) Λ(d)). B. Mourrain Algorithms for semi-algebraic curves and surfaces 46 / 53 Computing points on curves and surfaces Algebraic methods I The dual space Ab of A is the set of linear forms λ from A to K. The multiplication by x in Ab is the transposed of Mx : Mxt : Ab → Ab λ 7→ x · λ where x · λ : p 7→ λ(x p). A basis of Ab is the set of evaluations 1zi : p 7→ p(zi ), dual to ei . The eigenvectors of Mxt are the evaluations 1zi , i = 1 . . . d. B. Mourrain Algorithms for semi-algebraic curves and surfaces 47 / 53 Computing points on curves and surfaces Algebraic methods In several variables Variables: x1 , . . . , xn . Monomials: xα = x1α1 · · · xnαn , α = (α1 , . . . , αn ) ∈ Nn . Coefficients: K = Q, R, C, . . .. Polynomials: R = K[x1 , . . . , xn ]. Equations: f1 = 0, . . . , fs = 0 to be solved, with fi ∈ R. P Ideal: I = (f1 , . . . , fs ) = { i hi fi ; hi ∈ R} (all the relations we know on the unknowns). Quotient algebra: A = R/I of polynomials modulo I : a ≡ a0 iff a − a0 ∈ I (similar to polynomial functions restricted to the set of solutions). B. Mourrain Algorithms for semi-algebraic curves and surfaces 48 / 53 Computing points on curves and surfaces Algebraic methods Solving f = 0 reduces to describe A = K[x]/(f) Hypothesis: the number of complex roots of {f1 = 0, . . . , fs = 0} is finite ⇔ A = K[x]/(f1 , . . . , fs ) is a finite dimensional vector space. In practice, we compute I I a set B = {b1 , . . . , bD } of polynomials (monomials) which is a basis of A; a ) by a modulo f , . . . , f : the tables of multiplications Ma = (mj,k 1 s a bj := D X a mk,j bk . k=1 for a = x1 , . . . (using Gröbner basis, Border basis, Resultants, ...) B. Mourrain Algorithms for semi-algebraic curves and surfaces 49 / 53 Computing points on curves and surfaces Algebraic methods Example in two variables Let I be the ideal of R = K[x1 , x2 ] generated by > f 1 := 13 x12 + 8 x1 x2 + 4 x22 − 8 x1 − 8 x2 + 2 > f 2 := x12 + x1 x2 − x1 − 1 6 A polynomial in K[x1 , x2 ] can be reduced, modulo (f1 , f2 ), to a linear combination of 1, x1 , x2 , x1 x2 : > > expand(x1 x1 − f2); 1 x12 ≡ −x1 x2 + x1 + . 6 expand(x12 x2 + 19 x1 f1 − ( 59 + 13 9 x12 x2 ≡ −x1 x2 + x1 + 49 x2 ) f2); 55 2 5 x1 + x2 + . 54 27 54 A basis of A is 1, x1 , x2 , x1 x2 The quotient ring A = K[x1 , x2 ]/I is a vector space of dimension 4. B. Mourrain Algorithms for semi-algebraic curves and surfaces 50 / 53 Computing points on curves and surfaces Algebraic methods Solving by eigencomputation We assume that Z(I ) = {ζ1 , . . . , ζd } ⇔ A = K[x]/I of finite dimension D over K. Ma : A → A u 7→ a u Mat : Ab → Ab Λ 7→ a · Λ = Λ ◦ Ma Theorem I The eigenvalues of Ma are {a(ζ1 ), . . . , a(ζd )}. I The eigenvectors of all (Mat )a∈A are (up to a scalar) 1ζi : p 7→ p(ζi ). B. Mourrain Algorithms for semi-algebraic curves and surfaces 51 / 53 Computing points on curves and surfaces Algebraic methods Multiplication operators Matrix of multiplication by x1 in the basis {1, x1 , x2 , x1 x2 } modulo > > f1 = 13 x12 + 8 x1 x2 + 4 x22 − 8 x1 − 8 x2 + 2 f2 = x12 + x1 x2 − x1 − 61 1 × x1 ≡ x1 , 1 x1 × x1 ≡ −x1 x2 + x1 + , x2 × x1 ≡ x1 x2 , 6 1 5 13 4 2 x1 x2 × x1 ≡ x1 x2 + x1 f1 − ( + x1 + x2 ) f2 9 9 9 9 55 2 5 ≡ −x1 x2 + x1 + x2 + . 54 27 54 This yields: 5 0 16 0 54 1 1 0 55 54 M1 = . 0 0 0 2 27 B. Mourrain 0 −1 1 −1 Algorithms for semi-algebraic curves and surfaces 52 / 53 Computing points on curves and surfaces Algebraic methods Computing the roots from the eigenvectors > Eigenvals(M1); 1 1 1 1 [− , − , , ] 3 3 3 3 > Eigenvects(transpose(M1)); 1 5 5 1 7 7 [1, − , , − ], [1, , , ] 3 6 18 3 6 18 As the basis is (1, x1 , x2 , x1 x2 ), we deduce the roots: I ζ1 = (− 13 , 65 ), I ζ2 = ( 31 , 76 ). Remark: v4 v1 = v2 v3 . B. Mourrain Algorithms for semi-algebraic curves and surfaces 53 / 53 Computing points on curves and surfaces Isolated singular points Assume 0 is an isolated multiple point of a system f(x) = 0. 1 d |α| α! d α I We denote by dα = 10 ◦ I P The set of differentials Λ = α λα dα such that for all p ∈ (f), we have Λ(p) = 0 is called the inverse system at 0 and denoted D. I If Λ ∈ D, the d−1 i ? Λ ∈ D. I If 0 is isolated multiple, then D ⊂ K[d]. I The dimension of D is the multiplicity of O. B. Mourrain the differentials evaluated at 0. Algorithms for semi-algebraic curves and surfaces 55 / 53 Computing points on curves and surfaces Isolated singular points Algorithms to compute D Given f1 , . . . , fs which define an isolated point 0; I Macaulay approach: [M’16] compute degree by degree the mutiplies Vt := (x1 , . . . , xn )t−1 × {f1 , . . . , fs } and the elements ∈ K[d] of degree ≤ t in d that vanish on Vt . I Integration approach: [M’98] Deduce the element Λ of degree ≤ t in D as those such that d−1 i ? Λ ∈ D and is of degree ≤ t − 1. B. Mourrain Algorithms for semi-algebraic curves and surfaces 56 / 53 Computing points on curves and surfaces Exercises Exercise 2.1: Describe and implement a step of the homotopy continuation for a linear deformation of polynomial system. Exercise 2.2: Prove Descartes Lemma: #{f (x) = 0; x ∈]a, b[} = V (c) −2p, p ∈ N.. Exercise 2.3: Prove that V + (c) + V − (c) ≤ V (c). Q Q Exercise 2.4: For f = ad x d + · · · + a0 = an di=1 (x − zi ), let M(f ) = an max(1, | zi |). I Using the following theorem: Theorem (Davenport-Mahler-Mignotte) Let f ∈ C[X ], with deg(f ) = d and not necessarily square-free. Let Ω be any set of ` couples of indices (i, j), 1 ≤ i < j ≤ d, and let the distinct non-zero (complex) roots of f be 0 < |γ1 | ≤ |γ2 | ≤ · · · ≤ |γd |. Then 2` M(f )` ≥ Y |γi − γj | ≥ 2`− d(d−1) 2 M(f )1−d−` p | disc(fred ) |, (i,j)∈Ω where fred is the square-free part of f . If f ∈ Z[x], ` ≤ d and bitsizef = τ , then d d/2 22dτ ≥ d `/2 22`τ ≥ Y |γi − γj | ≥ d −d 2−d 2 −3τ (`+d) ≥ d −d 2−d 2 −6dτ . (i,j)∈Ω and the two circle theorems, prove that the number of subdivisions to isolate its real roots is O(dτ + d log d). I Deduce that the binary cost of the subdivision solver is ÕB (d 4 τ 2 ). B. Mourrain Algorithms for semi-algebraic curves and surfaces 58 / 53 Computing points on curves and surfaces Exercises Exercise 2.5: Prove that if f(x) = 0 has simple roots ζ1 , . . . , ζD , there exists e1 , . . . , eD ∈ R/(f) such that ei (ζj ) = δi,j , ei2 ≡ ei , ei ej ≡ 0, e1 + · · · + eD ≡ 1. Exercise 2.6: (Hermite Theorem) Suppose that f(x) = 0 has a finite number of complex roots in Cn . Let A = R[x]/(f) and Tr : a ∈ A 7→ Trace(Ma ) where Ma is the multiplication by a in A. We denote by Qh the quadratic form (a, b) 7→ Tr (h a b). I Show that the rank of Q1 is the number of complexe distinct roots of f (x) = 0. I Show that the signature of Q1 is the number of real distinct roots of f (x) = 0. I Show that the rank of Qh is the number of complexe distinct roots ζ with h(ζ) 6= 0. I Show that the signature of Q1 is the sum of the sign of h at the real roots. Exercise 2.7: Compute the inverse system of I f1 = x12 − x22 , f2 = x1 x2 at (0, 0); I f1 = 2 x12 x2 + 5 x14 , f2 = 2 x1 x22 + 5 x14 at (0, 0); Exercise 2.8: Let C be the curve defined by f (x, y ) = x y . I Compute the jacobian g (x, y ) of f (x, y ) and x 2 + y 2 ; I Compute the inverse system D of f and g at 0. I Compute a dual monomial basis B of D. I Take a dual element Λ ∈ D such that Λ(Jf ,g ) > 0. I Compute the matrix of the bilinear form QΛ : (a, b) 7→ Λ(a b) in the basis B. I Compute its signature and compare it with the number of real branches of C at (0, 0). B. Mourrain Algorithms for semi-algebraic curves and surfaces 59 / 53 Algorithms for curves Sweeping methods Arrangement of segments (Bentley-Ottman) I I Choose a sweeping direction. Detect the next event where changes in the sweeping line appear: I I I Update the sweeping structure at these events. I I I An end point of a segment, A crossing point of two segments. Insert or remove a segment in the sweeping structure. Swap two segments in the sweeping structure. Advantages: I I B. Mourrain Use only adjacent segments to compute the intersection points. Perform local updates of the cell/arrangement structure. Algorithms for semi-algebraic curves and surfaces 62 / 53 Algorithms for curves Sweeping methods Topology of implicit curves [C’75] [GK’97] [GN’01] Algorithm Topology of an implicit curve 1 Compute the critical value for the projection πy along the y -abcisses. 2 Above each point, compute the y -value, with their multiplicity. 3 Between two critical points, compute the number of branches. 4 Connect the points between two slices according to their y -order. B. Mourrain Algorithms for semi-algebraic curves and surfaces 63 / 53 Algorithms for curves Sweeping methods Subresultants Given two polynomials p(x), q(x) ∈ A[x], compute for some coefficients I r1 = −a2 rem(p, q) ∈ A[x], 1 I r2 = −a2 rem(q, r1 ) ∈ A[x], 2 .. . 2 rN+1 = −aN+1 rem(rN−1 , rN ) = 0 Sr(p, q) = [p(x), q(x), r1 (x), . . . , rN (x)] ∼ [p(x), q(x), Sr1 (x), . . . , Sr0 (x)] I with Sri (x) = sri,i x i + · · · + sri,0 . Properties: I The polynomial ri (x) is of degree ≤ deg(q) − i. I The coefficients of ri (x) are minors of the Sylvester matrix. I The last non-zero remainder rN is the gcd of p and q. I For the first k ≤ 0 such that srk,k 6= 0, we have Srk (x) = gcd(p, q). I The first coefficients of ri (x) are minors of the Sylvester matrix. I If Vp,q (a) is the sign variation of Sr(p, q)(a), then I I B. Mourrain Vp,p0 (a) − Vp,p0 (b) is the number of real roots of p in [a, b], Vp,p0 q (a) − Vp,p0 q (b) is the sum of the signs of q at the real roots of p in [a, b]. Algorithms for semi-algebraic curves and surfaces 64 / 53 Algorithms for curves Sweeping methods Topology of implicit 2d curves in practice I I Compute the subresultant sequence Sy (f , ∂y f ) = [f (x, y ), ∂y f (x, y ), Srd−2 (x, y ), . . . , Sr0 (x)]. Sr0 (x) ˜ 0 (x) = Compute the squarefree part Sr of Sr 0 . gcd(Sr0 (x),Sr 0 (x)) 0 I ˜ 0 (x) = Γ1 (x) · · · Γs (x) where Compute the factorisation Sr I I I I I ˜ 0 , sr1,1 ), Γ1 = Sr ˜ 0 /Φ1 , Φ1 = gcd(Sr Φ2 = gcd(Φ1 , sr2,2 ), Γ2 = Φ1 /Φ2 , . . . Check the genericity condition: sr (x) β(x) = − k k,k−1 srk,k (x) . Srk = srk,k (x) (y − β(x))k mod Γk (x) where For each root α of Γk (x), count the number of roots of f (α, y ) = 0 sr (α) below and above β(α) = − k k,k−1 srk,k (α) . For a rational value m in between the α, count the number of sign changes of [srk,k (m)]k=0,...,d and deduce the number of branches above x = m. B. Mourrain Algorithms for semi-algebraic curves and surfaces 65 / 53 Algorithms for curves Sweeping methods Some examples B. Mourrain Algorithms for semi-algebraic curves and surfaces 66 / 53 Algorithms for curves Subdivision methods + Deduce the topology from the isolation of some specific points. + Separate the point isolation problem from the proper topology computation. Basic tools: I I Univariate solvers to isolate/approximate roots of polynomials. Multivariate solvers of zero-dimensional systems: I I Algebraic solvers, Subdivision solvers, which output isolating boxes containing a root, within a precision . B. Mourrain Algorithms for semi-algebraic curves and surfaces 68 / 53 Algorithms for curves Subdivision methods A general scheme Algorithm (A generic subdivision algorithm) Input: An algebraic description of a semi-algebraic set. Output: A topological description of the semi-algebraic set. Create a subdivision tree T and set its root to B0 . Create a list of cells C and initialize it with [B0 ]. While C 6= ∅ I I c = pop C If regular(c) T ← topology(c) else C ← subdivide(c) return fusion T B. Mourrain Algorithms for semi-algebraic curves and surfaces 69 / 53 Algorithms for curves Subdivision methods + An algebraic curve C defined by a square-free polynomial f (x, y ) ∈ Q[x, y ]. r Interesting points: I x-critical points of C: f (x, y ) = ∂y f (x, y ) = 0. I y -critical points of C: f (x, y ) = ∂x f (x, y ) = 0. I Singular points of C: f (x, y ) = ∂x f (x, y ) = ∂y f (x, y ) = 0. I Extremal points of f : ∂x f (x, y ) = ∂y f (x, y ) = 0. r Regularity and topology: (a) B. Mourrain (b) (c) Algorithms for semi-algebraic curves and surfaces 70 / 53 Algorithms for curves Subdivision methods (a) Empty boxes + No extremal points, which implies no closed loop of C inside D. + No point on the boundary: C ∩ ∂D = ∅ B. Mourrain Algorithms for semi-algebraic curves and surfaces 71 / 53 Algorithms for curves Subdivision methods (b) No x-critical point in D. How is the curve in the box ? Proposition If C is x-regular in D, the topology of C in D is uniquely determined by its intersection C ∩ ∂D. Algorithm I I Compute the x-index of the points p on C ∩ ∂D: sign(Tpi (C), e1 ). Connect and remove recursively two consecutive points p, q of C ∩ ∂D with x-index(p) = 1, x-index(q) = −1 and xp < xq , starting from the smallest x-coordinnate. B. Mourrain Algorithms for semi-algebraic curves and surfaces 72 / 53 Algorithms for curves Subdivision methods (c) A singular point in D. The domain contains a single point of fx (x, y ) = fy (x, y ) = 0. B. Mourrain Algorithms for semi-algebraic curves and surfaces 73 / 53 Algorithms for curves Subdivision methods Definition (Topological degree in R2 ) Number of times (f1 (x, y ), f2 (x, y )) goes around (0, 0) when (x, y ) goes around ∂D (counter-clockwise). p9 p8 p1 p7 p2 fy = 0 fx = 0 p3 p6 p4 B. Mourrain p5 Algorithms for semi-algebraic curves and surfaces 74 / 53 Algorithms for curves Subdivision methods Definition (Topological degree in R2 ) For f = (f1 , f2 ) : D ⊂ R2 → R2 , deg(f, D, o) = lim →o X sign(Jf (p)) p∈f −1 () Proposition Let (pi ) be a counter-clockwise subdivision of ∂D (ps+1 = p1 ), such that on [pi , pi+1 ], fσ(i) (σ(i) ∈ {1, 2}) is of constant sign. Then s deg(f, D, 0) = B. Mourrain 1X (−1)σ(i) det(sign(f(pi )), sign(f(pi+1 )))(∗) 8 i=1 Algorithms for semi-algebraic curves and surfaces 75 / 53 Algorithms for curves Subdivision methods Theorem (Khimshiashvili) Let x be the single singular point of f (x, y ) = 0 in D: Nbr (f , D) = 2(1 − deg(∇f , D, 0)). Theorem Let x be the single singular point of f = 0 on D and suppose it isolated in f = g = 0: Nbr (f = 0, g > 0, x) − Nbr (f = 0, g < 0, x) = 2 deg((f , Jf ,g ), D, 0). I g = (∂x f )2 + (∂y f )2 : number of branches of f at the singular point x. B. Mourrain Algorithms for semi-algebraic curves and surfaces 76 / 53 Algorithms for curves Subdivision methods The ”Minnesota” algorithm Algorithm (Topology of planar curves) I Isolate the extremal points, the smooth x-critical points and smooth y -critical points. I Decompose the domain into boxes containing at most one of these points. I For boxes with one extremal point, split until the number of branches is the number of points on the boundary and apply the singular connection algorithm. I For boxes with no singular point, apply the connection algorithm for regular domains. B. Mourrain Algorithms for semi-algebraic curves and surfaces 77 / 53 Algorithms for curves B. Mourrain Subdivision methods Algorithms for semi-algebraic curves and surfaces 78 / 53 Algorithms for curves Subdivision methods Extension to arrangements of several curves Input: I Many semi-algebraic curves (piecewise-linear, parametric, implicit, . . . ) in a domain D ⊂ R2 . Algorithms: I Handle several objects per cell. I Use the same regularity criterion. Applications: I Compute the decomposition into connected components defined by these objects. I Compute the adjacency relations. I Perform boolean operations on regions defined by semi-algebraic curves. B. Mourrain Algorithms for semi-algebraic curves and surfaces 79 / 53 Algorithms for curves Subdivision methods Fusion of the regions Extract regions from the subdivision: − f3 f3 − + f1 f1 f2 f2 + Fusion of regions Segmentation of the boundaries 2 3 4 v2 v3 v6 6 1 5 7 f1 f4 8 f2 v1 f3 9 v4 2 v5 1 3 7 6 9 4 5 8 v2 v6 f1 ∪ f4 3 1 2 4 5 6 7 8 9 f2 ∪ f3 v1 B. Mourrain v5 Algorithms for semi-algebraic curves and surfaces 80 / 53 Algorithms for curves Subdivision methods Generic algorithm which applies for piecewise, parametric, implicit, . . . curves + Need to be able to compute I (x|y)-critical points, I self-intersection points or isolated points, I segment-curve intersection points, I curve-curve intersection points. B. Mourrain Algorithms for semi-algebraic curves and surfaces 81 / 53 Algorithms for curves Subdivision methods Examples B. Mourrain degree 8 degree 12 degree 28 degree 32,4,4 degree 32,13,4 degree 76 Algorithms for semi-algebraic curves and surfaces 82 / 53 Algorithms for surfaces Subdivision method for smooth surfaces Meshing implicit surfaces [ACM’05] Algorithm Input: An implicit surface S defined by f (x, y , z) = 0 and a box D = [a, b] × [c, d] × [e, f ] ⊂ R3 . Output: A mesh of S, isotopic to V in D. 1 2 If the topology of S is C is not known, and size(C ) ≥ ε, subdivide C . Else if size(C ) ≤ ε, output a ε-singular cell. 3 Else mesh the surface S in the box in connection with the neighbor boxes. I Express f in the Bernstein basis of D. Regularity: If fz 6= 0 in D and f (x, y , e) = 0, f (x, y , f ) = 0 regular, then S regular in D regular. (same characterisation for any permutation of (x, y , z)). For approximation at precision ε, one can request a regular box to be of size ≤ ε. I I B. Mourrain Algorithms for semi-algebraic curves and surfaces 85 / 53 Algorithms for surfaces Subdivision method for smooth surfaces Entropy Definition (ε-entropy) For any set A in Rn , let E (A, ε) be the minimum number of closed balls of radius ε, covering A. Definition dim(A) = limε→0 log(E (A, ε)) log(ε−1 ) Proposition For A ⊂ Rn and Vδ (A) = {x ∈ Rn , dist(x, A) ≤ δ}, E (Vδ (A), ε) ≤ µ(ε, δ) E (A, ε). B. Mourrain Algorithms for semi-algebraic curves and surfaces 86 / 53 Algorithms for surfaces Subdivision method for smooth surfaces Analysis Proposition If S is smooth in D, there exists k0 (f ) > 0, k1 (f ) > 0, such that ∀x ∈ D, k0 (f ) d(x, SR ) ≤ |f (x)| ≤ k1 (f ) d(x, SR ). Proposition There exits k2 (f ) > 0, ∀x ∈ C ⊂ D, |f (x) − b(f ; x)| < k2 (f ) |C |2 . For small enough, a cell C of size , not at distance of S is removed by the algorithm. B. Mourrain Algorithms for semi-algebraic curves and surfaces 87 / 53 Algorithms for surfaces Subdivision method for smooth surfaces Vitushkin Variation Definition For any set S ⊂ Rn , let V0 (S) be the number of connected components of S, and R Vi (S) = c(i) L∈G n−i V0 (S ∩ L))dL, where Gk is the Grassmannian of spaces of dimension k in Rn , dL is the 1 . canonical measure on Gn−i , and c(i) = R V ([0,1]i ∩L)dL L∈Gn−i 0 Example: 2πr = 1 2 Rπ R 0 R N(Lθ,x ∩ C) dx dθ. Theorem For any semi-algebraic set A, Pdim(A) Pdim(A) c1 (d(A), n) i=0 Vi (A)ε−i ≤ E (A, ε) ≤ c2 (n) i=0 Vi (A)ε−i . B. Mourrain Algorithms for semi-algebraic curves and surfaces 88 / 53 Algorithms for surfaces Subdivision method for smooth surfaces Theorem Let S = {f (x, y , z) = 0} ∩ D be smooth. The number of cells produced by the algorithm is bounded by a multiple of the ε-entropy of S: 1 1 N 6 c0 V0 (S) + V1 (S) + 2 Area(S) . ε ε I I V0 (S): number of connected components of S. R V1 (S) 6 c1 S |k1 (p)| + |k2 (p)|dp, where k1 (p), k2 (p) are the principal curvatures of S at p. B. Mourrain Algorithms for semi-algebraic curves and surfaces 89 / 53 Algorithms for surfaces Projection methods for singular surfaces What are the interesting points on a surface ? B. Mourrain Algorithms for semi-algebraic curves and surfaces 91 / 53 Algorithms for surfaces Projection methods for singular surfaces Polar variety Definition The polar variety Polz (S) of S for the projection πz is the set of the critical points of S for πz . For a surface S ⊂ R3 defined by f (x, y , z) = 0, the polar variety for πz is defined by f (x, y , z) = 0, ∂z f (x, y , z) = 0. B. Mourrain Algorithms for semi-algebraic curves and surfaces 92 / 53 Algorithms for surfaces Projection methods for singular surfaces Whitney stratification Definition I A stratification of S is a locally finite partition of S into smooth submanifolds, called strata. I I For any p ∈ X ∩ Y , X is Whitney-regular at p along Y if for any sequences xn ∈ X , yn ∈ Y converging to p, l = limn→+∞ xn yn ⊂ T = limn→+∞ Txn X . Whitney stratification = Stratification + Whitney regular. B. Mourrain Algorithms for semi-algebraic curves and surfaces 93 / 53 Algorithms for surfaces Projection methods for singular surfaces Thom’s lemma Theorem (Thom-Mather) Let S be a Whitney stratified subset of Rm and φ : S → Rn be a proper stratified submersion. Then there is a stratum preserving homeomorphism h : S → Rn × (φ−1 (0) ∩ S) which is smooth on each stratum and commutes with the projection ρ to Rn . φ - Rn S ρ 3 h ? Rn × (φ−1 (0) ∩ S) B. Mourrain Algorithms for semi-algebraic curves and surfaces 94 / 53 Algorithms for surfaces Projection methods for singular surfaces Whitney stratification of S The squarefree part of Resultantz (f (x, y , z), ∂z f (x, y , z)) is denoted ∆(πz , S). I I I I S0 the set of points p of Polz (S) so that πz (p) is a x-critical point of ∆(πz , S). S1 : the connected components of Polz (S) − S0 . S2 : the connected components of S − Polz (S). S3 : the connected components of R3 − S. Theorem (S0 , S1 , S2 , S3 ) is a Whitney stratification of R3 compatible with S and fulfills the hypothesis of Thom’s lemma with φ = πyz . B. Mourrain Algorithms for semi-algebraic curves and surfaces 95 / 53 Algorithms for surfaces Projection methods for singular surfaces Topology of an algebraic surface Algorithm (Moving the wall) Input: I I A surface S ⊂ R3 defined by f (x, y , z) = 0, f ∈ Q[x, y , z] squarefree. A box B ⊂ R3 . Output: I A simplicial complex with points in S, isotopic to S. 1 Perform a generic change for coordinnates. 2 Compute the arrangement of the projection of the polar curve. 3 Compute the topology of the 3D polar curve. 4 Use the topology of this curve to deduce the adjacency relations between cells lifted from the plane. B. Mourrain Algorithms for semi-algebraic curves and surfaces 96 / 53 Algorithms for surfaces Projection methods for singular surfaces Subresultant for algebraic surfaces I Subresultant sequence: I ”Gcd” factorisation: Srz (f , ∂z f ) = [f (x, y , z), ∂z f (x, y , z), Srd−2 (x, y , z), . . . , Sr0 (x, y )]. I I I I Sr 0 (x, y ) = ∆1 (x, y ) · · · ∆l (x, y ). where ˜ 0,0 , Φ0 (x, y ) = Sr Φ1 (x, y ) = gcd(Φ0 (x, y ), sr1,1 (x, y )), ∆1 = Φ0 /Φ1 , Φ2 (x, y ) = gcd(Φ1 (x, y ), sr2,2 (x, y )), ∆2 = Φ1 /Φ2 , . . . Pseudo generic position: (two components of the polar curve have distinct projections) For k = 1, . . . , d − 2, i = 0, . . . , k − 1, Rk,i (x, y ) := k(k − i)srk,i (x, y )srk,k (x, y ) − (i + 1)srk,i+1 (x, y )srk,k−1 (x, y ) = 0 mod ∆k . In this case, the parametrisation of the polar curve above ∆k (x, y ) = 0 is given by z =− B. Mourrain srk,k−1 (x, y ) . k srk,k (x, y ) Algorithms for semi-algebraic curves and surfaces 97 / 53 Algorithms for surfaces Projection methods for singular surfaces Topology of surfaces I I Compute the arrangement of the planar curves ∆1 (x, y ) = 0, . . . , ∆d−2 (x, y ) = 0. The strata S0 is the lifted points of the singular and intersections points of the arrangement. I In generic position, the intersection points (α, βk (α)) of two planar curves ∆i (x, y ) = 0 lift in I I a singularity (α, βk (α), γl (α)) (if Rl,i (α, βk (α)) = 0 for i = 0, . . . , l − 1), two distinct points otherwise. I The lifted points are the simple roots of Γk,l (x) = 0, gk (x, y ) = 0, hl (x, y , z) = 0, where I I I B. Mourrain Γk,l (x) = 0 defined the roots of Γk (x) = 0 such that deg(gcd(f , ∂z f )) = l. gk (x, y ) = Φ0 (x, y )/Srk (x, y ) mod Γk,l (x), hl (x, y , z) = f (x, y , z)/Srl (x, y , z) mod (Γk,l (x), gk (x, y )). Algorithms for semi-algebraic curves and surfaces 98 / 53 Algorithms for surfaces Projection methods for singular surfaces I The strata S1 is obtained by lifting each planar arc by the corresponding map γk (x, y ). I The strata S2 is obtained I I by lifting regular arcs between the lifted critical points of the planar arrangement, by connecting the ordered lifted arcs and the arcs of the polar curve in 2D faces, using the points above and below the lifted critical points. + The decomposistion (S0 , S1 , S2 ) gives a Whitney stratification of S compatible with V (the apparent contour). B. Mourrain Algorithms for semi-algebraic curves and surfaces 99 / 53 Algorithms for surfaces B. Mourrain Projection methods for singular surfaces Algorithms for semi-algebraic curves and surfaces 100 / 53 Algorithms for surfaces Projection methods for singular surfaces For polynomials of degree d and coefficients of bit-size ≤ τ : I I I Bit complexity for the topology of a planar curve: ÕB (d 11 τ ). Bit complexity for the topology of an algebraic 3D curve: ÕB (d 23 τ ). Bit complexity for the topology of an algebraic surface: ÕB (d 23 τ ). B. Mourrain Algorithms for semi-algebraic curves and surfaces 101 / 53 Algorithms for surfaces Projection methods for singular surfaces S.S. Abhyankar. Algebraic Geometry for Scientists and Engineers. American Mathematical Society, Providence, R. I., 1990. L. Alberti and B. Mourrain. Visualisation of algebraic curves. In The 15th Pacific Graphics, pages 303–312. IEEE Computer Society, 2007. L. Alberti, B. Mourrain, and J.-P. Técourt. Isotopic triangulation of a real algebraic surface. Journal of Symbolic Computation, 44:1291–1310, 2009. L. Alberti, B. Mourrain, and J. Wintz. Topology and arrangement computation of semi-algebraic planar curves. Comput. Aided Geom. Design, 25:631–651, November 2008. M.F. Atiyah and I.G. MacDonald. Introduction to Commutative Algebra. Addison-Wesley, 1969. S. Basu, R. Pollack, and M.-F. Roy. Algorithms in Real Algebraic Geometry. Springer-Verlag, Berlin, 2003. D. Cox, J. Little, and D. O’Shea. Ideals, Varieties, and Algorithms: An Introduction to Computational Algebraic Geometry and Commutative Algebra. Undergraduate Texts in Mathematics. Springer Verlag, New York, 1992. D. Cox, J. Little, and D. O’Shea. Using algebraic geometry, volume 185 of Graduate Texts in Mathematics. Springer-Verlag, New York, 1998. D. Eisenbud and H.I. Levine. An Algebraic Formula for the Degree of a C ∞ Map Germ. B. Mourrain Algorithms for semi-algebraic curves and surfaces 101 / 53 Algorithms for surfaces Projection methods for singular surfaces The Annals of Mathematics, 106(1):pp. 19–44, 1977. M. Elkadi and B. Mourrain. Introduction à la résolution des systèmes d’équations algébriques, volume 59 of Mathématiques et Applications. Springer-Verlag, 2007. G. Farin. Curves and surfaces for computer aided geometric design : a practical guide. Comp. science and sci. computing. Acad. Press, 1990. T. Fukuda, K. Aoki, and W.Z. Sun. On the number of branches of a plane curve germ. Kodai Mathematical Journal, 9(2):179–187, 1986. M. Giusti, G. Lecerf, B. Salvy, and J.-C. Yakoubsohn. On location and approximation of clusters of zeros: Case of embedding dimension one. Foundations of Computational Mathematics, 7:1–58, 2007. L. González-Vega and I. Necula. Efficient topology determination of implicitly defined algebraic plane curves. Comput. Aided Geom. Design, 19(9):719–743, 2002. M. Goresky and R. MacPherson. Stratified Morse Theory. Springer-Verlag, 1988. H. Hironaka. Triangulations of algebraic sets. In Algebraic geometry (Proc. Sympos. Pure Math., Vol. 29, Humboldt State Univ., Arcata, Calif., 1974), pages 165–185. Amer. Math. Soc., Providence, R.I., 1975. J. R. Sendra J. G. Alcazar, J. Schicho. A delineability-based method for computing critical sets of algebraic surfaces. Journal of Symbolic Computation, 42(6):678–691, 2007. B. Mourrain Algorithms for semi-algebraic curves and surfaces 101 / 53 Algorithms for surfaces Projection methods for singular surfaces G. N. Khimšiašvili. The local degree of a smooth mapping. Sakharth. SSR Mecn. Akad. Moambe, 85(2):309–312, 1977. A. Leykin, J. Verschelde, and A. Zhao. Newton’s method with deflation for isolated singularities of polynomial systems. Theoretical Computer Science, 359(1-3):111 – 122, 2006. N. G. Lloyd. Degree Theory. Cambridge University Press, Cambridge, 1978. F.S. Macaulay. The algebraic theory of modular systems. Cambridge Univ. Press, 1916. A. Mantzaflaris and B. Mourrain. A subdivision approach to planar semi-algebraic sets. In Geometric Modeling and Processing, volume 6130 of Lecture Notes in Computer Science, pages 104–123. Springer Berlin/Heidelberg, June 2010. A. Mantzaflaris, B Mourrain, and E. Tsigaridas. On Continued Fraction Expansion of Real Roots of Polynomial Systems, Complexity and Condition Numbers. Theoretical Computer Science, 412(22):2312–2330, 2011. M. G. Marinari, H. M. Möller, and T. Mora. On multiplicities in polynomial system solving. Trans. Amer. Math. Soc, 348:3283–3321, 1996. B. Mourrain. Isolated points, duality and residues. Journal of Pure and Applied Algebra, 117-118:469 – 493, 1997. B. Mourrain and J. P. Pavone. B. Mourrain Algorithms for semi-algebraic curves and surfaces 101 / 53 Algorithms for surfaces Projection methods for singular surfaces Subdivision methods for solving polynomial equations. Journal of Symbolic Computation, 44:292–306, March 2009. B. Mourrain and Ph. Trébuchet. Stable normal forms for polynomial system solving. Theoretical Computer Science, 409(2):229 – 240, 2008. D. N’Diatta, B. Mourrain, and O. Ruatta. On the computation of the topology of a non-reduced implicit space curve. In D. Jeffrey, editor, ISSAC, pages 47–54. ACM Press, 2008. D. N’Diatta, B. Mourrain, and O. Ruatta. On the Isotopic Meshing of an Algebraic Implicit Surface, 2011. to appear in Journal of Symbolic Computation. M. Shub and S. Smale. Complexity of Bezout’s Theorem I: Geometric Aspects. Journal of the American Mathematical Society, 6(2):459–501, 1993. Z. Szafraniec. On the number of branches of a 1-dimensional semianalytic set. Kodai Mathematical Journal, 11(1):78–85, 1988. Z. Szafraniec. Topological degree and quadratic forms. Journal of Pure and Applied Algebra, 141(3):299 – 314, 1999. J. von zur Gathen and J. Gerhard. Modern computer algebra. Cambridge University Press, New York, 1999. Y. Yomdin and G. Comte. Tame geometry with applications in smooth analysis. LNM 1834. Springer-Verlag, 2004. B. Mourrain Algorithms for semi-algebraic curves and surfaces 101 / 53
© Copyright 2025 Paperzz