Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of...
Transcript of Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of...
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
1/46
Computing Delaunay polytopes of lattices
Mathieu Dutour Sikiric
Institute Rudjer Boskovic
Achill Schuermann
Magdeburg University
Frank Vallentin
CWI Amsterdam
January 16, 2010
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
2/46
A finite set of points
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
3/46
Some perpendicular bisectors
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
4/46
The edges of Voronoi polyhedron
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
5/46
Voronoi polytope
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
6/46
Empty sphere
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
7/46
Delaunay polytopes
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
8/46
I. Delaunay polytopes
inlattices
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
9/46
The Voronoi polytope of a lattice
A lattice L is a rank n subgroup ofRn, i.e. of the form
L = v1Z+ + vnZ The Voronoi cell DV(L) of L is defined by x, v 12 ||v||2 for
v L {0}. DV(L) is a polytope, i.e. it has a finite number of vertices (of
dimension 0), faces and facets (of dimension n 1)
The translates v + DV(L) with v L tiles Rn. Shortest vector in L define facets of the Voronoi polytope.
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
10/46
Empty sphere and Delaunay polytopes
A sphere S(c, r) of radius r and center c in an n-dimensional
lattice L is said to be an empty sphere if:(i) v c r for all v L,
(ii) the set S(c, r) L contains n + 1 affinely independent points.A Delaunay polytope P in a lattice L is a polytope, whose
vertex-set is L S(c, r).
c
r
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
11/46
Voronoi and Delaunay in lattices
Vertices of Voronoi polytope are center of empty sphereswhich defines Delaunay polytopes.
Voronoi and Delaunay polytopes define dual tessellations ofthe space Rn by polytopes.
Every k-dimensional face of a Delaunay polytope is orthogonal
to a (n k)-dimensional face of a Voronoi polytope.
Given a lattice L, it has a finite number of orbits of Delaunaypolytopes under translation.
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
12/46
Volume of Delaunay
Take L an n-dimensional lattice.
The number of vertices of a Delaunay polytope is at most 2n
and at least n + 1.
Given a Delaunay polytope P of a lattice L, define L(P) thelattice generated by P. Denote by (P) the index of L(P) inL.
Voronoi: ifn
4, then (P
) = 1. Baranovski: if n = 5, then (P) = 1 or 2. Ryshkov: if n = 6, then (P) = 1, 2 or 3. Santos, Schurmann & Vallentin: max (P) grows
exponentially with n. Lovasz (P)
2n
(2n
n )
n!.
The volume of a simplex is (P)(n+1)! so a lattice has at most
(n + 1)! translation classes of Delaunay.
Given a polytope P, is there an efficient method for finding all
lattices containing P as a Delaunay?
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
13/46
II. Applications
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
14/46
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
15/46
Other applications
The quantizing constant (in coding theory) of a lattice L isdefined as
Q(L) = DV(L)
x
2dx and quant(L) =
Q(L)
det(L)1+2
n
Delaunay/Voronoi polytopes gives an Aut(L)-invariant cellulardecomposition of the space Rn space. This gives a method for computing the homology ofRn
/Aut(L). This gives a method for computing the homology of Aut(L).
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
16/46
II. Examples
R l i
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
17/46
Root lattices
Take L = Zn; Delaunay:
Name Center Nr. vertices Radius
Cube ( 12 )n 2n 12n Take Dn = {x Zn|
ni=1 xi is even}; Delaunay:
Name Center Nr. vertices Radius
Half-Cube ( 12 )n 1
2 2n 1
2
n
Cross-polytope (1, 0n1
) 2n 1 Take E8 = D8 ( 12
8) + D8; Delaunay:
Name Center Nr. vertices Radius
Simplex ( 56 ,16
7) 9
89
Cross-polytope (1, 07) 16 1
Take An = {x Zn+1 such thatn+1
i=1 xi = 0}.The Delaunay of An are obtained by section of the cube[0, 1]n+1 by the hyperplanes i xi = k.They are named J(n + 1, k), the number of vertices is
n+1k
.
R l i E
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
18/46
Root lattice E6
The Schlafli polytope Sch: Sch has 27 vertices. skel(Sch) is a strongly regular graph. Only 2 distances between distinct vertices of Sch. | Aut(Sch)| = 51840, the rotation subgroup is simple. 2 orbits of facets, 3 orbits of flags.
Two interesting laminations:levels polytopes polytopes
1 vertex J (6, 1)0 12 H5 J(6, 2)1 5 J(6, 1) (parallel)
D5 lamination A5 lamination The root lattice E6:
Has | Aut(E6)| = 2 51840 Has Delaunay polytopes Sch, Sch up to translation
R t l tti E
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
19/46
Root lattice E7
The Gosset polytope Gos: Gos has 56 vertices (centrally symmetric). skel(Gos) is a distance regular graph. Only 3 distances between distinct vertices of Sch. | Aut(Gos)| = 2903040, the rotation subgroup is simple. 2 orbits of facets, 3 orbits of flags. Three interesting laminations:
levels polytopes polytopes polytopes2 vertex J (7, 1)1 Sch J (7, 2) 60 Sch J(7, 2) 12 H6
1 vertex
J(7, 1)
6
E6 lamination A6 lamination D6 lamination The root lattice E7:
Has | Aut(E7)| = | Aut(Gos)|. Has two orbits of Delaunay: Gosset (1 translation class) and
regular simplex (72 translation classes).
3 di i l l tti
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
20/46
3-dimensional lattices
The 3-dimensional Voronoi polytopes:
Truncated octahedron Hexarhombic dodecahedron
Hexagonal prism
Rhombic dodecahedron
Cube
The 3-dimensional Delaunay polytopes:
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
21/46
II. Computational
techniques
Closest Vector Problem
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
22/46
Closest Vector Problem
Given a lattice L, a vector c, find all vectors v
L such that
||v c|| is minimal
or in other term, if M Sn>0 and c Rn, find all v Zn such
that
t(v c)M(v c) is minimal CVP is conjecturally a NP problem. Only way is to do an exhaustive search in a set of possible
solutions, two programs:
Lattice-CVP (Dutour) use a hypercube, performing well up todimension 10.
Voro (Vallentin) use an ellipsoid, performing well up todimension, say 40.
Finding an initial Delaunay polytope
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
23/46
Finding an initial Delaunay polytope
Finding a Delaunay is equivalent to finding a vertex of theVoronoi polytope.
The problem is that the Voronoi polytope is defined by aninfinity of inequalities. g a random linear function. V an initial set of non-zero elements of L. Maximize g(x) over the polytope defined by v, x 12v2
for v V.Denote by x0 the vertex realizing the maximum.
Find C the closest elements to x0. If 0 C then return C as vertex-set of a Delaunay polytope. Otherwise do V V C.
This algorithm is implemented in the program finddel byVallentin.
Finding adjacent Delaunays
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
24/46
Finding adjacent Delaunays
Given a Delaunay polytope and a facet of it, there exist aunique adjacent Delaunay polytope.
We use an iterative procedure: Select a point outside the facet. Create the sphere around it. If there is no interior point finish, otherwise rerun with this
point.
Finding Delaunay decomposition
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
25/46
Finding Delaunay decomposition
Find the isometry group of the lattice (program autom byPlesken & Souvignier).
Find an initial Delaunay polytope and insert into list of orbitsas undone.
Iterate Find the orbit of facets of undone Delaunay polytopes with the
Recursive Adjacency Decomposition method. For every facet, find the adjacent Delaunay polytope. For every Delaunay test if they are isomorphic to existing ones.
If not insert them to the list as undone. Finish when every orbit is done.
Lifted Delaunay decomposition
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
26/46
Lifted Delaunay decomposition
The Delaunay polytopes of a lattice L correspond to the
facets of the convex cone C(L) with vertex-set:{(x, ||x||2) with x L} Rd+1 .
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
27/46
II. The Isomorphismand automorphism
problems(book of tricks)
Automorphism groups
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
28/46
Automorphism groups
A Delaunay polytope P has two automorphism groups
The groupIsom
(P
) of isometries preserving the Delaunay. The group Aut(P) of lattice automorphism preserving theDelaunay.
Aut(P) Isom(P). If L(P)
= L then a priori Isom(P)
= Aut(P).
Method 1 We consider centers c = (c1, . . . , cn) Rn withci [0, 1[.
Aut(P) = Stabilizer(GRP, c, ActionMod1)
The trouble is that matrix actions are not easy: the aboveoperation generates the full orbit.
Isom(P) is easy to get, consider the edge colored graph on thevertex-set of P with edge colors vi vj and use nauty.
Method 2 Iterated stabilizer method
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
29/46
Method 2 Iterated stabilizer method
Compute the center c = (c1, . . . , cn) and denote D thesmallest integer such that Dc
Zn.
For every divisor D of D, we can reduce the center modulo1D , the action is now modulo
1D .
Denote the stabilizer StabD of this action. Then Stab(c) is asubgroup of StabD(c).
The strategy is now to consider a series of divisors
D = D1 > D2 > > Dp = 1
and an associated series of stabilizers
StabD1 (c) StabD2 (c) StabDp(c)
StabDi is computed from StabDi1 ; orbit size is|StabDi1 |/|StabDi|.
Some strategies
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
30/46
Some strategies
The computation of Isom(P) is almost always relatively easy, thenwe can:
Method 3 Compute the intersection
Aut(P) = Isom(P)
Aut(L)
Well suited if Aut(P) is a group of small index in Isom(P).
Method 4 Iterate over all elements of Isom(P), and select theones which correspond to a matrix with integral coefficients.This yields Aut(P).This strategy is well suited if Isom(P) is small (say, 10000elements)
Method 6 Autom/Isom method
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
31/46
Method 6 Autom/Isom method
The program autom by Plesken & Souvignier can compute thegroup of matrices P GLn(Z) satisfying
PMitP = Mi
with Mi some symmetric positive definite matrices.
Given a Gram matrix M Sn>0 of the lattice and a center c of
a Delaunay, form the matrix
A(c) = cMct + 1 cM
Mct
M and B =
1 0
0 0
The group Aut(P) is the automorphism group of the family(A(c), B) with A(c) Sn+1
>0 and B Sn+1.
The 23 method
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
32/46
23
The shells of 23 are: 4600 vectors of norm 3 (1 orbit) defining a sublattice O23 of
index 2 94208 vectors of norm 15/4 (1 orbit) spanning 23 93150 vectors of norm 4 (1 orbit) spanning 23
So Method 6 cannot be used due to the too large size ofinvariant base.
O23 has a manageable invariant base; theautomorphism/isomorphism problem is manageable for it.Also it has the property
Aut(O23) = Aut(
23) Strategy for computing stabilizer of a Delaunay D under
Aut(23) is: Compute the stabilizer under Aut(O23) If t
23
O23 then test isomorphism of D and D + t.
Crystallographic group case
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
33/46
y g p g p
Suppose now that the point set is no longer a lattice and that thesymmetry group is crystallographic.
All the polyhedral methods explained above appliesunchanged.
The problem is with the isomorphism tests Method 1 is no longer usable. Method 2 goes just as well Method 3 is still usable but less powerful because less control
over the occurring fractions.
Method 4 is just as well usable. Method 6 does not work now.
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
34/46
II. Large scale
examples
The O23/23 lattices
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
35/46
/ 23
We use Method 6 for isomorphism/Automorphism in O23 We respawn Delaunay computation every time we have more
than 80 vertices.Nr. |V| Aut
1 94208 846108426240002 24 13203 24 1320
4 32 13445 24 10200960
(work in progress) 23 has the following features: An incredible variety of Delaunay polytopes, 485000 in earliest
account with 19000 orbits treated. Most Delaunays have low number of vertices, their dual
description is easy. Most Delaunay have trivial or small stabilizer, Method 4 is
perfect. Otherwise, use O23 for such decisions. Only the MD5 invariants are stored in memory, all the rest is
on disk.
Cut lattices
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
36/46
The cut polytope CUTn is a famous polytope appearing incombinatorial optimization.
It has 2n1 vertices, dimension n(n1)2 and| Aut(CUTn)| = 2n1n!.
The Z-span of CUTn is a lattice L(CUTn) for which CUTn is
one of its Delone polytopes. Delaunay of CUTn:
lattice dimension # orbit covering density
L(CUT3) 3 2 2.09439
L(CUT4) 6 4 5.16771L(CUT5) 10 12 40.80262L(CUT6) 15 112 255.4255
Laminated lattices
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
37/46
A n-dimensional lamination over a (n 1)-dimensional latticeL is one obtained by staking layers of lattice L.
A laminated lattice is the one of highest density stacked overlower dimensional laminated lattices.
lattice # orbits # orbits9 5 9 910 7 10 21
max11 11 max11 18min11 18
min11 153
max12 5 max12 8
mid12 23 mid12 52
min12 13 min12 78
max13 18 max13 57
mid13
46 mid13
125min13 129
min13 5683
14 65 14 139215 27 15 10816 4 1617 28 17 720
The Coxeter lattices An,r
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
38/46
Context: The best way to determine the covering density of alattice is to compute its Delaunay polytopes. The Coxeter
lattices are good candidates. The lattice An is defined as
An = {x Zn+1 such that
xi = 0}
If r divides n + 1, then writes q = n+1r
and define the latticeArn by
Arn = Anvn,r + An . . .(r 1)vn,r + Anwith
vn,r =1
r
n+1i=1
ei q
i=1
ei
The dual of Arn
is Aqn. Also A3
8= E
8, A2
7= E
7.
Specificity of Coxeter lattices
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
39/46
If n 9, then the automorphism of Arn is Z2 Sym(n + 1)encoded on n + 3 points.
The lattice A221 has 21 orbits of Delaunay polytopes, one orbit
is formed of Delaunay polytopes with 40698 vertices. Every face of a Delaunay is encoded by its barycenter, thus we
do not need permutation representations on huge number ofvertices.
The heuristic is to respawn the ADM whenever the number ofvertices is greater than 70. This makes sometimes 16 levels ofrecursion.
lattice # orbits
A213 10 A314 17A215 10 A
317 26
A217 15 A320 40
A219 15 A323 55
A221 21 A326 75
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
40/46
VI. Second
moment
Second moment of a lattice
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
41/46
We want to compute
Q(L) =
DV(L)
x2dx
This is called quantization error and is used in information
theory. In fact the true integral we need is the symmetric
(n + 1) (n + 1) matrix
I2(DV(L)) = DV(L)
(1, x)(1, x)Tdx
If one is satisfied with approximate results, then Monte Carlomethods are to be preferred.
Decomposition method
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
42/46
All methods for computing integrals over a polytope P rely ondecomposing it into an union (signed or not) of simplices.
B. Bueler B., A. Enge and K. Fukuda, Exact VolumeComputation for Polytopes: a Practical Study,Polytopescombinatorics and computation (Oberwolfach,1997), 131154, DMV Sem., 29, Birkhauser, Basel, 2000.
Two methods are used by us: lrs can return a simplicial decomposition if one computes the
facets from the vertices. If one takes a random quadratic form and computes a
Delaunay decomposition for it then most Delaunays aresimplices. The remaining can be decomposed by furtherapplication of the method.
Lassere decomposition method
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
43/46
Suppose we have a n-dimensional polytope P and a group Gacting on it by isometries.
Compute the orbits of facets F1, . . . , Fs of size n1, . . . , ns Compute the isobarycenter Iso(P) of the vertices of P.
One has the formulas.
vol(conv(Fi, Iso(P))) =1
n
vol(Fi)
d(Fi, Iso(P))vol(P) =
si=1 nivol(conv(Fi, Iso(P)))
We can express the integral I2(conv(Fi, Iso(P))) in terms ofI2(Fi) the isobarycenter of Fi and its volume.
The formula I2(P) is then
I2(P) =s
i=1
ni1
|G|gG
gI2(conv(Fi, Iso(P)))gT
Averaging operation
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
44/46
If G is a group generated by g1, . . . , gs acting on Rn, x a
vector, we want to compute the barycenter of the orbit Gx:
Iso(x) = 1|G|gG
gx
but we dont want to compute the orbit itself.
Denote by Mov(G) the smallest subspace ofRn invariantunder G containing the vectors gix x for 1 i s.
Take a basis v1, . . . , vm of Mov(G) and write g(x) as
g(x) = x +m
i=1
ivi
The system
gi(Iso(x)) = Iso(x) for 1 i s
has a unique solution.
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
45/46
-
8/3/2019 Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices
46/46
THANK
YOU