Post on 16-Feb-2018
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