:

E8 sphere packing

Maple

According to Sphere Packing Solved in Higher Dimensions, the best way, i.e., most compact way, to pack spheres in dimensions 8 and 24 are done with the E8 lattice and Leech lattice, respectively. According to the Wikipedia article Leech lattice, the number of spheres that can be packed around any one sphere is 240 and 196,560 (!), respectively, the latter number of spheres counter-intuitively large. It inspired me to try to check that there is indeed room in these lattices for (at least) this number of spheres.

Starting with the E8 lattice: It is generated by the sum (over the integers) of all the 240 roots of E8. Following the prescription given in the subsection 'Construction' in the Wikipedia article E8 (mathematics), these roots may be constructed as follows:

`ROOTS := map(x -> Vector(x),[   # Coordinates all integers: 112 roots   combinat[permute]([+1,+1,0,0,0,0,0,0])[],   combinat[permute]([+1,-1,0,0,0,0,0,0])[],   combinat[permute]([-1,-1,0,0,0,0,0,0])[],   # Coordinates all half-integers: 128 roots   seq(combinat[permute]([      (+1/2)\$(  2*n),   # Even number of +1/2      (-1/2)\$(8-2*n)    # Even number of -1/2   ])[],n = 0..4)]):`

This Maple code gives a list of 240 eight-dimensional vectors. All these roots have the same length (the lattice thus being simply laced):

`convert(map(x -> Norm(x,2),ROOTS),set)[];`

If the distance between any pair of different roots is at least this length, then there will be room for 240 spheres of radius equal to this length around any one single sphere. And that is indeed the case:

`DIST_ROOTS := Matrix(nops(ROOTS)\$2,(i,j) ->   Norm(ROOTS[i] - ROOTS[j],2),shape = symmetric):min(convert(DIST_ROOTS,set) minus {0});`

Using the above method for the Leech lattice will fail on grounds of hopeless performance, not the least because DIST_ROOTS will take ages to calculate, if at all possible. So any reader is welcome to weigh in with ideas on how to check the Leech lattice case.

PS: By the way, I was surprised to find that the three exceptional Lie algebras E6, E7, and E8 are seemingly not accessible through the Maple command SimpleLieAlgebraData, see its help page. Only the four infinite families A,B,C,D, as well as the two exceptional Lie algebras G2 and F4 are. Using Maple 17, I would like to know if that has been changed in Maple 17+, and if not, why not.

﻿