1 / 24

Fast and Exact Geometric Analysis of Real Algebraic Plane Curves

Fast and Exact Geometric Analysis of Real Algebraic Plane Curves. Arno Eigenwillig, Michael Kerber, Nicola Wolpert. Motivation. Arrangements of arbitrary algebraic curves are missing. With the Bitstream-Descartes Method (Eigenwillig et al.`05) we now have a powerful tool.

kevina
Télécharger la présentation

Fast and Exact Geometric Analysis of Real Algebraic Plane Curves

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fast and Exact Geometric Analysisof Real Algebraic Plane Curves Arno Eigenwillig, Michael Kerber, Nicola Wolpert

  2. Motivation • Arrangements of arbitrary algebraic curves are missing. • With the Bitstream-Descartes Method (Eigenwillig et al.`05) we now have a powerful tool.

  3. Remember: The Descartes Method Input: Squarefree polynomial p(x) Q[x].Output: Rational intervals isolating the real roots of p(x). Descartes rule of signs:# sign variations in coefficient sequence of p= # real roots of p in (0,) + 2i, i hN x

  4. x Remember: The Descartes Method Input: Squarefree polynomial p(x) Q[x].Output: Rational intervals isolating the real roots of p(x). Descartes rule of signs:# sign variations in coefficient sequence of Tp,c,d (x)= # real roots of p in(c,d) + 2i, i N 0 sign changes  # real roots of p in(c,d)= 01 sign change  # real roots of p in(c,d)= 12 sign changes  # real roots of p in(c,d)= 0 or2 3 sign changes  # real roots of p in(c,d)= 1 or3

  5. x Bitstream-Descartes Method Input: Squarefree polynomialp(x)= pi xiwith bit-stream coefficients. bit-stream coefficients: approximable to any precision but not known exactly, e.g. pi = algebraic numbers Output: Rational intervals isolating the real roots ofp(x).The validity of the isolating intervals is guaranteed for the exact polynomial p(x).

  6. The Problem Input: Bivariate polynomialfwith rational coefficientsf(x,y) := 2x4+y4-x3+xy2Output: Description of the topology of the curve defined byfin the original coordinate system

  7. The main Idea • Projection Phase: Compute x-coordinates of critical points: singular pointsx-extreme points (of arc diverging against a vertical asymptote) • Lifting Phase: - Compute stacks over critical points - and inbetween two critical points, - connect the stacks Goal: Compute the exact result!

  8. Previous Work • Collins 1975 • Hong 1996 • Gonzalez-Vega, El Kahoui 1996 • Gonzalez-Vega, Necula 2002 • Seidel, Wolpert 2005 • and many many others ...

  9. Usual Approach • Find x-coordinatesa1,...,anof the critical points • Find rational valuesr0<a1<r1< ...<an< rn • For eachaifind the real rootsbijoff(ai,y)+identify the critical points:Compute the stacks over the critical points • For eachrjfind the real rootscjkoff(rj,y):Compute the stacks inbetween • Connect the stacks

  10. Usual Approach • Findx-coordinatesa1,...,anof the critical points • Find rational valuesr0<a1<r1< ...<an< rn • For eachaifind the real rootsbijoff(ai,y) + identify the critical points:Variant of the Bitstream-Descartes Method • For eachrjfind the real rootscjkoff(rj,y):Descartes Method • Connect the stacks The coefficients off(ai,y)are algebraic numbers

  11. Usual Approach • 0. Shear coordinate system so that curve is in generic position:- no two critical points on a vertical line- no vertical asymptote- no vertical line contained in curve • Find x-coordinatesa1,...,anof the critical points • Find rational valuesr0<a1<r1< ...<an< rn • For eachaifind the real rootsbijoff(ai,y)+identify critical points:Variant of the Bitstream-Descartes Method • For eachrjfind the real rootscjkoff(rj,y) • Connect the stacks

  12. Usual Approach • 0. Shear coordinate system so that curve is in generic position:- no two critical points on a vertical line- no vertical asymptote- no vertical line contained in curve • Find x-coordinatesa1,...,anof the critical points • Find rational valuesr0<a1<r1< ...<an< rn • For eachaifind the real rootsbijoff(ai,y)+identify critical points:Variant of the Bitstream-Descartes Method • For eachrjfind the real rootscjkoff(rj,y) • Connect the stacks • (Go back to the original coordinate system) Genericity is tested with no additional cost in Step 3.

  13. Tool from Algebra Given a polynomialf(x,y) Q[x,y]of degree n. Computesequence of itsprincipal Sturm-Habicht coefficients: (sthan(f ),...,stha0(f )), with sthai(f) Q[x]. TheoremAfter specializationx=athe signs of(sthan(f )(a),...,stha0(f )(a))indicatek:= deg( gcd ( f (a,y), f ´(a,y) ) ), m:= #{bhR | f (a,b)=0}

  14. Our Algorithm • Find x-coordinatesa1,...,anof critical points:Isolate the real roots ofstha0(f ) Q[x]using Descartes Method a3 a4 a1 a6 a2 a5

  15. Our Algorithm • Find x-coordinatesa1,...,anof critical points:Isolate the real roots ofstha0(f ) Q[x]using Descartes Method • Find rational valuesr0<a1<r1< ...<an< rn a3 a4 a6 a2 a1 a5 r3 r0 r5 r2 r6 r1 r4

  16. Our Algorithm • Find x-coordinatesa1,...,anof critical points:Isolate the real roots ofstha0(f ) Q[x]using Descartes Method • Find rational valuesr0<a1<r1< ...<an< rn • For eachaifind the real rootsbijoff(ai,y)+ identify the critical points;test genericity during execution:Variant of the Bitstream-Descartes Method a3

  17. Our Algorithm • Find x-coordinatesa1,...,anof critical points:Isolate the real roots ofstha0(f ) Q[x]using Descartes Method • Find rational valuesr0<a1<r1< ...<an< rn • For eachaifind the real rootsbijoff(ai,y)+ identify the critical points;test genericity during execution:Variant of the Bitstream-Descartes Method • For eachrjfind the real rootscjkoff(rj,y): Descartes Method r2

  18. Our Algorithm • Find x-coordinatesa1,...,anof critical points:Isolate the real roots ofstha0(f ) Q[x]using Descartes Method • Find rational valuesr0<a1<r1< ...<an< rn • For eachaifind the real rootsbijoff(ai,y)+identify the critical points;test genericity during execution:Variant of the Bitstream-Descartes Method • For eachrjfind the real rootscijoff(ri,y): Descartes Method • Connect the stacks • (Go back to original coordinate system) a3 a4 a6 a2 a1 a5 r3 r0 r5 r2 r1 r4

  19. a3 m-k-Descartes Method • For eachaifind the real rootsbijoff(ai,y)+identify the critical points+ test genericity during execution • f(ai,y)not square free  Bitstream Descartes not applicable directly • Compute k:= deg( gcd (f (ai,y),f ´(ai,y) ) ),(k=1)m:= #{bhR | f (ai,b)=0},(m=3) • m-k-Descartes Method: Run theBitstream Descartes on f (ai,y) until • m-1 simple roots + 1 additional interval: success case • or every interval counts  k sign variations: fnot generic

  20. Termination • Run theBitstream Descartes until • m-1 simple roots + 1 additional interval: success case • or every interval counts  k sign variations: fnot generic • Lemma 1: m-k-Descartes always terminates. • Proof: • terminates for intervals with 0 or 1 root (proof for squarefree case) • f(ai,y) has 1 multiple root  terminates in success case • f(ai,y) has >1 multiple root  multiplicity of each root  k • known: for r-fold root it terminates with r sign variations

  21. Success Case • Run theBitstream Descartes until • m-1 simple roots + 1 additional interval: success case • or every interval counts  k sign variations: fnot generic • Lemma 2:f generic  m-k-Descartes succeeds • Proof:We show: Second condition never satisfied for f(ai,y).f generic  f(ai,y)has at most 1 multiple root gcd (f (ai,y),f ´(ai,y) ) = (y – b)kfor some b R bis (k+1)-fold root of f(ai,y) interval for bcounts  (k+1) sign variations

  22. Connect the Stacks • e.g. Gonzalez-Vega, Necula`02 • a := # roots above critical pointb := # roots below critical point • Connect the a highest roots at x=ri / x=ri+1with the a highest roots at x=ai • Connect the b lowest roots at x=ri / x=ri+1with the b lowest roots at x=ai • Connect the remaining roots at x=ri / x=ri+1with the critical point at x=ai a3 r3 r2

  23. Experiments • Our algorithm is implemented as the C++ library AlciX in EXACUS. • Comparisons: as proposed by the respective authors, all on the same machine • Top (Gonzales-Vega, Necula) • Insulate (Seidel, Wolpert) • Faster in each example: factor 2 - 61 • cad2d (Brown) • Competitive for any curve, superior for curves with singularities Maple

  24. Future Work • Compute arrangements of curves • Compute the geometry of space-curves

More Related