Mittagseminar ETH Slides

49
Constructing Polytopes via a Vertex Oracle Vissarion Fisikopoulos Joint work with I.Z. Emiris, C. Konaxis (now U. Crete) and L. Pe˜ naranda (now IMPA, Rio) Department of Informatics, University of Athens Mittagsseminar, ETH, Zurich, 12.Jul.2012

description

Mittagseminar ETH Slides

Transcript of Mittagseminar ETH Slides

Page 1: Mittagseminar ETH Slides

Constructing Polytopes via a Vertex Oracle

Vissarion Fisikopoulos

Joint work with I.Z. Emiris, C. Konaxis (now U. Crete) and

L. Penaranda (now IMPA, Rio)

Department of Informatics, University of Athens

Mittagsseminar, ETH, Zurich, 12.Jul.2012

Page 2: Mittagseminar ETH Slides

Main actor: resultant polytope

I Geometry: Minkowski summands of secondary polytopes, equival.classes of secondary vertices, generalize Birkhoff polytopes

I Motivation: useful to express the solvability of polynomial systems

I Applications: discriminant and resultant computation, implicitizationof parametric hypersurfaces

Enneper’s Minimal Surface

Page 3: Mittagseminar ETH Slides

Existing work

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

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

I [Michiels & Verschelde DCG’99] coarse equivalence classes ofsecondary polytope vertices.

I [Michiels & Cools DCG’00] decomposition of Σ(A) in Minkoskisummands, including N(R).

I Tropical geometry [Sturmfels-Yu ’08]: algorithms for resultantpolytope (GFan library) [Jensen-Yu ’11] and discriminant polytope(TropLi software) [Rincn ’12].

Page 4: Mittagseminar ETH Slides

What is a resultant polytope?

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

A0

A1

a1

a3

a2

a4

Page 5: Mittagseminar ETH Slides

What is a resultant polytope?

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

I A =⋃n

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

Page 6: Mittagseminar ETH Slides

What is a resultant polytope?

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

I A =⋃n

i=0(Ai × {ei}) ⊂ Z2n where ei = (0, . . . , 1, . . . , 0) ⊂ Zn

I Given T a triangulation of conv(A), a cell is a-mixed if it contains 2vertices from Aj , j 6= i , and one vertex a ∈ Ai .

A

A0

A1

a1 a2

a3 a4

a3, 1 a4, 1

a1, 0 a2, 0

Page 7: Mittagseminar ETH Slides

What is a resultant polytope?

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

I A =⋃n

i=0(Ai × {ei}) ⊂ Z2n where ei = (0, . . . , 1, . . . , 0) ⊂ Zn

I Given T a triangulation of conv(A), a cell is a-mixed if it contains 2vertices from Aj , j 6= i , and one vertex a ∈ Ai .

I ρT (a) =∑

a−mixed

σ∈T :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

Page 8: Mittagseminar ETH Slides

What is a resultant polytope?

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

I A =⋃n

i=0(Ai × {ei}) ⊂ Z2n where ei = (0, . . . , 1, . . . , 0) ⊂ Zn

I Given T a triangulation of conv(A), a cell is a-mixed if it contains 2vertices from Aj , j 6= i , and one vertex a ∈ Ai .

I ρT (a) =∑

a−mixed

σ∈T :a∈σvol(σ) ∈ N, a ∈ A

I Resultant polytope N(R) = conv(ρT : T triang. of conv(A))

A N(R)

A0

A1

Page 9: Mittagseminar ETH Slides

Connection with Algebra

I The support of a polynomial is the the set of exponents of itsmonomials with non-zero coefficient.

I The resultant R is the polynomial in the coefficients of a system ofpolynomials which is zero iff the system has a common solution.

I The resultant polytope N(R), is the convex hull of the support of R.

A0

A1

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

f0(x) = ax2 + b

f1(x) = cx2 + dx+ e

Page 10: Mittagseminar ETH Slides

Connection with Algebra

I The support of a polynomial is the the set of exponents of itsmonomials with non-zero coefficient.

I The resultant R is the polynomial in the coefficients of a system ofpolynomials which is zero iff the system has a common solution.

I The resultant polytope N(R), is the convex hull of the support of R.

A0

A1

N(R)

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

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

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

a b cd e fg h i

4-dimensional Birkhoff polytope

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

Page 11: Mittagseminar ETH Slides

Connection with Algebra

I The support of a polynomial is the the set of exponents of itsmonomials with non-zero coefficient.

I The resultant R is the polynomial in the coefficients of a system ofpolynomials which is zero iff the system has a common solution.

I The resultant polytope N(R), is the convex hull of the support of R.

A0

A1

N(R)

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

f1(x, y) = dx+ ey

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

NP-hard to compute the resultantin the general case

Page 12: Mittagseminar ETH Slides

The idea of the algorithm

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

Simplistic method:

I compute the secondary polytope Σ(A)

I many-to-one relation between vertices of Σ(A) and N(R) vertices

Cannot enumerate 1 representative per class by walking on secondaryedges

Page 13: Mittagseminar ETH Slides

The idea of the algorithm

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

New Algorithm:

I Vertex oracle: given a direction vector compute a vertex of N(R)

I Output sensitive: computes only one triangulation of A per N(R)vertex + one per N(R) facet

I Computes projections of N(R) or Σ(A)

Page 14: Mittagseminar ETH Slides

A basic tool for the oracle:

Regular triangulations of A ⊂ Rd are obtained by projecting the lower (orupper) hull of A lifted to Rd+1 via a generic lifting function w ∈ (R|A|)×.

w = (2, 1, 4)w = (2, 6, 4)

A

If w is not generic then we construct a regular subdivision.

Page 15: Mittagseminar ETH Slides

The Vertex (Optimization) Oracle

Input: A ⊂ Z2n, direction w ∈ (R|A|)×

Output: vertex ∈ N(R), extremal wrt w

1. use w as a lifting to construct regular subdivision S of A

w

face of Σ(A)

S

Page 16: Mittagseminar ETH Slides

The Vertex (Optimization) Oracle

Input: A ⊂ Z2n, direction w ∈ (R|A|)×

Output: vertex ∈ N(R), extremal wrt w

1. use w as a lifting to construct regular subdivision S of A2. refine S into triangulation T of A

w

face of Σ(A)

T

T ′

S

Page 17: Mittagseminar ETH Slides

The Vertex (Optimization) Oracle

Input: A ⊂ Z2n, direction w ∈ (R|A|)×

Output: vertex ∈ N(R), extremal wrt w

1. use w as a lifting to construct regular subdivision S of A2. refine S into triangulation T of A3. return ρT ∈ N|A|

N(R)

w

face of Σ(A)

T

T ′

S

ρT

Page 18: Mittagseminar ETH Slides

The Vertex (Optimization) Oracle

Input: A ⊂ Z2n, direction w ∈ (R|A|)×

Output: vertex ∈ N(R), extremal wrt w

1. use w as a lifting to construct regular subdivision S of A2. refine S into triangulation T of A3. return ρT ∈ N|A|

LemmaOracle’s output is

I always a vertex of the target polytope,

I extremal wrt w.

Page 19: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

N(R)

Q

Q

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

initialization:

I Q ⊂ N(R)

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

Page 20: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

N(R)

Q

Q

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

2 kinds of hyperplanes of QH :

I legal if it supports facet⊂ N(R)

I illegal otherwise

Page 21: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Extending an illegal facet

Page 22: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Extending an illegal facet

Page 23: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Validating a legal facet

Page 24: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Validating a legal facet

Page 25: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 26: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

At any step, Q is an innerapproximation . . .

Page 27: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

At any step, Q is an innerapproximation . . . from which wecan compute an outer approximationQo .

Page 28: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 29: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 30: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 31: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 32: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 33: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 34: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 35: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 36: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 37: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 38: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 39: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 40: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 41: Mittagseminar ETH Slides

Incremental AlgorithmInput: A

Output: H-rep. QH , V-rep. QV of Q = N(R)

1. initialization step

2. all hyperplanes of QH are illegal

3. while ∃ illegal hyperplane H ⊂ QH with outer normal w doI call oracle for w and compute v , QV ← QV ∪ {v}I if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal

N(R)

QQ

N(R)

N(R)

Qw

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Qo

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

N(R)

Q

Page 42: Mittagseminar ETH Slides

Complexity

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 = dimN(R), and |T | the number of full-dim faces of T .

Elements of proof

I Computation is done in dimension m = |A| − 2n + 1, N(R) ⊂ R|A|.I At most ≤ vtx(N(R)) + fct(N(R)) oracle calls (Lem. 9).

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

Page 43: Mittagseminar ETH Slides

ResPol package

I C++

I towards high-dimensional

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

I Hashing of determinantal predicates: optimizing sequences of similardeterminants

I http://sourceforge.net/projects/respol

Page 44: Mittagseminar ETH Slides

Output-sensitivity

I oracle calls ≤ vtx(N(R)) + fct(N(R))

I output vertices bound polynomially the output triangulation size

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

0.01

0.1

1

10

100

0 50 100 150 200 250 300 350 400 450

time (

sec)

Number of output vertices

m=3m=4m=5

Page 45: Mittagseminar ETH Slides

Hashing and Gfan

I hashing determinants speeds ≤ 10-100x when dim(N(R)) = 3, 4

I faster than Gfan [Yu-Jensen’11] for dimN(R) ≤ 6, else competitive

dim(N(R)) = 4:

Page 46: Mittagseminar ETH Slides

Computing the convex hull of N(R)

I triangulation, polymake beneath-beyond (bb), cdd, lrs

0.01

0.1

1

10

100

0 500 1000 1500 2000 2500 3000

tim

e (s

ec)

Number of points

bbcddlrs

triang_off

triang_on

dim(N(R)) = 4

Page 47: Mittagseminar ETH Slides

f-vectors of 4-dimensional N(R)

(6, 15, 18, 9)(8, 20, 21, 9)(9, 22, 21, 8)...(17, 48, 45, 14)(17, 48, 46, 15)(17, 48, 47, 16)(17, 49, 47, 15)(17, 49, 48, 16)(17, 49, 49, 17)(17, 50, 50, 17)(18, 51, 48, 15)(18, 51, 49, 16)(18, 52, 50, 16)(18, 52, 51, 17)(18, 53, 51, 16)(18, 53, 53, 18)

(18, 54, 54, 18)(19, 54, 52, 17)(19, 55, 51, 15)(19, 55, 52, 16)(19, 55, 54, 18)(19, 56, 54, 17)(19, 56, 56, 19)(19, 57, 57, 19)(20, 58, 54, 16)(20, 59, 57, 18)(20, 60, 60, 20)(21, 62, 60, 19)(21, 63, 63, 21)(22, 66, 66, 22)

OpenAlmost symmetric f-vector?

Page 48: Mittagseminar ETH Slides

Ongoing and future work

I Extension of hashing determinants to CH computations(with L.Penaranda) (to appear in ESA’12)

I Combinatorial characterization of 4-dimensional resultant polytopes(with I.Z.Emiris, A.Dickenstein)

I Computation of discriminant polytopes(with I.Z.Emiris, A.Dickenstein)

I Membership oracles from vertex (optimization) oracles(with B.Gartner)

References

I The paper: “An output-sensitive algorithm for computingprojections of resultant polytopes.” in SoCG’12

I The code: http://respol.sourceforge.net

Page 49: Mittagseminar ETH Slides

The end. . .

(figure courtesy of M.Joswig)

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

Thank You !