Gomtrie algorithmique non linaire et courbes algbriques planaires - - PowerPoint PPT Presentation

g om trie algorithmique non lin aire et courbes alg
SMART_READER_LITE
LIVE PREVIEW

Gomtrie algorithmique non linaire et courbes algbriques planaires - - PowerPoint PPT Presentation

Gomtrie algorithmique non linaire et courbes algbriques planaires Luis Pearanda INRIA Nancy-Grand Est 3 dcembre 2010 Presentation outline introduction research field the problem previous work algorithmic issues overview


slide-1
SLIDE 1

Géométrie algorithmique non linéaire et courbes algébriques planaires

Luis Peñaranda

INRIA Nancy-Grand Est

3 décembre 2010

slide-2
SLIDE 2

Presentation outline

introduction research field the problem previous work algorithmic issues

  • verview

details complexity implementation issues isotop cgal algebraic kernel conclusion

2 of 42

slide-3
SLIDE 3

Where are we standing?

exact geometric computing computational geometry computer algebra tools

a long history

robot motion planning CAGD

recent advances in real solving

3 of 42

slide-4
SLIDE 4

Where are we standing?

exact geometric computing computational geometry computer algebra tools a long history robot motion planning CAGD

recent advances in real solving

3 of 42

slide-5
SLIDE 5

Where are we standing?

exact geometric computing computational geometry computer algebra tools a long history robot motion planning CAGD recent advances in real solving 3 of 42

slide-6
SLIDE 6

Exact geometric computing

the general problem algorithms oen assume that numbers are real computers do not like real numbers inconsistencies

in computational geometry

numerical errors oen lead to crash

exact arithmetic filtered arithmetic

4 of 42

slide-7
SLIDE 7

Exact geometric computing

the general problem algorithms oen assume that numbers are real computers do not like real numbers inconsistencies in computational geometry numerical errors oen lead to crash exact arithmetic filtered arithmetic 4 of 42

slide-8
SLIDE 8

Topology and some geometry of real algebraic plane curves

input curve: f (x, y) = 0 with f ∈ Q[x, y] identify and localize

singular points, x-extreme points, vertical asymptotes.

isotopic approximation of the curve by an arrangement of polylines results in the original coordinate system

  • f the plane

. .

5 of 42

slide-9
SLIDE 9

Topology and some geometry of real algebraic plane curves

input curve: f (x, y) = 0 with f ∈ Q[x, y]

identify and localize singular points,

x-extreme points, vertical asymptotes.

isotopic approximation of the curve by an arrangement of polylines results in the original coordinate system

  • f the plane

. .

5 of 42

slide-10
SLIDE 10

Topology and some geometry of real algebraic plane curves

input curve: f (x, y) = 0 with f ∈ Q[x, y]

identify and localize singular points, x-extreme points,

vertical asymptotes.

isotopic approximation of the curve by an arrangement of polylines results in the original coordinate system

  • f the plane

. .

5 of 42

slide-11
SLIDE 11

Topology and some geometry of real algebraic plane curves

input curve: f (x, y) = 0 with f ∈ Q[x, y]

identify and localize singular points, x-extreme points, vertical asymptotes.

isotopic approximation of the curve by an arrangement of polylines results in the original coordinate system

  • f the plane

. .

5 of 42

slide-12
SLIDE 12

Topology and some geometry of real algebraic plane curves

input curve: f (x, y) = 0 with f ∈ Q[x, y]

identify and localize singular points, x-extreme points, vertical asymptotes. isotopic approximation of the curve by

an arrangement of polylines results in the original coordinate system

  • f the plane

. .

5 of 42

slide-13
SLIDE 13

Topology and some geometry of real algebraic plane curves

input curve: f (x, y) = 0 with f ∈ Q[x, y]

identify and localize singular points, x-extreme points, vertical asymptotes. isotopic approximation of the curve by

an arrangement of polylines

results in the original coordinate system

  • f the plane

. .

5 of 42

slide-14
SLIDE 14

Applications

curve ploing computing arrangements of algebraic curves

the x-extreme points of each curve have to be computed in the same coordinate system

6 of 42

slide-15
SLIDE 15

Applications

curve ploing computing arrangements of algebraic curves

the x-extreme points of each curve have to be computed in the same coordinate system

6 of 42

slide-16
SLIDE 16

Previous work: subdivision techniques

.

fast localizable (computation in a given

box)

not certified, unless they reach the separation bound

[Lorensen & Cline, 1987] [Alberti, Mourrain & Wintz, 2008] [Burr, Choi, Galehouse & Yap, 2008] [Lin & Yap, 2009]

7 of 42

slide-17
SLIDE 17

Cylindrical algebraic decomposition methods

  • 1. projection
  • 2. liing
  • 3. adjacencies

assume generic position, or detect it, shear and shear back Collins, 1984 Cad2d [Brown & al.] Top [Gonzalez Vega & Necula, 2002] Insulate [Seidel & Wolpert, 2005] CA [Eigenwillig, Kerber & Wolpert, 2007] . .

8 of 42

slide-18
SLIDE 18

Cylindrical algebraic decomposition methods

  • 1. projection
  • 2. liing
  • 3. adjacencies

assume generic position, or detect it, shear and shear back Collins, 1984 Cad2d [Brown & al.] Top [Gonzalez Vega & Necula, 2002] Insulate [Seidel & Wolpert, 2005] CA [Eigenwillig, Kerber & Wolpert, 2007] . .

8 of 42

slide-19
SLIDE 19

Cylindrical algebraic decomposition methods

  • 1. projection
  • 2. liing
  • 3. adjacencies

assume generic position, or detect it, shear and shear back Collins, 1984 Cad2d [Brown & al.] Top [Gonzalez Vega & Necula, 2002] Insulate [Seidel & Wolpert, 2005] CA [Eigenwillig, Kerber & Wolpert, 2007] . .

8 of 42

slide-20
SLIDE 20

Cylindrical algebraic decomposition methods

  • 1. projection
  • 2. liing
  • 3. adjacencies

assume generic position, or detect it, shear and shear back Collins, 1984 Cad2d [Brown & al.] Top [Gonzalez Vega & Necula, 2002] Insulate [Seidel & Wolpert, 2005] CA [Eigenwillig, Kerber & Wolpert, 2007] . .

8 of 42

slide-21
SLIDE 21

Cylindrical algebraic decomposition methods

  • 1. projection
  • 2. liing
  • 3. adjacencies

assume generic position, or detect it, shear and shear back Collins, 1984 Cad2d [Brown & al.] Top [Gonzalez Vega & Necula, 2002] Insulate [Seidel & Wolpert, 2005] CA [Eigenwillig, Kerber & Wolpert, 2007] . .

8 of 42

slide-22
SLIDE 22

Cylindrical algebraic decomposition methods

  • 1. projection
  • 2. liing
  • 3. adjacencies

assume generic position, or detect it,

shear and shear back Collins, 1984 Cad2d [Brown & al.] Top [Gonzalez Vega & Necula, 2002] Insulate [Seidel & Wolpert, 2005] CA [Eigenwillig, Kerber & Wolpert, 2007] . .

8 of 42

slide-23
SLIDE 23

Cylindrical algebraic decomposition methods

  • 1. projection
  • 2. liing
  • 3. adjacencies

assume generic position, or detect it,

shear and shear back

Collins, 1984 Cad2d [Brown & al.]

Top [Gonzalez Vega & Necula, 2002] Insulate [Seidel & Wolpert, 2005] CA [Eigenwillig, Kerber & Wolpert, 2007] . .

8 of 42

slide-24
SLIDE 24

Our algorithm

it’s not a CAD decomposition of the plane into rectangles: the rectangle containing

each critical point may overlap in x

non-genericity of x-overlapping boxes is not an issue

replaces sub-resultant sequences and computations with algebraic coefficient polynomials by

Gröbner bases Rational Univariate Representations

generic non-generic

9 of 42

slide-25
SLIDE 25

Our algorithm

it’s not a CAD decomposition of the plane into rectangles: the rectangle containing

each critical point may overlap in x

non-genericity of x-overlapping boxes is not an issue replaces sub-resultant sequences and computations with algebraic

coefficient polynomials by

Gröbner bases Rational Univariate Representations

generic non-generic

9 of 42

slide-26
SLIDE 26

Algorithm outline

  • 1. compute isolating boxes for critical

points:

extreme points, singular points and asymptotes;

and refine them until they are disjoint

  • 2. determine the topology in the

rectangles of critical points

  • 3. compute the topology in the rest of the

rectangles . .

10 of 42

slide-27
SLIDE 27

Algorithm outline

  • 1. compute isolating boxes for critical

points:

extreme points,

singular points and asymptotes;

and refine them until they are disjoint

  • 2. determine the topology in the

rectangles of critical points

  • 3. compute the topology in the rest of the

rectangles . .

10 of 42

slide-28
SLIDE 28

Algorithm outline

  • 1. compute isolating boxes for critical

points:

extreme points, singular points and

asymptotes;

and refine them until they are disjoint

  • 2. determine the topology in the

rectangles of critical points

  • 3. compute the topology in the rest of the

rectangles . .

10 of 42

slide-29
SLIDE 29

Algorithm outline

  • 1. compute isolating boxes for critical

points:

extreme points, singular points and asymptotes;

and refine them until they are disjoint

  • 2. determine the topology in the

rectangles of critical points

  • 3. compute the topology in the rest of the

rectangles . .

10 of 42

slide-30
SLIDE 30

Algorithm outline

  • 1. compute isolating boxes for critical

points:

extreme points, singular points and asymptotes;

and refine them until they are disjoint

  • 2. determine the topology in the

rectangles of critical points

  • 3. compute the topology in the rest of the

rectangles . .

10 of 42

slide-31
SLIDE 31

Algorithm outline

  • 1. compute isolating boxes for critical

points:

extreme points, singular points and asymptotes;

and refine them until they are disjoint

  • 2. determine the topology in the

rectangles of critical points

  • 3. compute the topology in the rest of the

rectangles . .

10 of 42

slide-32
SLIDE 32

Notation

curve: square free polynomial f ∈ Q[x, y] a point p α β

2 is x-critical if f p

fy p 0, singular if fx p 0, and x-extreme if fx p 0 (i.e. x-critical and non-singular)

11 of 42

slide-33
SLIDE 33

Notation

curve: square free polynomial f ∈ Q[x, y] a point p = (α, β) ∈ C2 is x-critical if f (p) = fy(p) = 0, singular if fx p 0, and x-extreme if fx p 0 (i.e. x-critical and non-singular)

11 of 42

slide-34
SLIDE 34

Notation

curve: square free polynomial f ∈ Q[x, y] a point p = (α, β) ∈ C2 is x-critical if f (p) = fy(p) = 0,

singular if fx(p) = 0, and

x-extreme if fx p 0 (i.e. x-critical and non-singular)

11 of 42

slide-35
SLIDE 35

Notation

curve: square free polynomial f ∈ Q[x, y] a point p = (α, β) ∈ C2 is x-critical if f (p) = fy(p) = 0,

singular if fx(p) = 0, and x-extreme if fx(p) ̸= 0 (i.e. x-critical and non-singular) 11 of 42

slide-36
SLIDE 36

The Rational Univariate Representation

S is a bivariate system, RUR univariate polynomial f, such that t root of f ⇐ ⇒ (gx(t) h(t) , gy(t) h(t) ) root of S gx, gy, h ∈ Q(t) the RUR preserves multiplicities we obtain the RUR from the Gröbner basis of S the roots of f are isolated with Descartes’ method interval arithmetic for computing the separating boxes of the roots

  • f the system S

12 of 42

slide-37
SLIDE 37

The Rational Univariate Representation

S is a bivariate system, RUR univariate polynomial f, such that t root of f ⇐ ⇒ (gx(t) h(t) , gy(t) h(t) ) root of S gx, gy, h ∈ Q(t)

the RUR preserves multiplicities we obtain the RUR from the Gröbner basis of S the roots of f are isolated with Descartes’ method interval arithmetic for computing the separating boxes of the roots

  • f the system S

12 of 42

slide-38
SLIDE 38

Topology at extreme points

  • 1. isolate the extreme system Se =

     f (x, y) = 0

∂f ∂y = 0 ∂f ∂x ̸= 0

  • 2. refine boxes to get only two crossings on the border

. .

  • 3. store the multiplicities in the system Se for the connection step (see

later)

13 of 42

slide-39
SLIDE 39

Topology at singularities

  • 1. isolate singular points in boxes
  • 2. compute multiplicities k in fibers
  • 3. refine the box to avoid the curve fyk

kf

yk [Seidel & Wolpert, 2005]

  • 4. refine the box to avoid top/boom crossings

. .

14 of 42

slide-40
SLIDE 40

Topology at singularities

  • 1. isolate singular points in boxes
  • 2. compute multiplicities k in fibers
  • 3. refine the box to avoid the curve fyk

kf

yk [Seidel & Wolpert, 2005]

  • 4. refine the box to avoid top/boom crossings

. .

14 of 42

slide-41
SLIDE 41

Topology at singularities

  • 1. isolate singular points in boxes
  • 2. compute multiplicities k in fibers
  • 3. refine the box to avoid the curve fyk = ∂kf

∂yk [Seidel & Wolpert, 2005]

  • 4. refine the box to avoid top/boom crossings

. .

14 of 42

slide-42
SLIDE 42

Topology at singularities

  • 1. isolate singular points in boxes
  • 2. compute multiplicities k in fibers
  • 3. refine the box to avoid the curve fyk = ∂kf

∂yk [Seidel & Wolpert, 2005]

  • 4. refine the box to avoid top/boom crossings

. .

14 of 42

slide-43
SLIDE 43

Rectangle decomposition of the plane

the topology is known inside

critical boxes compute a vertical decomposition of the plane with respect to these boxes compute intersections of the curve with the decomposition . .

15 of 42

slide-44
SLIDE 44

Rectangle decomposition of the plane

the topology is known inside

critical boxes

compute a vertical

decomposition of the plane with respect to these boxes compute intersections of the curve with the decomposition . .

15 of 42

slide-45
SLIDE 45

Rectangle decomposition of the plane

the topology is known inside

critical boxes

compute a vertical

decomposition of the plane with respect to these boxes

compute intersections of the

curve with the decomposition . .

15 of 42

slide-46
SLIDE 46

Rectangle decomposition of the plane

the topology is known inside

critical boxes

compute a vertical

decomposition of the plane with respect to these boxes

compute intersections of the

curve with the decomposition . .

15 of 42

slide-47
SLIDE 47

Greedy connection algorithm using multiplicities

. .

?

. even .

  • dd

16 of 42

slide-48
SLIDE 48

Greedy connection algorithm using multiplicities

. .

?

. even .

  • dd

16 of 42

slide-49
SLIDE 49

Greedy connection algorithm using multiplicities

. .

?

. even .

  • dd

16 of 42

slide-50
SLIDE 50

Greedy connection algorithm using multiplicities

. .

?

. even .

  • dd

16 of 42

slide-51
SLIDE 51

Greedy connection algorithm using multiplicities

. .

?

. even .

  • dd

16 of 42

slide-52
SLIDE 52

Greedy connection algorithm using multiplicities

. .

?

. even .

  • dd

16 of 42

slide-53
SLIDE 53

Greedy connection algorithm using multiplicities

. .

?

. even .

  • dd

16 of 42

slide-54
SLIDE 54

Complexity analysis

the algorithm runs in

OB(R d 22 τ 2) , where

R: number of real critical points, d: degree of the polynomial f, τ: maximum coefficient bitsize of f.

if N max d τ and R is d 2 , we have

B N 26

does not reflect practical performance

17 of 42

slide-55
SLIDE 55

Complexity analysis

the algorithm runs in

OB(R d 22 τ 2) , where

R: number of real critical points, d: degree of the polynomial f, τ: maximum coefficient bitsize of f. if N = max{d, τ} and R is O(d 2), we have

OB(N 26) does not reflect practical performance

17 of 42

slide-56
SLIDE 56

Complexity analysis

the algorithm runs in

OB(R d 22 τ 2) , where

R: number of real critical points, d: degree of the polynomial f, τ: maximum coefficient bitsize of f. if N = max{d, τ} and R is O(d 2), we have

OB(N 26)

does not reflect practical performance 17 of 42

slide-57
SLIDE 57

Implementation in Maple

Isotop: +7000 lines of Maple code, using

FGb for Gröbner basis (Faugère) RS for RUR and isolation (Rouillier) complete: handles vertical asymptotes and vertical components certified http://vegas.loria.fr/isotop 18 of 42

slide-58
SLIDE 58

Isotop interface

ISOTOP:-topology_real_curve(y^4 - 6*y^2*x + x^2 - 4*y^2*x^2 + 24*x^3, verbosity=0, precision=10, plot_graph=true, nb_splits=10);

19 of 42

slide-59
SLIDE 59

Isotop experiments

we ran large-scale tests, testing around 600 curves

random curves ACS curves

  • O. Labs’ tough curves

resultants of degree-3 random surfaces n translations ∏n

j=0 f (x, y + j)

symmetric polynomials f 2(x, y) + f 2(x, −y) 20 of 42

slide-60
SLIDE 60

Isotop experiments: input curves

.

. . d < 10 . 10 ≤ d < 20 . 20 ≤ d < 30 . 30 ≤ d < 40 . 40 ≤ d < 50 . 50 ≤ d ≤ 90

.

. . c < 20 . 20 ≤ c < 40 . 40 ≤ c < 60 . 60 ≤ c ≤ 121

degrees number of critical points

21 of 42

slide-61
SLIDE 61

Experiments: results, r =

time timeIsotop

.

. 0 < r ≤ ⅓ . ⅓ < r ≤ 1 . 1 < r ≤ 3 . 3 < r . aborted . .Cad2d .[Brown, 2002]

.

. . r ≤ ⅓ . ⅓ < r ≤ 1 . 1 < r ≤ 3 . 3 < r . timeout .CA .[E&K&W, 2007]

.

. . r ≤ ⅓ . ⅓ < r ≤ 1 . 1 < r ≤ 3 . 3 < r . timeout .Top .[GV&N, 2002]

.

. r ≤ 1 . 1 < r ≤ 3 . 3 < r . timeout . .Insulate .[S&W, 2005] 22 of 42

slide-62
SLIDE 62

Experiments: conclusions

faster for non-generic curves high degree curves

slower for

random curves curves with high-tangency points

why?

23 of 42

slide-63
SLIDE 63

Experiments: conclusions

faster for non-generic curves high degree curves slower for random curves curves with high-tangency points

why?

23 of 42

slide-64
SLIDE 64

Experiments: conclusions

faster for non-generic curves high degree curves slower for random curves curves with high-tangency points why? 23 of 42

slide-65
SLIDE 65

Algebraic algorithms in CGAL

Isotop is in Maple, but it is not a standard in the CG community Maple programs cannot be used as libraries

in general

lack of algebro-geometric tools in C or C++

CGAL

C++ library standard in the community generic programming

equip CGAL with algebraic tools

also useful for future algorithms

24 of 42

slide-66
SLIDE 66

Algebraic algorithms in CGAL

Isotop is in Maple, but it is not a standard in the CG community Maple programs cannot be used as libraries in general lack of algebro-geometric tools in C or C++

CGAL

C++ library standard in the community generic programming

equip CGAL with algebraic tools

also useful for future algorithms

24 of 42

slide-67
SLIDE 67

Algebraic algorithms in CGAL

Isotop is in Maple, but it is not a standard in the CG community Maple programs cannot be used as libraries in general lack of algebro-geometric tools in C or C++ CGAL C++ library standard in the community generic programming

equip CGAL with algebraic tools

also useful for future algorithms

24 of 42

slide-68
SLIDE 68

Algebraic algorithms in CGAL

Isotop is in Maple, but it is not a standard in the CG community Maple programs cannot be used as libraries in general lack of algebro-geometric tools in C or C++ CGAL C++ library standard in the community generic programming equip CGAL with algebraic tools also useful for future algorithms 24 of 42

slide-69
SLIDE 69

Algebraic tools in CGAL

specific non-linear objects, particular algorithms arrangements of conics

specific non-linear objects, kernels

circles spheres

curves of arbitrary degree, algebraic kernels

univariate and bivariate many variables

25 of 42

slide-70
SLIDE 70

Algebraic tools in CGAL

specific non-linear objects, particular algorithms arrangements of conics specific non-linear objects, kernels circles spheres

curves of arbitrary degree, algebraic kernels

univariate and bivariate many variables

25 of 42

slide-71
SLIDE 71

Algebraic tools in CGAL

specific non-linear objects, particular algorithms arrangements of conics specific non-linear objects, kernels circles spheres curves of arbitrary degree, algebraic kernels univariate and bivariate many variables 25 of 42

slide-72
SLIDE 72

Algebraic Kernel

combines algebra and geometry for manipulating non-linear objects features

root finding algebraic number comparison all related polynomial operations

concepts and models model of univariate algebraic kernel

26 of 42

slide-73
SLIDE 73

Algebraic Kernel

combines algebra and geometry for manipulating non-linear objects

features root finding algebraic number comparison all related polynomial operations

concepts and models model of univariate algebraic kernel

26 of 42

slide-74
SLIDE 74

Algebraic Kernel

combines algebra and geometry for manipulating non-linear objects

features root finding algebraic number comparison all related polynomial operations concepts and models

model of univariate algebraic kernel

26 of 42

slide-75
SLIDE 75

Algebraic Kernel

combines algebra and geometry for manipulating non-linear objects

features root finding algebraic number comparison all related polynomial operations concepts and models model of univariate algebraic kernel 26 of 42

slide-76
SLIDE 76

Tools we use

GMP GNU multiple-precision number library

RS

univariate polynomials with integer coefficients interval Descartes algorithm coded in C memory management multiple platforms (Unix, Mac OS, Win)

MPFR

arbitrary multiple-precision floating-point numbers

MPFI

arbitrary multiple-precision floating-point intervals

27 of 42

slide-77
SLIDE 77

Tools we use

GMP GNU multiple-precision number library RS univariate polynomials with integer coefficients interval Descartes algorithm coded in C memory management multiple platforms (Unix, Mac OS, Win)

MPFR

arbitrary multiple-precision floating-point numbers

MPFI

arbitrary multiple-precision floating-point intervals

27 of 42

slide-78
SLIDE 78

Tools we use

GMP GNU multiple-precision number library RS univariate polynomials with integer coefficients interval Descartes algorithm coded in C memory management multiple platforms (Unix, Mac OS, Win) MPFR arbitrary multiple-precision floating-point numbers

MPFI

arbitrary multiple-precision floating-point intervals

27 of 42

slide-79
SLIDE 79

Tools we use

GMP GNU multiple-precision number library RS univariate polynomials with integer coefficients interval Descartes algorithm coded in C memory management multiple platforms (Unix, Mac OS, Win) MPFR arbitrary multiple-precision floating-point numbers MPFI arbitrary multiple-precision floating-point intervals 27 of 42

slide-80
SLIDE 80

Our algebraic kernel

8000 lines of code

root isolation

uses RS gives as result algebraic numbers

isolating interval: MPFI pointer to a polynomial

comparison of algebraic numbers

easy when intervals do not overlap

  • therwise, test for equality

greatest common divisor (gcd) algebraic number refinement

28 of 42

slide-81
SLIDE 81

Our algebraic kernel

8000 lines of code root isolation uses RS gives as result algebraic numbers isolating interval: MPFI pointer to a polynomial

comparison of algebraic numbers

easy when intervals do not overlap

  • therwise, test for equality

greatest common divisor (gcd) algebraic number refinement

28 of 42

slide-82
SLIDE 82

Our algebraic kernel

8000 lines of code root isolation uses RS gives as result algebraic numbers isolating interval: MPFI pointer to a polynomial comparison of algebraic numbers easy when intervals do not overlap

  • therwise, test for equality

greatest common divisor (gcd) algebraic number refinement 28 of 42

slide-83
SLIDE 83

Auxiliar operations

gcd boleneck of the implementation (used for comparisons and square free

factorizations)

two modular implementations fast detection of coprime polynomials

refinement

bisection quadratic refinement

29 of 42

slide-84
SLIDE 84

Auxiliar operations

gcd boleneck of the implementation (used for comparisons and square free

factorizations)

two modular implementations fast detection of coprime polynomials refinement bisection quadratic refinement 29 of 42

slide-85
SLIDE 85

Benchmarks

soware MPII’s algebraic kernel (using CORE NT) Synaps/Mathemagix code (using NCF2 and GMP NT)

  • ur algebraic kernel

functionalities

root isolation algebraic number comparison application: arrangement construction

30 of 42

slide-86
SLIDE 86

Benchmarks

soware MPII’s algebraic kernel (using CORE NT) Synaps/Mathemagix code (using NCF2 and GMP NT)

  • ur algebraic kernel

functionalities root isolation algebraic number comparison application: arrangement construction 30 of 42

slide-87
SLIDE 87

Benchmark data

first time such a big amount of data for polynomials is tested 60,000 polynomials (3.8 Gb) several weeks in total 31 of 42

slide-88
SLIDE 88

Root isolation: varying bitsize

degree-12 random polynomials .

✵ ✶✵✵✵✵ ✷✵✵✵✵ ✸✵✵✵✵ ✹✵✵✵✵ ✺✵✵✵✵ ❝♦❡✣❝✐❡♥t ❜✐ts✐③❡ ✵ ✶✵ ✷✵ ✸✵ ✹✵ ✐s♦❧❛t✐♦♥ t✐♠❡ ❬♠s❪ ❖✉r ❦❡r♥❡❧ ▼P■■✬s ❦❡r♥❡❧ ❙❨◆❆P❙✬ ❦❡r♥❡❧

32 of 42

slide-89
SLIDE 89

Root isolation: varying bitsize II

degree-100 random polynomials .

✵ ✺✵✵✵ ✶✵✵✵✵ ✶✺✵✵✵ ✷✵✵✵✵ ✷✺✵✵✵ ❝♦❡✣❝✐❡♥t ❜✐ts✐③❡ ✵ ✺✵ ✶✵✵ ✶✺✵ ✷✵✵ ✷✺✵ ✐s♦❧❛t✐♦♥ t✐♠❡ ❬♠s❪ ❖✉r ❦❡r♥❡❧ ▼P■■✬s ❦❡r♥❡❧ ❙❨◆❆P❙✬ ❦❡r♥❡❧

33 of 42

slide-90
SLIDE 90

Root isolation: Mignoe polynomials

f = x d − 2(kx − 1)2 .

✵ ✶✵ ✷✵ ✸✵ ✹✵ ✺✵ d ✵ ✶ ✷ ✸ ✹ ✺ ✻ ✐s♦❧❛t✐♦♥ t✐♠❡ ❬s❪ ❖✉r ❦❡r♥❡❧ ▼P■■✬s ❦❡r♥❡❧ ❙❨◆❆P❙✬ ❦❡r♥❡❧

34 of 42

slide-91
SLIDE 91

Root isolation: varying degree

bitsize-1000 random polynomials .

✵ ✺✵✵ ✶✵✵✵ ✶✺✵✵ ✷✵✵✵ ♣♦❧②♥♦♠✐❛❧ ❞❡❣r❡❡ ✵ ✶✵ ✷✵ ✸✵ ✹✵ ✺✵ ✻✵ ✼✵ ✐s♦❧❛t✐♦♥ t✐♠❡ ❬s❪ ❖✉r ❦❡r♥❡❧ ▼P■■✬s ❦❡r♥❡❧ ❙❨◆❆P❙✬ ❦❡r♥❡❧

35 of 42

slide-92
SLIDE 92

Algebraic number comparison

almost-identical polynomials of degree 20 .

✵ ✺✵✵ ✶✵✵✵ ✶✺✵✵ ✷✵✵✵ ✷✺✵✵ ✸✵✵✵ ❝♦❡✣❝✐❡♥t ❜✐ts✐③❡ ✵ ✷✺✵ ✺✵✵ ✼✺✵ ✶✵✵✵ ❝♦♠♣❛r✐s♦♥ t✐♠❡ ❬♠s❪ ❖✉r ❜✐s❡❝t✐♦♥ ▼P■■✬s q✉❛❞r❛t✐❝ ▼P■■✬s ❜✐s❡❝t✐♦♥

36 of 42

slide-93
SLIDE 93

Arrangement benchmarks

test programs

CGAL’s arrangement package (Tel-Aviv University) parameterised with a traits class that uses CORE a new traits class for our kernel

test data generate n random polynomials shi them vertically m times n m 1 polynomials of bitsize τ and degree d we fix n 5 and m 4 here

37 of 42

slide-94
SLIDE 94

Arrangement benchmarks

test programs

CGAL’s arrangement package (Tel-Aviv University) parameterised with a traits class that uses CORE a new traits class for our kernel

test data

generate n random polynomials shi them vertically m times n(m + 1) polynomials of bitsize τ and degree d we fix n = 5 and m = 4 here 37 of 42

slide-95
SLIDE 95

Arrangements: varying bitsize

d = 20 .

✵ ✷✵✵ ✹✵✵ ✻✵✵ ✽✵✵ ✶✵✵✵ ❝♦❡✣❝✐❡♥t ❜✐ts✐③❡ ✵ ✺✵ ✶✵✵ ✶✺✵ ✷✵✵ ❝♦♥str✉❝t✐♦♥ t✐♠❡ ❬s❪ ❖✉r ❦❡r♥❡❧ ❈❖❘❊

38 of 42

slide-96
SLIDE 96

Arrangements: varying degree

τ = 32 .

✵ ✹✵ ✽✵ ✶✷✵ ✶✻✵ ✷✵✵ ❞❡❣r❡❡ ✵ ✺✵ ✶✵✵ ✶✺✵ ✷✵✵ ❝♦♥str✉❝t✐♦♥ t✐♠❡ ❬s❪ ❖✉r ❦❡r♥❡❧ ❈❖❘❊

39 of 42

slide-97
SLIDE 97

Experimentation highlights

  • ur algebraic kernel is included in CGAL 3.6

MPII kernel is unstable due to external library issues Synaps kernel is not complete

root isolation

  • ur kernel is faster for high degrees and bitsizes

Synaps isolation performs much beer in Mignoe’s polynomials

algebraic number refinement

MPII quadratic refinement is really fast

arrangement experiments

validate the algebraic kernel approach

40 of 42

slide-98
SLIDE 98

Experimentation highlights

  • ur algebraic kernel is included in CGAL 3.6

MPII kernel is unstable due to external library issues Synaps kernel is not complete root isolation

  • ur kernel is faster for high degrees and bitsizes

Synaps isolation performs much beer in Mignoe’s polynomials

algebraic number refinement

MPII quadratic refinement is really fast

arrangement experiments

validate the algebraic kernel approach

40 of 42

slide-99
SLIDE 99

Experimentation highlights

  • ur algebraic kernel is included in CGAL 3.6

MPII kernel is unstable due to external library issues Synaps kernel is not complete root isolation

  • ur kernel is faster for high degrees and bitsizes

Synaps isolation performs much beer in Mignoe’s polynomials algebraic number refinement MPII quadratic refinement is really fast

arrangement experiments

validate the algebraic kernel approach

40 of 42

slide-100
SLIDE 100

Experimentation highlights

  • ur algebraic kernel is included in CGAL 3.6

MPII kernel is unstable due to external library issues Synaps kernel is not complete root isolation

  • ur kernel is faster for high degrees and bitsizes

Synaps isolation performs much beer in Mignoe’s polynomials algebraic number refinement MPII quadratic refinement is really fast arrangement experiments validate the algebraic kernel approach 40 of 42

slide-101
SLIDE 101

Conclusions

algorithm development curve topology analysis no special treatment of non-generic cases, results in the original coordinate system uses Rational Univariate Representations, to avoid sub-resultant

sequences

implementation

Maple implementation of the topology algorithm CGAL univariate algebraic kernel thorough benchmarking

analysis of algorithms

  • utput-sensitive complexity analysis

41 of 42

slide-102
SLIDE 102

Conclusions

algorithm development curve topology analysis no special treatment of non-generic cases, results in the original coordinate system uses Rational Univariate Representations, to avoid sub-resultant

sequences

implementation Maple implementation of the topology algorithm CGAL univariate algebraic kernel thorough benchmarking

analysis of algorithms

  • utput-sensitive complexity analysis

41 of 42

slide-103
SLIDE 103

Conclusions

algorithm development curve topology analysis no special treatment of non-generic cases, results in the original coordinate system uses Rational Univariate Representations, to avoid sub-resultant

sequences

implementation Maple implementation of the topology algorithm CGAL univariate algebraic kernel thorough benchmarking analysis of algorithms

  • utput-sensitive complexity analysis

41 of 42

slide-104
SLIDE 104

Perspectives

improve handling of some curves algebraic approach that is always efficient arrangements of curves topology of surfaces, meshing include Isotop in Maple bivariate and multivariate algebraic kernel tighter complexity bounds 42 of 42