efkp socg slides

Upload: vissarion-phi

Post on 16-Feb-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 EFKP SoCG Slides

    1/47

    An output-sensitive algorithm for computing

    (projections of) resultant polytopes

    Vissarion FisikopoulosJoint work with I.Z.Emiris, C.Konaxis and L.Penaranda

    Department of Informatics, University of Athens

    SoCG, Chapel Hill, NC, USA, 18.Jun.2012

  • 7/23/2019 EFKP SoCG Slides

    2/47

    An interesting class of polytopes: resultant polytopes

    Geometry: Minkowski summands of secondary polytopes,equivalence classes of secondary vertices, generalization of Birkhoffpolytopes

    Motivation: useful to express the solvability of polynomial systems

    Applications: discriminant and resultant computation, implicitization

    of parametric hypersurfaces

    Ennepers Minimal Surface

  • 7/23/2019 EFKP SoCG Slides

    3/47

    Existing work

    Theory of resultants, secondary polytopes, Cayley trick[GKZ 94]

    TOPCOM [Rambau 02]computes all vertices of secondary polytope.

    [Michiels & Verschelde DCG99]define and enumerate coarse

    equivalence classes of secondary polytope vertices.

    [Michiels & Cools DCG00]describe a decomposition of(A) inMinkoski summands, including N(R).

    Tropical geometry[Sturmfels-Yu 08]leads to algorithms for the

    resultant polytope (GFan library)[Jensen-Yu 11]and thediscriminant polytope (TropLi software)[Rincn 12].

  • 7/23/2019 EFKP SoCG Slides

    4/47

    What is a resultant polytope?

    Given n+ 1 point sets A0, A1, . . . , An Zn

    A0

    A1

    a1

    a3

    a2

    a4

  • 7/23/2019 EFKP SoCG Slides

    5/47

    What is a resultant polytope?

    Given n+ 1 point sets A0, A1, . . . , An Zn

    A=

    ni=0(Ai {ei}) Z2n where ei= (0, . . . , 1, . . . , 0) Zn

    A

    A0

    A1

    a1

    a3

    a3, 1

    a1, 0

    a2

    a4

    a4, 1

    a2, 0

  • 7/23/2019 EFKP SoCG Slides

    6/47

    What is a resultant polytope?

    Given n+ 1 point sets A0, A1, . . . , An Zn

    A=

    ni=0(Ai {ei}) Z2n where ei= (0, . . . , 1, . . . , 0) Zn

    Given Ta triangulation ofconv(A), a cell is a-mixedif it is theMinkowski sum ofn 1-dimensional segments from Aj, j=i, andsome vertex a Ai.

    A

    A0

    A1

    a1 a2

    a3 a4

    a3, 1 a4, 1

    a1, 0 a2, 0

  • 7/23/2019 EFKP SoCG Slides

    7/47

    What is a resultant polytope?

    Given n+ 1 point sets A0, A1, . . . , An Zn

    A=n

    i=0(Ai {ei}) Z2n where ei= (0, . . . , 1, . . . , 0) Z

    n

    Given Ta triangulation ofconv(A), a cell is a-mixedif it is theMinkowski sum ofn 1-dimensional segments from Aj, j=i, andsome vertex a Ai.

    T(a) =

    a

    mixedT:a vol() N, a A

    T = (0, 2, 1, 0)

    A

    A0

    A1

    a1 a2

    a3 a4

    a3, 1 a4, 1

    a1, 0 a2, 0

  • 7/23/2019 EFKP SoCG Slides

    8/47

    What is a resultant polytope?

    Given n+ 1 point sets A0, A1, . . . , An Zn

    A=

    ni=0(Ai {ei}) Z2n where ei= (0, . . . , 1, . . . , 0) Zn

    Given Ta triangulation ofconv(A), a cell is a-mixedif it is theMinkowski sum ofn 1-dimensional segments from Aj, j=i, andsome vertex a Ai.

    T(a) =

    amixed

    T:avol() N, a A

    Resultant polytope N(R) =conv(T:T triang. ofconv(A))

    A N(R)

    A0

    A1

  • 7/23/2019 EFKP SoCG Slides

    9/47

    Connection with Algebra

    TheNewton polytopeoff, N(f), is the convex hull of the set ofexponents of its monomials with non-zero coefficient.

    Theresultant Ris the polynomial in the coefficients of a system ofpolynomials which is zero iff the system has a common solution.

    A0

    A1

    N(R) R(a,b,c,d,e) =ad2b+c2b2 2caeb+a2e2

    f0(x) =ax2 +b

    f1(x) =cx2 +dx+e

  • 7/23/2019 EFKP SoCG Slides

    10/47

    Connection with Algebra

    TheNewton polytopeoff, N(f), is the convex hull of the set ofexponents of its monomials with non-zero coefficient.

    Theresultant Ris the polynomial in the coefficients of a system ofpolynomials which is zero iff the system has a common solution.

    A0

    A1

    N(R)

    f0(x, y) =ax+by+c

    f1(x, y) =dx+ey+f

    f2(x, y) =gx+hy+iA2

    a b c

    d e f

    g h i4-dimensional Birkhoff polytope

    R(a ,b,c ,d ,e,f,g ,h,i) =

  • 7/23/2019 EFKP SoCG Slides

    11/47

    Connection with Algebra

    TheNewton polytopeoff, N(f), is the convex hull of the set ofexponents of its monomials with non-zero coefficient.

    Theresultant Ris the polynomial in the coefficients of a system ofpolynomials which is zero iff the system has a common solution.

    A0

    A1

    N(R)

    f0(x, y) =axy2 +x4y+c

    f1(x, y) =dx+ey

    f2(x, y) =gx2 +hy+iA2

    NP-hardto compute the resultant

    in thegeneral case

  • 7/23/2019 EFKP SoCG Slides

    12/47

    The idea of the algorithm

    Input: A Z2n defined by A0, A1, . . . , An Zn

    Simplistic method:

    compute the secondary polytope (A) many-to-one relation between vertices of(A) and N(R) vertices

    Cannot enumerate 1 representative per class by walking on secondaryedges

  • 7/23/2019 EFKP SoCG Slides

    13/47

    The idea of the algorithm

    Input: A Z2n defined by A0, A1, . . . , An Zn

    New Algorithm:

    Vertex oracle: given a direction vector compute a vertex ofN(R) Output sensitive: computes only one triangulation ofA per N(R)

    vertex + one per N(R) facet

    ComputesprojectionsofN(R) or(A)

  • 7/23/2019 EFKP SoCG Slides

    14/47

    The Oracle

    Input: A Z2n, direction w (R|A|)

    Output: vertex N(R), extremal wrt w

    1. use was a lifting to construct regular subdivision SofA

    w

    face of (A)

    S

  • 7/23/2019 EFKP SoCG Slides

    15/47

    The Oracle

    Input: A Z2n, direction w (R|A|)

    Output: vertex N(R), extremal wrt w

    1. use was a lifting to construct regular subdivision SofA

    2. refine S into triangulation TofA

    w

    face of (A)

    T

    T

    S

  • 7/23/2019 EFKP SoCG Slides

    16/47

    The Oracle

    Input: A Z2n, direction w (R|A|)

    Output: vertex N(R), extremal wrt w

    1. use was a lifting to construct regular subdivision SofA

    2. refine S into triangulation TofA

    3. return

    TN|A|

    N(R)

    w

    face of (A)

    T

    T

    S

    T

  • 7/23/2019 EFKP SoCG Slides

    17/47

    The Oracle

    Input: A Z2n, direction w (R|A|)

    Output: vertex N(R), extremal wrt w

    1. use was a lifting to construct regular subdivision SofA

    2. refine S into triangulation TofA

    3. return T N|A|

    Oracle property: its output is a vertex of the target polytope (Lem. 5).

  • 7/23/2019 EFKP SoCG Slides

    18/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step

    N(R)

    Q

    initialization:

    Q N(R)

    dim(Q)=dim(N(R))

    I l Al i h

  • 7/23/2019 EFKP SoCG Slides

    19/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    Q

    N(R)

    2 kinds of hyperplanes ofQH:

    legalif it supports facetN(R)

    illegalotherwise

    I l Al i h

  • 7/23/2019 EFKP SoCG Slides

    20/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step

    2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v}

    N(R)

    Qw

    Extending anillegalfacet

    I t l Al ith

  • 7/23/2019 EFKP SoCG Slides

    21/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Extending anillegalfacet

    I t l Al ith

  • 7/23/2019 EFKP SoCG Slides

    22/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Validating alegalfacet

    I t l Alg ith

  • 7/23/2019 EFKP SoCG Slides

    23/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Validating alegalfacet

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    24/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    25/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    At any step, Q is an inner

    approximation . . .

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    26/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Qo

    At any step, Q is an innerapproximation . . . from which we

    can compute an outer approximationQo.

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    27/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    28/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    29/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    30/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    31/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    32/47

    Incremental AlgorithmInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    33/47

    gInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    34/47

    gInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    35/47

    gInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    36/47

    gInput: A

    Output: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    37/47

    Input: AOutput: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    38/47

    Input: AOutput: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    39/47

    Input: AOutput: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Incremental Algorithm

  • 7/23/2019 EFKP SoCG Slides

    40/47

    Input: AOutput: H-rep. QH, V-rep. QVofQ= N(R)

    1. initialization step2. all hyperplanes ofQHareillegal

    3. while illegal hyperplane H QHwith outer normal wdo call oracle for wand compute v, QV QV {v} if v/ QV H then QHCH(QV {v}) else H is legal

    N(R)

    Q

    Complexity

  • 7/23/2019 EFKP SoCG Slides

    41/47

    TheoremWe compute the Vertex- and Halfspace-representations of N(R), as wellas a triangulation T of N(R), in

    O( m5 |vtx(N(R))| |T|2),

    where m= dim N(R), and|T| the number of full-dim faces of T.

    Elements of proof

    Computation is done in dimension m= |A| 2n+ 1.

    At most vtx(N(R)) +fct(N(R)) oracle calls (Lem. 9).

    Beneath-and-Beyond algorithm for converting V-rep. to H-rep[Joswig 02].

    ResPol package

  • 7/23/2019 EFKP SoCG Slides

    42/47

    C++

    CGAL, triangulation [Boissonnat,Devillers,Hornus]extreme points d [Gartner](preprocessing step)

    Hashing of determinantal predicates: optimizing sequences of similardeterminants

    http://sourceforge.net/projects/respol

    Applications of ResPol on I.Emiris talk this afternoon (CGAL, anOpen Gate to Computational Geometry!)

    Output-sensitivity

  • 7/23/2019 EFKP SoCG Slides

    43/47

    oracle calls vtx(N(R)) +fct(N(R)) output vertices bound polynomially the output triangulation size

    subexponential runtime wrt to input points (L), output vertices (R)

    Hashing and Gfan

  • 7/23/2019 EFKP SoCG Slides

    44/47

    hashing determinantsspeeds 10-100x when dim(N(R)) = 3, 4 faster than Gfan [Yu-Jensen11] for dimN(R) 6, else competitive

    dim(N(R)) = 4:

    Ongoing and future work

  • 7/23/2019 EFKP SoCG Slides

    45/47

    approximate resultant polytopes (dim(N(R)) 7) using approximatevolume computation

    combinatorial characterization of4-dimensional resultant polytopes

    computation of discriminant polytopes

    More on I.Emiris talk this afternoon (CGAL, an Open Gate to

    Computational Geometry!)

    (figure courtesy of M.Joswig)

    Facet and vertex graph of the largest 4-dimensional resultant polytope

    Ongoing and future work

  • 7/23/2019 EFKP SoCG Slides

    46/47

    (figure courtesy of M.Joswig)

    Facet and vertex graph of the largest 4-dimensional resultant polytope

    Thank You !

    Convex hull implementations

  • 7/23/2019 EFKP SoCG Slides

    47/47

    From V- to H-rep. ofN(R).

    triangulation (on/off-line), polymake beneath-beyond,cdd, lrs

    0.01

    0.1

    1

    10

    100

    0 500 1000 1500 2000 2500 3000

    tme

    sec

    Number of points

    bb

    cdd

    lrstriang_off

    triang_on

    dim(N(R)) = 4