Algorithms for semi-algebraic curves and surfaces B. Mourrain - - PowerPoint PPT Presentation

algorithms for semi algebraic curves and surfaces
SMART_READER_LITE
LIVE PREVIEW

Algorithms for semi-algebraic curves and surfaces B. Mourrain - - PowerPoint PPT Presentation

Algorithms for semi-algebraic curves and surfaces B. Mourrain GALAAD, INRIA M editerran ee, Sophia Antipolis Bernard.Mourrain@inria.fr July 21, 2011 B. Mourrain Algorithms for semi-algebraic curves and surfaces 1 / 53 SHAPES B.


slide-1
SLIDE 1

Algorithms for semi-algebraic curves and surfaces

  • B. Mourrain

GALAAD, INRIA M´ editerran´ ee, Sophia Antipolis Bernard.Mourrain@inria.fr July 21, 2011

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 1 / 53

slide-2
SLIDE 2

SHAPES

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 2 / 53

slide-3
SLIDE 3

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

slide-4
SLIDE 4

Computer Aided Geometric Design

◮ Interpolation of points, resp. curves by surfaces. ◮ (self)-intersection computation. ◮ Closest point or distance computation (collision). ◮ Surfaces filling holes, with constraints on the boundary. ◮ Pipes, canal surfaces, offset, fillet, blending, . . . ◮ Medial axis or skeletal structure.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 4 / 53

slide-5
SLIDE 5

❒ Representation:

◮ semi-algebraic models: Bezier, NURBS, piecewise rational

parameterisation,

◮ many pacthes, but “small” degree, ◮ with errors on the input coefficients; ◮ stored using machine numbers,

❒ Computation:

◮ points: intersection points, singularities, ombilic points, ◮ curves: apparent contours, (auto-)intersections, ridges, ◮ surfaces: offsets, blending, drafts, enveloppes,

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 5 / 53

slide-6
SLIDE 6

Shape representation

Shape representations

◮ Point clouds [1] [2] [3] ◮ Meshes [1] [2] [3] ◮ Parametric curves, surfaces, volumes . . . [1] [2] [3] ◮ Implicit curves, surfaces, volumes . . . [1] [2] [3]

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 7 / 53

slide-7
SLIDE 7

Shape representation Parametric and implicit curves

Univariate Bernstein representation

For any f (x) ∈ Q[x] of degree d, with f (x) =

d

  • i=0

ci d i

  • (x − a)i(b − x)d−i(b − a)−d =

d

  • i=0

ci Bi

d(x; a, b),

The c = [ci]i=0,...,d are the control coefficients of f on [a, b]. Properties:

◮ d i=0 Bi d(x; a, b) = 1; d i=0(a d−i d

+ b i

d ) Bi d(x; a, b) = x; ◮ f (a) = c0, f (b) = cd; ◮ f ′(x) = d d−1 i=0 ∆(c)i Bi d−1(x; a, b) where ∆(c)i = ci+1 − ci; ◮ (x, f (x))x∈[a,b] ∈ convex hull of the points (a d−i

d

+ b i

d , ci)i=0..d

◮ #{f (x) = 0; x ∈ [a, b]}=V (c) −2p, p ∈ N.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 9 / 53

slide-8
SLIDE 8

Shape representation Parametric and implicit curves

De Casteljau subdivision algorithm

  • c0

i = ci,

i = 0, . . . , d, cr

i (t) = (1 − t) cr−1 i

(t) + t cr−1

i+1 (t),

i = 0, . . . , d − r.

◮ c−(t) = (c0

0(t), c1 0(t), . . . , cd 0 (t)) represents f on [a, (1 − t) a + t b].

◮ c+(t) = (cd

0 (t), cd−1 1

(t), . . . , c0

d(t)) represents f on [(1 − t) a + t b, b].

The geometric point of view. The algebraic point of view.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 10 / 53

slide-9
SLIDE 9

Shape representation Parametric and implicit curves

Spline representation

Nodes: t0 ≤ t1 ≤ · · · ≤ tl ∈ R Basis functions: N0

i (t) =

1 if ti ≤ t < ti+1 0 otherwise. Nd

i (t) =

t − ti ti+d − ti Nd−1

i

(t) + ti+d+1 − t ti+d+1 − ti+1 Nd−1

i+1 (t). ◮ Support of Nd i (t) =]ti, ti+d+1[; ◮ Positive basis of functions which are piecewise polynomials of degree

d on the subdivision t0, t1, . . . , tl ;

◮ Sum to 1;

Function representation: f (t) =

L

  • i=1

ci Nd

i (t) ◮ Fast and stable algorithms for node insertion, evaluation; ◮ Simple representation of the derivative;

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 11 / 53

slide-10
SLIDE 10

Shape representation Parametric and implicit curves

Parametric curve

Piecewise polynomial parametrisation: σ : I → Rm t →

L

  • i=0

ciNd

i (t)

where cj ∈ Rm are the control points. Rational parametrisation: σ : I → Rm t → L

i=0 wiciNd i (t)

L

i=0 wi Nd i (t)

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

slide-11
SLIDE 11

Shape representation Parametric and implicit curves

Implicit curves

◮ 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)∂xf (x0, y0) + (y − y0)∂yf (x0, y0) = 0 Points with a vertical tangent: f (x0, y0) = ∂yf (x0, y0) = 0. Points with a horinzontal tangent: f (x0, y0) = ∂xf (x0, y0) = 0.

◮ Singular points: f (x0, y0) = ∂xf (x0, y0) = ∂yf (x0, y0) = 0. ◮ 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

  • f common points or intersect in atmost d1 d2 points.
  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 13 / 53

slide-12
SLIDE 12

Shape representation Parametric and implicit surfaces

Rectangular patches

Piecewise polynomial parametrisation: σ : I × J → Rm (s, t) →

L

  • i=0

L′

  • j=0

ci,jNd

i (s)Nd′ j (t)

where ci,j ∈ Rm are the control points. Rational parametrisation: σ : I × J → Rm (s, t) → L

i=0

L′

j=0 wi,j ci,jNd i (s)Nd′ j (t)

L

i=0

L′

j=0 wi,jNd i (s)Nd′ j (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

slide-13
SLIDE 13

Shape representation Parametric and implicit surfaces

Triangular patches

f (s, t) =

  • i+j+k=d

ci,j,k Ni,j,k(s, t) where Ni,j,k(s, t) = d! i!j!k! si tj (1 − s − t)k.

◮ Parameters domain in the unit 2d simplex. ◮ De Casteljau-like subdivision and insertion algorithm at a new point.

Arithmetic complexity O(d3), memory space O(d2).

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 16 / 53

slide-14
SLIDE 14

Shape representation Parametric and implicit surfaces

Implicit surfaces

◮ An algebraic surface S is defined by f (x, y, z) = 0 with f ∈ R[x, y, z]

squarefree.

◮ The degree of S is the minimal degree of a polynomial f defining S. ◮ The tangent plane at a point (x0, y0, z0) ∈ S is

(x−x0)∂xf (x0, y0, z0)+(y−y0)∂yf (x0, y0, z0)+(z−z0)∂zf (x0, y0, z0) = 0

◮ Singular points of S:

f (x0, y0, z0) = ∂xf (x0, y0, z0) = ∂yf (x0, y0, z0) = ∂zf (x0, y0, z0) = 0.

◮ 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

slide-15
SLIDE 15

Shape representation Exercises Exercise 1.1:

Compute the coefficients in the Bernstein basis of degree d on [0, 1] of 1, x, x2, . . ..

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:

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.

Construct the linear system that satisfied the vector of coefficients of a polynomial expressed in the Bernstein basis in

  • rder to vanishes at the points Pi ;

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:

Show that the set of rational curves in the plane of degree ≤ d is of dimenion ≤ 3(d + 1).

Compute the dimension of the set of implicit curves. Show that all implicit curves cannot be parametrised by a rational function.

Show that a curve of degree d with a singular point of multiplicity d − 1, is parametrised by a rational function.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 19 / 53

slide-16
SLIDE 16

Computing points on curves and surfaces

Geometric problems we want to solve

◮ Intersection of planar curves; ◮ Topology and arrangement of planar 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; ◮ Voronoi diagram of curves and surfaces; ◮ . . .

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 21 / 53

slide-17
SLIDE 17

Computing points on curves and surfaces Local methods

Newton method

f : Rn → Rn x → f(x)

1

Choose x0 ∈ Rn;

2

Iterate xn+1 := xn − Df(xn)−1 f(xn) until xn+1 − xn < ǫ.

◮ Quadratic local convergence. ◮ No guaranty of global convergence. ◮ No guaranty of what, it could converge to.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 23 / 53

slide-18
SLIDE 18

Computing points on curves and surfaces Local methods

Local convergence criterion

Definition

◮ βf(x) = Df(x)−1f(x) ◮ γf(x) = supk≥2 1 k!Df(x)−1Dkf(x)

1 k−1

◮ αf(x) = βf(x) γf(x).

Let δ(u) := 1

4(1 + u −

  • (1 + u)2 − 8 u).

Theorem (Schub Smale’93) If αf(x) < α0 ≤ 1

4(13 − 3

√ 17) ∼ 0.1577 then

◮ f has a unique zero ζ in the ball B(x, δ0 γf(x)), with

δ0 = δ(α0) ≤ 2−

√ 2 2

∼ 0.2929;

◮ for each point z ∈ I(x, δ0 γf(x)), Newton’s method starting from z

converges quadratically to ζ.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 24 / 53

slide-19
SLIDE 19

Computing points on curves and surfaces Local methods

Homotopy

☞ Deform a system f0 = 0 with known solutions into the system to solve f = 0.

◮ Linear homotopy: F(t, x) = (1 − t)f0(x) + t f(x) ◮ Toric homotopy: use a lifting parameter as in BKK theorem. ◮ Geometric homotopy: deform the geometry of similar configurations.

Characteristics:

◮ Path following using predictor-corrector schemes. ◮ Assume the same number of solutions for f0 = 0 and f = 0. ◮ Applied for square systems. ◮ Numerical certification issues. ◮ Adaptation for components of dimension ≥ 1.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 25 / 53

slide-20
SLIDE 20

Computing points on curves and surfaces Subdivision methods

Subdivision solver in Bernstein bases

Given a polynomial f (x) ∈ R[x] of degree d,

◮ We express it in the Bernstein basis on the interval [a, b]:

f (x) =

d

  • i=0

ciBi

d(x; a, b). ◮ We use the coefficient sequence [c0, . . . , cd] to isolate its real roots on

[a, b].

◮ We count the number of sign variation V (c).

◮ 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.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 27 / 53

slide-21
SLIDE 21

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).

  • utput: list of isolating intervals in [a, b] for the real roots of f (or the

ǫ-multiple root).

◮ Multiple roots (and multiplicity) within a precision ǫ. ◮ x := t/(1 − t): Uspensky method. ◮ Complexity:OB(d6τ 2) [MVY02],[RZ03],[MRR04],[EKMW05];

˜ OB(d4τ 2) [KM05], [ESY06], [EMT06], [ET07].

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 28 / 53

slide-22
SLIDE 22

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( 1

2, 1 2), then V (c) = 0.

Theorem (Two circles, Ostrowski) If there is no complex root in the union of the complex discs D( 1

2 ± i 1 2 √ 3, 1 √ 3) except a simple

real root, then V (c) = 1.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 29 / 53

slide-23
SLIDE 23

Computing points on curves and surfaces Subdivision methods

Continued Fraction solver [AC’76, ..., TE’08]

☞ Instead of changing the interval:

◮ Fix it: ]0, +∞[ ◮ Change the fonction, by homography transformation:

H : ]0, +∞[ → ]a c , b d [ x → a + b x c + d x

◮ Work with (f ◦ H, H)

❒ Regularity:

◮ 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

slide-24
SLIDE 24

Computing points on curves and surfaces Subdivision methods

❒ Subdivision:

◮ Compute a lower bound b = L(f ) ∈ N of the roots of f in R+; ◮ Compute f (x) := Tb(f ) = f (x + n) and repeat until L(f ) = 0; ◮ Split: T1(p) = p(x + 1), R(p) = (x + 1)dp( 1 x+1). B

1 x= 1/(x+1) x= x+1 x= x+B

CF(α) = ⌊α⌋+ 1 CF

  • 1

α−⌊α⌋

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 31 / 53

slide-25
SLIDE 25

Computing points on curves and surfaces Subdivision methods

☞ Continued Fraction expansion of the roots: α = b0 + 1 b1 +

1 b2+...

where bi is the total shift between the ith 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 x → b0 + 1 b1 + 1 ... bn + 1 x transforms f (x) to ˜ f (x) such that

1

V (˜ f ) = 0 ⇔ f has no positive real roots.

2

V (˜ f ) = 1 ⇔ f has one positive real root. 2O(dτ) [Vincent; 1836], [Uspensky;1948] . . . , ˜ OB(d5τ 3) [Akritas;1980], [Akritas,Bocharov,Strz´ ebonski;2005], . . . ˜ OB(d4τ 2) [Emiris, Tsigaridas.; 2006]; Expected ˜ OB(d3τ) [Tsigaridas, Emiris; 2008], . . .

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 32 / 53

slide-26
SLIDE 26

Computing points on curves and surfaces Subdivision methods

Basic operators:

◮ Hλ : p(x) → p(λ x) ◮ Ta : p(x) → p(x + a) ◮ R : p → xdeg(p) p(1/x)

Correspondances: t = x − a 1 − x ∈ [0, +∞[ ↔ x = a + b t 1 + t ∈ [a, b[ p(t) = (1 + t)df (a + b t 1 + t ) ↔ f (x) = (b − x)dp(x − a b − x )

d

  • i=0

aiti ↔

d

  • i=0

ai d

i

Bi

d(x; a, b)

T1(p) = p(t + 1) ↔ c+ · Bd(x; a, a + b 2 ) RT1R(p) = (t + 1 t )dp( t t + 1) ↔ c− · Bd(x; a + b 2 , b)

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 33 / 53

slide-27
SLIDE 27

Computing points on curves and surfaces Subdivision methods

Multivariate subdivision solver

     f1(u) =

i1,...,in b1 i1,...,inBd1,...,dn i1,...,in (u1, . . . , un),

. . . fs(u) =

i1,...,in bs i1,...,inBd1,...,dn i1,...,in (u1, . . . , un),

Algorithm

1

preconditioning on the equations;

2

reduction of the domain;

3

if the reduction ratio is too small, subdivision of the domain. ❒ Global quadratic convergence of C(b) to f , by subdivision. ❒ Local quadratic convergence for precond. reductions.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 34 / 53

slide-28
SLIDE 28

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: ||f ||2 =

  • 0≤i1≤d1,...,0≤in≤dn

|b(f )i1,...,in|2, by taking for M, the matrix of eigenvectors of Q = (fi|fj)1≤i,j≤s. b) M = J−1

f

(u0) for u0 ∈ D.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 35 / 53

slide-29
SLIDE 29

Computing points on curves and surfaces Subdivision methods

Reduction

mj(f ; xj) = dj

ij=0 min{0≤ik≤dk,k=j} bi1,...,in Bij dj(xj; aj, bj)

Mj(f ; xj) = dj

ij=0 max{0≤ik≤dk,k=j} bi1,...,in Bij dj(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

slide-30
SLIDE 30

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.

◮ 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.

◮ 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 | ˜ Mj(˜ f; uj) − ˜ mj(˜ f; uj)| ≤ κfǫ2.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 37 / 53

slide-31
SLIDE 31

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 resultat time (ms) sbd 4826 4826 220 217 rd 2071 1437 128 114 sbds 3286 3286 152 180 rds 1113 748 88 117 rdl 389 116 78 44 bidegrees (12,12), (12,12)

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 38 / 53

slide-32
SLIDE 32

Computing points on curves and surfaces Subdivision methods method iterations subdivisions

  • utput

time (ms) sbd 161447 161447 61678 1493 rd 731 383 36 18 sbds 137445 137445 53686 1888 rds 389 202 18 21 rdl 75 34 8 7 bidegrees (2,3), (3,4); 3 singular solutions. method iterations subdivisions

  • utput

time (ms) sbd 235077 235077 98250 4349 rd 275988 166139 89990 8596 sbds 1524 1524 114 36 rds 590 367 20 29 rdl 307 94 14 18 bidegrees (3,4), (3,4); 3 singular solutions.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 39 / 53

slide-33
SLIDE 33

Computing points on curves and surfaces Subdivision methods method iter. subd. result time (ms) sbd 76523 76523 20352 3454 rd 42949 27943 12000 2154 sbds 4697 4697 116 258 rds 1895 1222 72 179 rdl 1082 326 64 113 bidegrees (4, 4), (8, 8) method iter. subd. result time (ms) sbd 84887 84887 28896 3820 rd 82873 51100 20336 4553 sbds 6076 6076 364 333 rds 1486 920 144 163 rdl 1055 305 60 120 bidegrees (8, 8), (8, 8)

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 40 / 53

slide-34
SLIDE 34

Computing points on curves and surfaces Algebraic methods

In one variable

We want to solve f := xd + ad−1xd−1 + · · · + a0 = 0 (ai ∈ K) or to find z1, . . . , zd ∈ C such that f =

d

  • i=1

(z − zi).

  • r to find approximation of z1, . . . , zd ∈ C within a precision ε.
  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 42 / 53

slide-35
SLIDE 35

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

  • f 1, . . . , xd−1.

The equivalent classes of polynomials modulo the multiples of f noted A = K[x]/(f ) has a basis: {1, . . . , xd−1}.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 43 / 53

slide-36
SLIDE 36

Computing points on curves and surfaces Algebraic methods

If the roots zi are distincts, another basis of A = K[x]/(f ) is ei =

  • j=i

(x − zj) (zi − zj) They are known as the Lagrange interpolation polynomials. For any polynomial p: p ≡

d

  • i=1

p(zi) ei We have in A = K[x]/(f ): e2

i ≡ ei,

ei ej ≡ 0 (i = j), e1 + · · · + ed ≡ 1

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 44 / 53

slide-37
SLIDE 37

Computing points on curves and surfaces Algebraic methods

The matrix of the multiplication by x Mx : K[x]/(f ) → K[x]/(f ) q → x q Monomial basis 1, x, . . . , xd−1       . . . −a0 1 ... . . . . . . ... . . . 1 −ad−1       Lagrange basis (for simple roots):       z1 . . . ... ... . . . . . . ... ... . . . zd       ◮ The eigenvalues are the roots zi of f (x) = 0. ◮ 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

slide-38
SLIDE 38

Computing points on curves and surfaces Algebraic methods

Duality in one variable

❒ The dual of K[x]: K[x] = {Λ : K[x] → K linear}. Example: p → di(p) =coefficient of xi in p = 1

i!∂i(p)(0)

Example: 1ζ : p → p(ζ). ❒ Representation by series: Λ =

  • i=0

Λ(xi) di ∈ K[[d]]. Example: 1ζ = ∞

i=0 ζi di ∈ K[[d]] = 1 1−ζd.

❒ Structure of K[x]-module: p(x) · Λ : q → Λ(p q). x · Λ =

  • i=1

Λ(xi)di−1 p(x) · Λ = π+(p(d−1) Λ(d)).

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 46 / 53

slide-39
SLIDE 39

Computing points on curves and surfaces Algebraic methods

◮ The dual space A of A is the set of linear forms λ from A to K. The multiplication by x in A is the transposed of Mx: Mt

x :

A →

  • A

λ → x · λ where x · λ : p → λ(x p). A basis of A is the set of evaluations 1zi : p → p(zi), dual to ei. The eigenvectors of Mt

x are the evaluations 1zi, i = 1 . . . d.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 47 / 53

slide-40
SLIDE 40

Computing points on curves and surfaces Algebraic methods

In several variables

Variables: x1, . . . , xn. Monomials: xα = xα1

1 · · · xαn 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. 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 ≡ a′ iff a − a′ ∈ I (similar to polynomial functions restricted to the set of solutions).

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 48 / 53

slide-41
SLIDE 41

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

◮ a set B = {b1, . . . , bD} of polynomials (monomials) which is a basis

  • f A;

◮ the tables of multiplications Ma = (ma j,k) by a modulo f1, . . . , fs:

a bj :=

D

  • k=1

ma

k,jbk.

for a = x1, . . . (using Gr¨

  • bner basis, Border basis, Resultants, ...)
  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 49 / 53

slide-42
SLIDE 42

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 x2

1 + 8 x1 x2 + 4 x2 2 − 8 x1 − 8 x2 + 2

> f 2 := x2

1 + 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); x2

1 ≡ −x1x2 + x1 + 1

6. > expand(x2

1 x2 + 1 9 x1 f1 − ( 5 9 + 13 9 x1 + 4 9 x2) f2);

x2

1x2 ≡ −x1x2 + 55

54 x1 + 2 27 x2 + 5 54. A basis of A is 1, x1, x2, x1x2 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

slide-43
SLIDE 43

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

  • ver K.

Ma : A → A u → a u Mt

a :

A →

  • A

Λ → a · Λ = Λ ◦ Ma Theorem

◮ The eigenvalues of Ma are {a(ζ1), . . . , a(ζd)}. ◮ The eigenvectors of all (Mt a)a∈A are (up to a scalar) 1ζi : p → p(ζi).

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 51 / 53

slide-44
SLIDE 44

Computing points on curves and surfaces Algebraic methods

Multiplication operators

Matrix of multiplication by x1 in the basis {1, x1, x2, x1x2} modulo > f1 = 13 x2

1 + 8 x1 x2 + 4 x2 2 − 8 x1 − 8 x2 + 2

> f2 = x2

1 + x1 x2 − x1 − 1 6

1 × x1 ≡ x1, x1 × x1 ≡ −x1x2 + x1 + 1 6, x2 × x1 ≡ x1x2, x1x2 × x1 ≡ x2

1 x2 + 1

9 x1 f1 − (5 9 + 13 9 x1 + 4 9 x2) f2 ≡ −x1x2 + 55 54 x1 + 2 27 x2 + 5 54. This yields: M1 =       

1 6 5 54

1 1

55 54 2 27

−1 1 −1        .

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 52 / 53

slide-45
SLIDE 45

Computing points on curves and surfaces Algebraic methods

Computing the roots from the eigenvectors

> Eigenvals(M1); [−1 3, −1 3, 1 3, 1 3] > Eigenvects(transpose(M1)); [1, −1 3, 5 6, − 5 18], [1, 1 3, 7 6, 7 18] As the basis is (1, x1, x2, x1x2), we deduce the roots:

◮ ζ1 = (− 1 3, 5 6), ◮ ζ2 = ( 1 3, 7 6).

Remark: v4 v1 = v2 v3.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 53 / 53

slide-46
SLIDE 46

Computing points on curves and surfaces Isolated singular points

Assume 0 is an isolated multiple point of a system f(x) = 0.

◮ We denote by dα = 10 ◦ 1 α! d|α| dα the differentials evaluated at 0. ◮ 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.

◮ If Λ ∈ D, the d−1 i

⋆ Λ ∈ D.

◮ If 0 is isolated multiple, then D ⊂ K[d]. ◮ The dimension of D is the multiplicity of O.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 55 / 53

slide-47
SLIDE 47

Computing points on curves and surfaces Isolated singular points

Algorithms to compute D

Given f1, . . . , fs which define an isolated point 0;

◮ 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.

◮ 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

slide-48
SLIDE 48

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). Exercise 2.4: For f = adxd + · · · + a0 = an d

i=1(x − zi), let M(f ) = an

max(1, | zi |). ◮ 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 )ℓ ≥

  • (i,j)∈Ω

|γi − γj| ≥ 2ℓ− d(d−1)

2

M(f )1−d−ℓ | disc(fred) |, where fred is the square-free part of f . If f ∈ Z[x], ℓ ≤ d and bitsizef = τ, then dd/2 22dτ ≥ dℓ/2 22ℓτ ≥

  • (i,j)∈Ω

|γi − γj| ≥ d−d 2−d2−3τ(ℓ+d) ≥ d−d 2−d2−6dτ. and the two circle theorems, prove that the number of subdivisions to isolate its real roots is O(dτ + d log d). ◮ Deduce that the binary cost of the subdivision solver is ˜ OB(d4τ 2).

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 58 / 53

slide-49
SLIDE 49

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, e2

i ≡ ei, eiej ≡ 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 → Trace(Ma) where Ma is the multiplication by a in A.

We denote by Qh the quadratic form (a, b) → Tr(h a b). ◮ Show that the rank of Q1 is the number of complexe distinct roots of f (x) = 0. ◮ Show that the signature of Q1 is the number of real distinct roots of f (x) = 0. ◮ Show that the rank of Qh is the number of complexe distinct roots ζ with h(ζ) = 0. ◮ 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 ◮ f1 = x2

1 − x2 2 , f2 = x1 x2 at (0, 0);

◮ f1 = 2 x2

1 x2 + 5 x4 1 , f2 = 2 x1 x2 2 + 5 x4 1 at (0, 0);

Exercise 2.8: Let C be the curve defined by f (x, y) = x y. ◮ Compute the jacobian g(x, y) of f (x, y) and x2 + y2; ◮ Compute the inverse system D of f and g at 0. ◮ Compute a dual monomial basis B of D. ◮ Take a dual element Λ ∈ D such that Λ(Jf ,g) > 0. ◮ Compute the matrix of the bilinear form QΛ : (a, b) → Λ(a b) in the basis B. ◮ 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

slide-50
SLIDE 50

Algorithms for curves Sweeping methods

Arrangement of segments (Bentley-Ottman)

◮ Choose a sweeping direction. ◮ Detect the next event where changes in the sweeping line appear:

◮ An end point of a segment, ◮ A crossing point of two segments.

◮ Update the sweeping structure at these events.

◮ Insert or remove a segment in the sweeping structure. ◮ Swap two segments in the sweeping structure.

◮ Advantages:

◮ Use only adjacent segments to compute the intersection points. ◮ Perform local updates of the cell/arrangement structure.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 62 / 53

slide-51
SLIDE 51

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

slide-52
SLIDE 52

Algorithms for curves Sweeping methods

Subresultants

Given two polynomials p(x), q(x) ∈ A[x], compute for some coefficients

◮ r1 = −a2 1rem(p, q) ∈ A[x], ◮ r2 = −a2 2rem(q, r1) ∈ A[x],

. . .

◮ rN+1 = −a2 N+1rem(rN−1, rN) = 0

Sr(p, q) = [p(x), q(x), r1(x), . . . , rN(x)] ∼ [p(x), q(x), Sr1(x), . . . , Sr0(x)] with Sri(x) = sri,ixi + · · · + sri,0. Properties:

◮ The polynomial ri(x) is of degree ≤ deg(q) − i. ◮ The coefficients of ri(x) are minors of the Sylvester matrix. ◮ The last non-zero remainder rN is the gcd of p and q. ◮ For the first k ≤ 0 such that srk,k = 0, we have Srk(x) = gcd(p, q). ◮ The first coefficients of ri(x) are minors of the Sylvester matrix. ◮ If Vp,q(a) is the sign variation of Sr(p, q)(a), then

◮ Vp,p′(a) − Vp,p′(b) is the number of real roots of p in [a, b], ◮ Vp,p′q(a) − Vp,p′q(b) is the sum of the signs of q at the real roots of p

in [a, b].

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 64 / 53

slide-53
SLIDE 53

Algorithms for curves Sweeping methods

Topology of implicit 2d curves in practice

◮ Compute the subresultant sequence

Sy(f , ∂yf ) = [f (x, y), ∂yf (x, y), Srd−2(x, y), . . . , Sr0(x)].

◮ Compute the squarefree part ˜

Sr0(x) =

Sr0(x) gcd(Sr0(x),Sr′

0(x)) of Sr0.

◮ Compute the factorisation ˜

Sr0(x) = Γ1(x) · · · Γs(x) where

◮ Φ1 = gcd( ˜

Sr 0, sr1,1), Γ1 = ˜ Sr 0/Φ1,

◮ Φ2 = gcd(Φ1, sr2,2), Γ2 = Φ1/Φ2, . . .

◮ Check the genericity condition: Srk = srk,k(x) (y − β(x))k mod Γk(x) where

β(x) = − srk,k−1(x)

k srk,k(x) . ◮ For each root α of Γk(x), count the number of roots of f (α, y) = 0

below and above β(α) = − srk,k−1(α)

k 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

slide-54
SLIDE 54

Algorithms for curves Sweeping methods

Some examples

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 66 / 53

slide-55
SLIDE 55

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:

◮ Univariate solvers to isolate/approximate roots of polynomials. ◮ Multivariate solvers of zero-dimensional systems:

◮ 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

slide-56
SLIDE 56

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 = ∅

◮ 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

slide-57
SLIDE 57

Algorithms for curves Subdivision methods

☞ An algebraic curve C defined by a square-free polynomial f (x, y) ∈ Q[x, y]. ❒ Interesting points:

◮ x-critical points of C: f (x, y) = ∂yf (x, y) = 0. ◮ y-critical points of C: f (x, y) = ∂xf (x, y) = 0. ◮ Singular points of C: f (x, y) = ∂xf (x, y) = ∂yf (x, y) = 0. ◮ Extremal points of f : ∂xf (x, y) = ∂yf (x, y) = 0.

❒ Regularity and topology: (a) (b) (c)

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 70 / 53

slide-58
SLIDE 58

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

slide-59
SLIDE 59

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

◮ Compute the x-index of the points p on C ∩ ∂D: sign(T i

p(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

slide-60
SLIDE 60

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

slide-61
SLIDE 61

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).

p1 p2 p3 p4 p5 p6 p7 p8 p9 fy = 0 fx = 0

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 74 / 53

slide-62
SLIDE 62

Algorithms for curves Subdivision methods

Definition (Topological degree in R2) For f = (f1, f2) : D ⊂ R2 → R2, deg(f, D, o) = lim

ǫ→o

  • p∈f−1(ǫ)

sign(Jf(p)) Proposition Let (pi) be a counter-clockwise subdivision of ∂D (ps+1 = p1), such that

  • n [pi, pi+1], fσ(i) (σ(i) ∈ {1, 2}) is of constant sign. Then

deg(f, D, 0) = 1 8

s

  • i=1

(−1)σ(i) det(sign(f(pi)), sign(f(pi+1)))(∗)

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 75 / 53

slide-63
SLIDE 63

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).

◮ g = (∂xf )2 + (∂yf )2: number of branches of f at the singular point x.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 76 / 53

slide-64
SLIDE 64

Algorithms for curves Subdivision methods

The ”Minnesota” algorithm

Algorithm (Topology of planar curves)

◮ Isolate the extremal points, the smooth x-critical points and smooth

y-critical points.

◮ Decompose the domain into boxes containing at most one of these

points.

◮ 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.

◮ For boxes with no singular point, apply the connection algorithm for

regular domains.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 77 / 53

slide-65
SLIDE 65

Algorithms for curves Subdivision methods

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 78 / 53

slide-66
SLIDE 66

Algorithms for curves Subdivision methods

Extension to arrangements of several curves

Input:

◮ Many semi-algebraic curves (piecewise-linear, parametric, implicit,

. . . ) in a domain D ⊂ R2. Algorithms:

◮ Handle several objects per cell. ◮ Use the same regularity criterion.

Applications:

◮ Compute the decomposition into connected components defined by

these objects.

◮ Compute the adjacency relations. ◮ Perform boolean operations on regions defined by semi-algebraic

curves.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 79 / 53

slide-67
SLIDE 67

Algorithms for curves Subdivision methods

Fusion of the regions

Extract regions from the subdivision:

f1 f2 f1 f2 f3 f3 + + − −

Fusion of regions Segmentation of the boundaries

f1 f2 f3 f4 v1 v2 v3 v4 v5 v6 v1 v2 v5 v6 f2 ∪ f3 f1 ∪ f4

1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 80 / 53

slide-68
SLIDE 68

Algorithms for curves Subdivision methods

Generic algorithm which applies for piecewise, parametric, implicit, . . . curves ☞ Need to be able to compute

◮ (x|y)-critical points, ◮ self-intersection points or isolated points, ◮ segment-curve intersection points, ◮ curve-curve intersection points.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 81 / 53

slide-69
SLIDE 69

Algorithms for curves Subdivision methods

Examples

degree 8 degree 12 degree 28 degree 32,4,4 degree 32,13,4 degree 76

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 82 / 53

slide-70
SLIDE 70

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

If the topology of S is C is not known, and size(C) ≥ ε, subdivide C.

2

Else if size(C) ≤ ε, output a ε-singular cell.

3

Else mesh the surface S in the box in connection with the neighbor boxes.

◮ Express f in the Bernstein basis of D. ◮ Regularity:

If fz = 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

  • f size ≤ ε.
  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 85 / 53

slide-71
SLIDE 71

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

slide-72
SLIDE 72

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

slide-73
SLIDE 73

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 Vi(S) = c(i)

  • L∈Gn−i V0(S ∩ L))dL,

where Gk is the Grassmannian of spaces of dimension k in Rn, dL is the canonical measure on Gn−i, and c(i) =

1

  • L∈Gn−i V0([0,1]i∩L)dL.

Example: 2 π r = 1

2

π

  • R N(Lθ,x ∩ C) dx dθ.

Theorem For any semi-algebraic set A, c1(d(A), n) dim(A)

i=0

Vi(A)ε−i ≤ E(A, ε) ≤ c2(n) dim(A)

i=0

Vi(A)ε−i.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 88 / 53

slide-74
SLIDE 74

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: N c0

  • V0(S) + 1

εV1(S) + 1 ε2 Area(S)

  • .

◮ V0(S): number of connected components of S. ◮ V1(S) 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

slide-75
SLIDE 75

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

slide-76
SLIDE 76

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, ∂zf (x, y, z) = 0.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 92 / 53

slide-77
SLIDE 77

Algorithms for surfaces Projection methods for singular surfaces

Whitney stratification

Definition

◮ A stratification of S is a locally finite partition of S into smooth

submanifolds, called strata.

◮ 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→+∞ xnyn ⊂ T = limn→+∞ TxnX.

◮ Whitney stratification = Stratification + Whitney regular.

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 93 / 53

slide-78
SLIDE 78

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. S Rn Rn × (φ−1(0) ∩ S)

h

φ

✑✑✑✑ ✑ ✸

ρ

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 94 / 53

slide-79
SLIDE 79

Algorithms for surfaces Projection methods for singular surfaces

Whitney stratification of S

The squarefree part of Resultantz(f (x, y, z), ∂zf (x, y, z)) is denoted ∆(πz, S).

◮ 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

slide-80
SLIDE 80

Algorithms for surfaces Projection methods for singular surfaces

Topology of an algebraic surface

Algorithm (Moving the wall) Input:

◮ A surface S ⊂ R3 defined by f (x, y, z) = 0, f ∈ Q[x, y, z] squarefree. ◮ A box B ⊂ R3.

Output:

◮ 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

slide-81
SLIDE 81

Algorithms for surfaces Projection methods for singular surfaces

Subresultant for algebraic surfaces

◮ Subresultant sequence: Srz(f , ∂zf ) = [f (x, y, z), ∂zf (x, y, z), Srd−2(x, y, z), . . . , Sr0(x, y)]. ◮ ”Gcd” factorisation: Sr0(x, y) = ∆1(x, y) · · · ∆l(x, y). where

◮ Φ0(x, y) = ˜

Sr 0,0,

◮ Φ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 = −srk,k−1(x, y) k srk,k(x, y) .

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 97 / 53

slide-82
SLIDE 82

Algorithms for surfaces Projection methods for singular surfaces

Topology of surfaces

◮ 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. ◮ In generic position, the intersection points (α, βk(α)) of two planar curves ∆i(x, y) = 0 lift in

◮ a singularity (α, βk(α), γl(α)) (if Rl,i(α, βk(α)) = 0 for

i = 0, . . . , l − 1),

◮ two distinct points otherwise.

◮ The lifted points are the simple roots of Γk,l(x) = 0, gk(x, y) = 0, hl(x, y, z) = 0, where

◮ Γk,l(x) = 0 defined the roots of Γk(x) = 0 such that

deg(gcd(f , ∂zf )) = 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)).

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 98 / 53

slide-83
SLIDE 83

Algorithms for surfaces Projection methods for singular surfaces

◮ The strata S1 is obtained by lifting each planar arc by the

corresponding map γk(x, y).

◮ The strata S2 is obtained

◮ 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

slide-84
SLIDE 84

Algorithms for surfaces Projection methods for singular surfaces

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 100 / 53

slide-85
SLIDE 85

Algorithms for surfaces Projection methods for singular surfaces

For polynomials of degree d and coefficients of bit-size ≤ τ:

◮ Bit complexity for the topology of a planar curve: ˜

OB(d11τ).

◮ Bit complexity for the topology of an algebraic 3D curve: ˜

OB(d23τ).

◮ Bit complexity for the topology of an algebraic surface: ˜

OB(d23τ).

  • B. Mourrain

Algorithms for semi-algebraic curves and surfaces 101 / 53

slide-86
SLIDE 86

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´

ecourt. 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

slide-87
SLIDE 87

Algorithms for surfaces Projection methods for singular surfaces The Annals of Mathematics, 106(1):pp. 19–44, 1977.

  • M. Elkadi and B. Mourrain.

Introduction ` a la r´ esolution des syst` emes d’´ equations alg´ ebriques, volume 59 of Math´ ematiques 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´

alez-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

slide-88
SLIDE 88

Algorithms for surfaces Projection methods for singular surfaces

  • G. N. Khimˇ

siaˇ svili. 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

slide-89
SLIDE 89

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´

ebuchet. 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