SlideShare a Scribd company logo
Exact and approximate algorithms for resultant
polytopes
Vissarion Fisikopoulos
Joint work with I.Z. Emiris and C. Konaxis∗
Dept Informatics & Telecoms, University of Athens
∗ currently with Univeristy of Crete
EuroCG 2012, Assisi, Perugia, Italy, 20.March.2012
Polynomials and Newton polytopes
The support of a polynomial f is the set of exponents of its
monomials with non-zero coefficient.
The Newton polytope of f is the convex hull of its support.
f(x, y) =
8y + xy − 24y2
− 16x2
+ 220x2
y − 34xy2
−
84x3
y + 6x2
y2
− 8xy3
+ 8x3
y2
+ 8x3
+ 18y3
3
2
1
1 2 3 5
5
Polynomial systems
We study polynomials that expresses the solvability of polynomial
systems.
Given a system of n + 1 linear polynomials f0, f1, . . . , fn, on n variables
the determinant is a polynomial on the coefficients which is zero iff the
system has a common solution.
Polynomial systems
Given a system of n + 1 linear polynomials f0, f1, . . . , fn, on n variables
the determinant is a polynomial on the coefficients which is zero iff the
system has a common solution.
f0 = ax + by + c = 0
f1 = dx + ey + f = 0
f2 = gx + hy + i = 0
a b c
d e f
g h i
Polynomial systems
Given a system of n + 1 linear polynomials f0, f1, . . . , fn, on n variables
the determinant is a polynomial on the coefficients which is zero iff the
system has a common solution.
f0 = 4x + y + 2 = 0
f1 = x + 2y + 1 = 0
f2 = x + y + 8 = 0
4 1 2
1 2 1
1 1 8
= 51
Polynomial systems
Given a system of n + 1 linear polynomials f0, f1, . . . , fn, on n variables
the determinant is a polynomial on the coefficients which is zero iff the
system has a common solution.
f0 = ax + by + c = 0
f1 = dx + ey + f = 0
f2 = gx + hy + i = 0
supports
a b c
d e f
g h i
Newton polytope of determinant (Birkhoff polytope)
Polynomial systems
Given a system of n + 1 linear general polynomials f0, f1, . . . , fn, on n
variables the determinant resultant is a polynomial on the coefficients
which is zero iff the system has a common solution.
f0 = 4xy2
+x4
y+2 = 0
f1 = x + 2y = 0
f2 = 3x2
+ y + 8 = 0
Polynomial systems
Given a system of n + 1 linear general polynomials f0, f1, . . . , fn, on n
variables the determinant resultant is a polynomial on the coefficients
which is zero iff the system has a common solution.
f0 = 4xy2
+x4
y+2 = 0
f1 = x + 2y = 0
f2 = 3x2
+ y + 8 = 0
hard to compute
the resultant
Polynomial systems
Given a system of n + 1 linear general polynomials f0, f1, . . . , fn, on n
variables the determinant resultant is a polynomial on the coefficients
which is zero iff the system has a common solution.
f0 = 4xy2
+x4
y+2 = 0
f1 = x + 2y = 0
f2 = 3x2
+ y + 8 = 0
supports
hard to compute
the resultant
Newton polytope of determinant resultant
(Birkhoff resultant polytope Π)
Polynomial systems
Given a system of n + 1 linear general polynomials f0, f1, . . . , fn, on n
variables the determinant resultant is a polynomial on the coefficients
which is zero iff the system has a common solution.
supports
Newton polytope of determinant resultant
(Birkhoff resultant polytope Π)
The idea of the algorithm
The input supports define a pointset A ∈ Z2n
Naive method: compute the secondary polytope Σ(A) to compute Π
The idea of the algorithm
The input supports define a pointset A ∈ Z2n
Naive method: compute the secondary polytope Σ(A) to compute Π
Idea: incrementally construct Π using an oracle that given a direction
produces vertices of Π
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
Π
Q
initialization:
Q ⊂ Π
dim(Q)=dim(Π)
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
Π
Q
2 kinds of hyperplanes of QH :
legal if it supports facet ⊂ Π
illegal otherwise
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
Π
Q
w
Extending an illegal facet
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Extending an illegal facet
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Validating a legal facet
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Validating a legal facet
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
At any step, Q is an inner
approximation . . .
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Qo
At any step, Q is an inner
approximation . . . from which we
can compute an outer approximation
Qo.
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Incremental Algorithm
Input: A
Output: H-rep. QH, V-rep. QV of Q = Π
1. initialization step
2. all hyperplanes of QH are illegal
3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do
call oracle for w and compute v, QV ← QV ∪ {v}
if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal
Π
Q
Complexity
Theorem
We compute the Vertex- and Halfspace-representations of Π, as well as a
triangulation T of Π, in
O∗
( m5
|vtx(Π)| · |T|2
),
where m = dim Π, and |T| the number of full-dim faces of T.
Elements of proof
Most computation is done in dimension ≤ m.
At most ≤ vtx(Π) + fct(Π) oracle calls
Beneath-Beyond algorithm for converting V-rep. to H-rep.
(bottleneck)
ResPol Implementation
Tools
C++, CGAL, triangulation [Boissonnat,Devillers,Hornus],
extreme points d [G¨artner]
Experiments (dim(Π) = 4)
0.01
0.1
1
10
100
1000
10000
100000
10 15 20 25 30 35 40 45
time(sec)
Number of points
Respol-hash
Respol-no hash
Gfan-TTR
Gfan-NFSI
Future work
approximate resultant polytopes (dim(Π) ≥ 7)
preliminary results:
input
m 3 3 4 4 5 5
|A| 200 490 20 30 17 20
exact
#vtx(Π) 98 133 416 1296 1674 5093
time 2.03 5.87 3.72 25.97 51.54 239.96
approx.
#vtx(Qin) 15 11 63 121 – –
vol(Qin)/vol(Π) 0.96 0.95 0.93 0.94 – –
vol(Qout)/vol(Π) 1.02 1.03 1.04 1.03 – –
time 0.15 0.22 0.37 1.42 > 10hr > 10hr
approximate volume computation [Lovász-Vempala06]
References
The code
http://respol.sourceforge.net
The full version of the paper
http://arxiv.org/abs/1108.5985v2
References
The code
http://respol.sourceforge.net
The full version of the paper
http://arxiv.org/abs/1108.5985v2
Thank You !
Convex hull implementations
From V- to H-rep. of Π.
triangulation (on/off-line), polymake beneath-beyond,
cdd, lrs
0.01
0.1
1
10
100
0 500 1000 1500 2000 2500 3000
time(sec)
Number of points
bb
cdd
lrs
triang_off
triang_on
dim(Π) = 4

More Related Content

PDF
Conctructing Polytopes via a Vertex Oracle
PDF
An algorithm for computing resultant polytopes
PPT
Arithmetic by aniket bhute
PDF
Maksim Zhukovskii – Zero-one k-laws for G(n,n−α)
PDF
Deciding language inclusion problems using quasiorders
PDF
Joel Spencer – Finding Needles in Exponential Haystacks
PPT
Transcription
PDF
QMC: Transition Workshop - Probabilistic Integrators for Deterministic Differ...
Conctructing Polytopes via a Vertex Oracle
An algorithm for computing resultant polytopes
Arithmetic by aniket bhute
Maksim Zhukovskii – Zero-one k-laws for G(n,n−α)
Deciding language inclusion problems using quasiorders
Joel Spencer – Finding Needles in Exponential Haystacks
Transcription
QMC: Transition Workshop - Probabilistic Integrators for Deterministic Differ...

What's hot (6)

PDF
ABC in Roma
PPT
Datacompression1
PPTX
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
PDF
Numerical approach for Hamilton-Jacobi equations on a network: application to...
PDF
RedisConf18 - CRDTs and Redis - From sequential to concurrent executions
ABC in Roma
Datacompression1
A new approach in specifying the inverse quadratic matrix in modulo-2 for con...
Numerical approach for Hamilton-Jacobi equations on a network: application to...
RedisConf18 - CRDTs and Redis - From sequential to concurrent executions
Ad

More from Vissarion Fisikopoulos (20)

PDF
Efficient sampling of constraint spaces in practice
PDF
volesti: sampling efficiently from high dimensional distributions
PDF
High-dimensional sampling and volume computation
PDF
"Mesh of Periodic Minimal Surfaces in CGAL."
PDF
"Regular triangularions and resultant polytopes."
PDF
"An output-sensitive algorithm for computing projections of resultant polytop...
PDF
"Faster Geometric Algorithms via Dynamic Determinant Computation."
PDF
Oracle-based algorithms for high-dimensional polytopes.
PDF
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
PDF
"Combinatorics of 4-dimensional resultant polytopes"
PDF
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
PDF
High-dimensional polytopes defined by oracles: algorithms, computations and a...
PDF
Working with spatial trajectories in Boost Geometry
PDF
High-dimensional sampling and volume computation
PDF
High-dimensional polytopes defined by oracles: algorithms, computations and a...
PDF
Enumeration of 2-level polytopes
PDF
Polyhedral computations in computational algebraic geometry and optimization
PDF
The Newton polytope of the sparse resultant
PDF
Volume and edge skeleton computation in high dimensions
PDF
Efficient Random-Walk Methods forApproximating Polytope Volume
Efficient sampling of constraint spaces in practice
volesti: sampling efficiently from high dimensional distributions
High-dimensional sampling and volume computation
"Mesh of Periodic Minimal Surfaces in CGAL."
"Regular triangularions and resultant polytopes."
"An output-sensitive algorithm for computing projections of resultant polytop...
"Faster Geometric Algorithms via Dynamic Determinant Computation."
Oracle-based algorithms for high-dimensional polytopes.
Efficient Volume and Edge-Skeleton Computation for Polytopes Given by Oracles
"Combinatorics of 4-dimensional resultant polytopes"
Efficient Edge-Skeleton Computation for Polytopes Defined by Oracles
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Working with spatial trajectories in Boost Geometry
High-dimensional sampling and volume computation
High-dimensional polytopes defined by oracles: algorithms, computations and a...
Enumeration of 2-level polytopes
Polyhedral computations in computational algebraic geometry and optimization
The Newton polytope of the sparse resultant
Volume and edge skeleton computation in high dimensions
Efficient Random-Walk Methods forApproximating Polytope Volume
Ad

Recently uploaded (20)

PDF
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
PPTX
Introduction to Fisheries Biotechnology_Lesson 1.pptx
PPTX
INTRODUCTION TO EVS | Concept of sustainability
PPTX
7. General Toxicologyfor clinical phrmacy.pptx
PPTX
cpcsea ppt.pptxssssssssssssssjjdjdndndddd
PDF
Formation of Supersonic Turbulence in the Primordial Star-forming Cloud
PPTX
BIOMOLECULES PPT........................
PPTX
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
PPTX
Classification Systems_TAXONOMY_SCIENCE8.pptx
PDF
IFIT3 RNA-binding activity primores influenza A viruz infection and translati...
PDF
SEHH2274 Organic Chemistry Notes 1 Structure and Bonding.pdf
PPTX
Cell Membrane: Structure, Composition & Functions
PPT
The World of Physical Science, • Labs: Safety Simulation, Measurement Practice
PDF
An interstellar mission to test astrophysical black holes
PPTX
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
PPTX
2. Earth - The Living Planet earth and life
PDF
bbec55_b34400a7914c42429908233dbd381773.pdf
PPTX
2Systematics of Living Organisms t-.pptx
PPTX
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
PPTX
2. Earth - The Living Planet Module 2ELS
CAPERS-LRD-z9:AGas-enshroudedLittleRedDotHostingaBroad-lineActive GalacticNuc...
Introduction to Fisheries Biotechnology_Lesson 1.pptx
INTRODUCTION TO EVS | Concept of sustainability
7. General Toxicologyfor clinical phrmacy.pptx
cpcsea ppt.pptxssssssssssssssjjdjdndndddd
Formation of Supersonic Turbulence in the Primordial Star-forming Cloud
BIOMOLECULES PPT........................
EPIDURAL ANESTHESIA ANATOMY AND PHYSIOLOGY.pptx
Classification Systems_TAXONOMY_SCIENCE8.pptx
IFIT3 RNA-binding activity primores influenza A viruz infection and translati...
SEHH2274 Organic Chemistry Notes 1 Structure and Bonding.pdf
Cell Membrane: Structure, Composition & Functions
The World of Physical Science, • Labs: Safety Simulation, Measurement Practice
An interstellar mission to test astrophysical black holes
ognitive-behavioral therapy, mindfulness-based approaches, coping skills trai...
2. Earth - The Living Planet earth and life
bbec55_b34400a7914c42429908233dbd381773.pdf
2Systematics of Living Organisms t-.pptx
DRUG THERAPY FOR SHOCK gjjjgfhhhhh.pptx.
2. Earth - The Living Planet Module 2ELS

"Exact and approximate algorithms for resultant polytopes."

  • 1. Exact and approximate algorithms for resultant polytopes Vissarion Fisikopoulos Joint work with I.Z. Emiris and C. Konaxis∗ Dept Informatics & Telecoms, University of Athens ∗ currently with Univeristy of Crete EuroCG 2012, Assisi, Perugia, Italy, 20.March.2012
  • 2. Polynomials and Newton polytopes The support of a polynomial f is the set of exponents of its monomials with non-zero coefficient. The Newton polytope of f is the convex hull of its support. f(x, y) = 8y + xy − 24y2 − 16x2 + 220x2 y − 34xy2 − 84x3 y + 6x2 y2 − 8xy3 + 8x3 y2 + 8x3 + 18y3 3 2 1 1 2 3 5 5
  • 3. Polynomial systems We study polynomials that expresses the solvability of polynomial systems. Given a system of n + 1 linear polynomials f0, f1, . . . , fn, on n variables the determinant is a polynomial on the coefficients which is zero iff the system has a common solution.
  • 4. Polynomial systems Given a system of n + 1 linear polynomials f0, f1, . . . , fn, on n variables the determinant is a polynomial on the coefficients which is zero iff the system has a common solution. f0 = ax + by + c = 0 f1 = dx + ey + f = 0 f2 = gx + hy + i = 0 a b c d e f g h i
  • 5. Polynomial systems Given a system of n + 1 linear polynomials f0, f1, . . . , fn, on n variables the determinant is a polynomial on the coefficients which is zero iff the system has a common solution. f0 = 4x + y + 2 = 0 f1 = x + 2y + 1 = 0 f2 = x + y + 8 = 0 4 1 2 1 2 1 1 1 8 = 51
  • 6. Polynomial systems Given a system of n + 1 linear polynomials f0, f1, . . . , fn, on n variables the determinant is a polynomial on the coefficients which is zero iff the system has a common solution. f0 = ax + by + c = 0 f1 = dx + ey + f = 0 f2 = gx + hy + i = 0 supports a b c d e f g h i Newton polytope of determinant (Birkhoff polytope)
  • 7. Polynomial systems Given a system of n + 1 linear general polynomials f0, f1, . . . , fn, on n variables the determinant resultant is a polynomial on the coefficients which is zero iff the system has a common solution. f0 = 4xy2 +x4 y+2 = 0 f1 = x + 2y = 0 f2 = 3x2 + y + 8 = 0
  • 8. Polynomial systems Given a system of n + 1 linear general polynomials f0, f1, . . . , fn, on n variables the determinant resultant is a polynomial on the coefficients which is zero iff the system has a common solution. f0 = 4xy2 +x4 y+2 = 0 f1 = x + 2y = 0 f2 = 3x2 + y + 8 = 0 hard to compute the resultant
  • 9. Polynomial systems Given a system of n + 1 linear general polynomials f0, f1, . . . , fn, on n variables the determinant resultant is a polynomial on the coefficients which is zero iff the system has a common solution. f0 = 4xy2 +x4 y+2 = 0 f1 = x + 2y = 0 f2 = 3x2 + y + 8 = 0 supports hard to compute the resultant Newton polytope of determinant resultant (Birkhoff resultant polytope Π)
  • 10. Polynomial systems Given a system of n + 1 linear general polynomials f0, f1, . . . , fn, on n variables the determinant resultant is a polynomial on the coefficients which is zero iff the system has a common solution. supports Newton polytope of determinant resultant (Birkhoff resultant polytope Π)
  • 11. The idea of the algorithm The input supports define a pointset A ∈ Z2n Naive method: compute the secondary polytope Σ(A) to compute Π
  • 12. The idea of the algorithm The input supports define a pointset A ∈ Z2n Naive method: compute the secondary polytope Σ(A) to compute Π Idea: incrementally construct Π using an oracle that given a direction produces vertices of Π
  • 13. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step Π Q initialization: Q ⊂ Π dim(Q)=dim(Π)
  • 14. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal Π Q 2 kinds of hyperplanes of QH : legal if it supports facet ⊂ Π illegal otherwise
  • 15. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} Π Q w Extending an illegal facet
  • 16. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q Extending an illegal facet
  • 17. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q Validating a legal facet
  • 18. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q Validating a legal facet
  • 19. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 20. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q At any step, Q is an inner approximation . . .
  • 21. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q Qo At any step, Q is an inner approximation . . . from which we can compute an outer approximation Qo.
  • 22. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 23. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 24. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 25. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 26. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 27. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 28. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 29. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 30. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 31. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 32. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 33. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 34. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 35. Incremental Algorithm Input: A Output: H-rep. QH, V-rep. QV of Q = Π 1. initialization step 2. all hyperplanes of QH are illegal 3. while ∃ illegal hyperplane H ⊂ QH with outer normal w do call oracle for w and compute v, QV ← QV ∪ {v} if v /∈ QV ∩ H then QH ← CH(QV ∪ {v}) else H is legal Π Q
  • 36. Complexity Theorem We compute the Vertex- and Halfspace-representations of Π, as well as a triangulation T of Π, in O∗ ( m5 |vtx(Π)| · |T|2 ), where m = dim Π, and |T| the number of full-dim faces of T. Elements of proof Most computation is done in dimension ≤ m. At most ≤ vtx(Π) + fct(Π) oracle calls Beneath-Beyond algorithm for converting V-rep. to H-rep. (bottleneck)
  • 37. ResPol Implementation Tools C++, CGAL, triangulation [Boissonnat,Devillers,Hornus], extreme points d [G¨artner] Experiments (dim(Π) = 4) 0.01 0.1 1 10 100 1000 10000 100000 10 15 20 25 30 35 40 45 time(sec) Number of points Respol-hash Respol-no hash Gfan-TTR Gfan-NFSI
  • 38. Future work approximate resultant polytopes (dim(Π) ≥ 7) preliminary results: input m 3 3 4 4 5 5 |A| 200 490 20 30 17 20 exact #vtx(Π) 98 133 416 1296 1674 5093 time 2.03 5.87 3.72 25.97 51.54 239.96 approx. #vtx(Qin) 15 11 63 121 – – vol(Qin)/vol(Π) 0.96 0.95 0.93 0.94 – – vol(Qout)/vol(Π) 1.02 1.03 1.04 1.03 – – time 0.15 0.22 0.37 1.42 > 10hr > 10hr approximate volume computation [Lovász-Vempala06]
  • 39. References The code http://respol.sourceforge.net The full version of the paper http://arxiv.org/abs/1108.5985v2
  • 40. References The code http://respol.sourceforge.net The full version of the paper http://arxiv.org/abs/1108.5985v2 Thank You !
  • 41. Convex hull implementations From V- to H-rep. of Π. triangulation (on/off-line), polymake beneath-beyond, cdd, lrs 0.01 0.1 1 10 100 0 500 1000 1500 2000 2500 3000 time(sec) Number of points bb cdd lrs triang_off triang_on dim(Π) = 4