Professional Documents
Culture Documents
EFKP SoCG Slides
EFKP SoCG Slides
EFKP SoCG Slides
Existing work
A0
a1
A1
a3
a2
a4
A0
a1
A1
a3
a3 , 1
a1 , 0
a2
a4
a4 , 1
a2 , 0
A0
a1
A1
a3
a3 , 1
a1 , 0
a2
a4
a4 , 1
a2 , 0
aA
T (a) =
amixed vol() N,
T:a
A0
a1
A1
a3
a3 , 1
a1 , 0
T = (0, 2, 1, 0)
a2
a4
a4 , 1
a2 , 0
T (a) =
aA
amixed vol() N,
T:a
A0
A1
A
N (R)
A0
f0 (x) = ax2 + b
A1
f1 (x) = cx2 + dx + e
N (R)
A0
f0 (x, y) = ax + by + c
A1
f1 (x, y) = dx + ey + f
A2
f2 (x, y) = gx + hy + i
N (R)
4-dimensional Birkhoff polytope
R(a, b, c, d, e, f, g, h, i) =
abc
def
ghi
f0 (x, y) = axy 2 + x4 y + c
A1
f1 (x, y) = dx + ey
A2
f2 (x, y) = gx2 + hy + i
N (R)
The 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
face of (A)
The 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
2. rene S into triangulation T of A
T0
face of (A)
The 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
2. rene S into triangulation T of A
3. return T N|A|
T0
face of (A)
N (R)
The Oracle
Incremental Algorithm
Input: A
Output: H-rep. QH , V-rep. QV of Q = N(R)
1. initialization step
initialization:
Q N(R)
dim(Q)=dim(N(R))
Q
N (R)
Incremental Algorithm
Input: A
Output: H-rep. QH , V-rep. QV of Q = N(R)
1. initialization step
2. all hyperplanes of QH are illegal
2 kinds of hyperplanes of QH :
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
Qo
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Incremental Algorithm
Input: 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 do
N (R)
Complexity
Theorem
We compute the Vertex- and Halfspace-representations of N(R), as well
as 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
ResPol package
C++
http://sourceforge.net/projects/respol
Output-sensitivity
dim(N(R)) = 4:
Thank You !
time (sec)
100
10
triang_on
0.1
0.01
bb
cdd
lrs
triang_o
500
1000
1500
2000
Number of points
2500
3000
dim(N(R)) = 4