Mathieu Dutour Sikiric, Achill Schuermann and Frank Vallentin- Computing Delaunay polytopes of lattices

Embed Size (px)

Citation preview

  • 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