1 Introduction
For
$n\geq 1$
, we denote by
$\mathcal {L}_n$
the set of unimodular integral lattices in the standard Euclidean space
${\mathbb {R}}^n$
, and by
$\mathrm {X}_n$
the set of isometry classes of elements of
$\mathcal {L}_n$
. In the recent work [Reference Chenevier6], the second author studied the cyclic Kneser neighbors of the standard lattice
$\mathrm {I}_n:={\mathbb {Z}}^n$
and classified the elements of
$\mathrm { X}_n$
for
$n=26$
and
$27$
, developing a method initiated by Bacher and Venkov [Reference Bacher2, Reference Bacher, Venkov and Martinet3]. Let
$\mathrm {X}_n^\emptyset \subset \mathrm {X}_n$
be the subset of classes of lattices
$L \in \mathcal {L}_n$
with no nonzero vector
$v \in L$
such that
$v.v \leq 2$
. The main result of this paper is the following.
Theorem 1.1. We have
$|\mathrm {X}_{28}|=374062$
and
$|\mathrm {X}^\emptyset _{29}|=10092$
.
We refer to Chapters 16 to 18 in [Reference Conway and Sloane7], and to [Reference Chenevier6], for some historical background on these questions, especially in lower dimensions. Recall that King’s refinements of the Minkowski-Siegel-Smith mass formulae in [Reference King10] gave the (not too far!) lower bounds
$|\mathrm {X}_{28}|> 327972$
and
$|\mathrm { X}_{29}^\emptyset |> 8911$
. The
$38$
lattices in
$\mathrm {X}_{28}^\emptyset $
had already been determined by Bacher and Venkov in [Reference Bacher, Venkov and Martinet3]. As we have
$|\mathrm {X}_{27}|=17059$
, the assertion about
$|\mathrm {X}_{28}|$
is also equivalent to
$|\mathrm {X}^{\prime }_{28}|=357003$
, where
$\mathrm {X}^{\prime }_n \subset \mathrm {X}_n$
denotes the subset consisting of classes of lattices with no norm
$1$
vectors. Similarly, it follows from our determination of
$|\mathrm { X}^\emptyset _{29}|$
that there are exactly
$10130$
classes of lattices in
$\mathrm {X}_{29}$
with no root (i.e., no vector of norm
$2$
).
As in [Reference Chenevier6], our aim is not only to determine
$\mathrm {X}_{28}$
and
$\mathrm { X}^\emptyset _{29}$
but also to provide representatives of each isometry class as a (cyclic) d-neighbor of the standard lattice
$\mathrm {I}_n:={\mathbb {Z}}^n$
. We briefly recall their concrete definition and refer to loc. cit. for more details. Let
$d\geq 1$
and
$x \in {\mathbb {Z}}^n$
with
$\mathrm { gcd}(d,x_1,\dots ,x_n)=1$
. Then
$\mathrm {M}_d(x) :=\{ v \in {\mathbb {Z}}^n\,\,|\,\,\sum _{i=1}^n v_i x_i \equiv 0 \bmod d\}$
is an index d sublattice of
$\mathrm {I}_n$
. Setting
$e=1$
for d odd,
$e=2$
otherwise, and assuming furthermore x is d-isotropic – that is
$\sum _{i=1}^n x_i^2 \equiv 0 \bmod ed$
– then there are exactly e unimodular lattices
$L \in \mathcal {L}_n$
with
$L \cap \mathrm {I}_n = \mathrm {M}_d(x)$
; they have the form

where
$x' \in {\mathbb {Z}}^n$
satisfies
$x'.x' \equiv 0 \bmod d^2$
and
$x' \equiv x \bmod d$
. For d odd, this unique lattice is denoted
$\mathrm {N}_d(x)$
or
$\mathrm {N}_d(x; 0)$
. For d even, it only depends on the
$\epsilon \in \{ 0,1\}$
defined by
$2 x'.x \equiv x.x + \epsilon d^2 \bmod 2d^2$
, and is denoted
$\mathrm {N}_d(x; \epsilon )$
.
Theorem 1.2. A list of
$(d,x,\epsilon )$
such that the
$\mathrm {N}_d(x; \epsilon )$
are representatives for the isometry classes in
$\mathrm {X}^{\prime }_{28}$
and
$\mathrm {X}_{29}^\emptyset $
are given in [Reference Allombert and Chenevier1].
As we shall explain later in this introduction, we will also provide algorithms allowing to directly check with a computer that those lists are complete. Let us first comment on these lists, starting with the
$10092$
elements in
$\mathrm {X}_{29}^\emptyset $
. The statistics for the order of their isometry groups are given in Table 1. In particular, about
$80$
% of them have trivial isometry group
$\{ \pm 1\}$
.
Table 1 Number
$\#$
of classes of lattices L in
$\mathrm {X}_{29}^\emptyset $
with
$|\mathrm { O}(L)|=\texttt {ord}$

Arguing as in [Reference Chenevier6, Sect. 12] (in particular, using [9]), we checked that only two of these
$10092$
lattices have a non-solvable isometry group.Footnote 1 This is very little compared to case of lower dimensions (see loc. cit.). Their isometry groups have order
$2400$
and
$960$
, and are respectively isomorphic to
${\mathbb {Z}}/2 \times \mathrm {S}_5 \times \mathrm {D}_{10}$
and
${\mathbb {Z}}/2 \times {\mathbb {Z}}/4 \times \mathrm {S}_5$
. These two lattices are furthermore exceptional in the sense of Bacher and Venkov (i.e., have a characteristic vector of norm
$5$
) (see §2 for the unexplained terminology in this introduction). Actually, exactly
$105$
lattices in
$\mathrm {X}_{29}$
are exceptional, and the statistics for the order of their isometry groups are given by Table 2.
We now consider the
$357003$
rank
$28$
unimodular lattices with no norm
$1$
vectors. According to King, there are
$4722$
possible root systems for them: see [Reference Chenevier6] Table 1.2. The actual number of classes in
$\mathrm {X}^{\prime }_{28}$
whose root system has a given rank is given in Table 3.
Table 2 Number
$\#$
of exceptional lattices L in
$\mathrm {X}_{29}^\emptyset $
with
$\texttt {ord}=|\mathrm {O}(L)|$

Table 3 Number
$\#$
of classes in
$\mathrm {X}^{\prime }_{28}$
whose root system has rank
$\texttt {rk}$

We also found it convenientFootnote 2 to split these lattices L according to the integer
$\mathrm {i}(L)$
defined as the maximal integer
$i\geq 1$
such that the root lattice
$\mathrm {A}_{i-1}$
may be embeded into L: see Table 4. For instance, we have
$\mathrm {i}(L)=1$
(resp.
$2$
,
$3$
) if, and only if, the root system of L is empty (resp.
$r \mathbf {A}_1$
, resp.
$r\mathbf {A}_2\, \, s \mathbf {A}_1$
with
$r\geq 1$
).
Table 4 Number
$\#$
of lattices L in
$\mathrm {X}^{\prime }_{28}$
with
$\texttt {i}=\mathrm { i}(L)$

Only
$238$
of the
$357003$
lattices in
$\mathrm {X}^{\prime }_{28}$
have a non-solvable reduced isometry group (see §2 below). Four of them have a Jordan-Hölder factor not appearing for unimodular lattices of smaller rank. Those four lattices have an empty root system, and thus belong the Bacher-Venkov list; their isometry groups are described in Table 5.
Table 5 The isometry groups G of the
$4$
lattices in
$\mathrm {X}^{\prime }_{28}$
whose reduced isometry group has a ‘new’ Jordan-Hölder factor, using GAP’s notations

We finally discuss the proofs of Theorems 1.1 and 1.2. The basic ingredients are similar to those described in the introduction of [Reference Chenevier6]: systematic study of all the cyclic Kneser d-neighbors of
$\mathrm {I}_n$
for
$d=2, 3, ...$
(in the spirit of the ‘coupon-collector’ problem), bet on fine enough isometry invariants, splitting according to root systems thanks to King’s results [Reference King10], use of clever visible root systems to bias the search, and case-by-case more specific methods for the remaining lattices with small masses (suitable
$2$
-neighbors, exceptional lattices, ‘addition of
$\mathrm {D}_m$
’, visible isometries).
However, compared to the work loc. cit., the computations here are of a much larger scale, as the number of lattices in Theorem 1.1 already indicates. There are in particular
$4722$
different root systems R such that
$\mathrm {X}_{28}^R$
is nonempty, and during our search, we were forced to study several hundreds of them case by case. In the last Section 6, we give five examples of such a study (including
$R=\emptyset $
in dimension
$29$
) in order to illustrate some techniques that we used. Beyond this difference of scale, let us insist now on a few important novelties that made the computations of this paper possible.
1. The choice of invariant. It is crucial for our method to have at our disposal an invariant which is both fine enough to distinguish all of our lattices, and fast to compute. For a lattice L and
$i\geq 0$
, we set

Unimodular lattices of rank
$\leq 29$
tend to be generated over
${\mathbb {Z}}$
by their
$\mathrm {R}_{\leq 3}$
, which is thus a natural candidate for an invariant. However, we are not aware of any classification of finite metric sets of the form
$\mathrm {R}_{\leq 3}(L)$
or
$\mathrm {R}_3(L)$
, contrary to the case of
$\mathrm {R}_{\leq 2}(L)$
(which is the theory of root systems). In §3, we define, for an integral lattice L, an invariant that we denote
$\mathrm {BV}(L)$
and which only depends on
$\mathrm {R}_{\leq 3}(L)$
. It is a variant of one of the invariants used by Bacher and Venkov in their classification of
$\mathrm {X}_{28}^\emptyset $
and
$\mathrm {X}_{27}^\emptyset $
– hence the notation. It proved much more efficient than those used in [Reference Chenevier6]. Indeed, a surprising fact, which eventually follows from our computations, but for which we do not yet have a theoretical explanation, is the following.
Theorem 1.3. Let L and
$L'$
be two rank n unimodular lattices with
$\mathrm {r}_1(L)=\mathrm {r}_1(L')=0$
. Assume either
$n\leq 28$
, or
$n=29$
and
$\mathrm {r}_2(L)=\mathrm {r}_2(L')=0$
. Then L and
$L'$
are isometric if, and only if, we have
$\mathrm {BV}(L)=\mathrm {BV}(L')$
.
In particular, L and
$L'$
are isometric if, and only if,
$\mathrm {R}_{\leq 3}(L)$
and
$\mathrm {R}_{\leq 3}(L')$
are isometric.
2. Algorithmic improvements. In §4, we discuss a simple probabilistic algorithm whose aim is to find a
${\mathbb {Z}}$
-basis consisting of small vectors of a given lattice, and which allowed to substantially shorten the computation of the order of the (reduced) isometry groups of our lattices. In §5, we give some details about the Biased Neighbor Enumeration algorithm informally described in [Reference Chenevier6, §1.10] and that we repeatedly used in our search.
The programs used to perform the computations were written in the GP language with some critical parts in C using the libpari library. They were run on the two clusters PlaFRIM and Cinaps. We used the parallel programming interface of GP to make efficient use of the clusters, by allowing to switch between POSIX threads and MPI depending on the hardware available.
The total CPU time was about
$72$
years. Fortunately, it may be checked independently, and a posteriori, that the given lists are complete: it is enough to verify that our lattices have distinct
$\mathrm {BV}$
invariants and that the sum of their masses, in dimensions
$28$
and
$29$
, coincides with the masses of
$\mathrm {X}^{\prime }_{28}$
and
$\mathrm { X}^\emptyset _{29}$
respectively. By [Reference King10], the mass of
$\mathrm {X}^\emptyset _{29}$
is 49612728929/11136000, and by [Reference Conway and Sloane7, Chap. 16 §2], that of
$\mathrm {X}^{\prime }_{28}$
is the rational number

See [Reference Allombert and Chenevier1] for the relevant PARI/GP source code for checking our lists are complete. This is much shorter, and ‘only’ requires a few hours in dimension
$29$
, and about two weeks in dimension
$28$
.Footnote 3 It simultaneously proves Theorems 1.1, 1.2 and 1.3.Footnote 4
2 Notation and terminology
We use mostly classical notation and terminology. Let L be an integral Euclidean lattice. The (finite) isometry group of L is denoted by
$\mathrm {O}(L)$
. The notations
$\mathrm {R}_{\leq i}(L)$
,
$\mathrm {R}_i(L)$
and
$\mathrm {r}_i(L)$
have been introduced in Formula (1.2). We refer, for example, to [Reference Chenevier6] §2, §4.3 and §9 for complements.
-
– The norm of a vector
$v \in L$ is
$v.v$ . The lattice L is even if we have
$v.v \in 2{\mathbb {Z}}$ for all
$v \in L$ , odd otherwise. A characteristic vector of L is a vector
$\xi \in L$ such that
$\xi .v \equiv v.v \bmod 2$ for all
$v \in L$ . For
$L \in \mathcal {L}_n$ odd, the norm of such a vector is
$\equiv n \bmod 8$ , and we denote by
$\mathrm {Exc}(L)$ the set of characteristic vectors of L of norm
$<8$ . Following [Reference Bacher, Venkov and Martinet3] §3, a lattice
$L \in \mathcal {L}_n$ is called exceptional if we have
$\mathrm {Exc}(L) \neq \emptyset $ .
-
– The root system of L is the finite metric set
$R:=\mathrm {R}_2(L)$ ; this is an
$\mathrm { ADE}$ root system.Footnote 5 The Weyl group of L is the subgroup
$\mathrm {W}(L) \subset \mathrm {O}(L)$ generated by the orthogonal symetries about each
$\alpha \in \mathrm {R}_2(L)$ . This is a normal subgroup isomorphic to the classical Weyl group
$\mathrm {W}(R)$ of R. We define the reduced isometry group of L to be
$\mathrm {O}(L)/\mathrm {W}(L)$ .
-
– For an arbitrary
$\mathrm {ADE}$ root system S, we denote by
$\mathrm {Q}(S)$ the even lattice it generates (root lattices). We use bold fonts
$\mathbf {A}_n$ ,
$\mathbf {D}_n$ ,
$\mathbf {E}_n$ to denote isomorphism classes of root systems of that names, with the conventions
$\mathbf {A}_0=\mathbf {D}_0=\mathbf { D}_1=\emptyset $ and
$\mathbf {D}_2= 2\mathbf {A}_1$ . We also denote by
$\mathrm {A}_n$ (
$n\geq 1$ ),
$\mathrm {D}_n$ (
$n\geq 2$ ) and
$\mathrm {E}_n$ (
$n=6,7,8$ ) the standard corresponding root lattices.
-
– The mass of any collection
$\mathcal {L}$ of lattices, denoted
$\mathrm {mass} \,\mathcal {L}$ , is defined as the sum, over representatives
$L_i$ of the isometry classes of lattices in
$\mathcal {L}$ , of
$1/|\mathrm {O}(L_i)|$ . In particular, if L is a (single) integral euclidean lattice, the mass of L is
$1/|\mathrm {O}(L)|$ . We also define the reduced mass of L as
$\frac {|\mathrm {W}(L)|}{|\mathrm {O}(L)|}$ .
-
– We denote by
$\mathrm {X}_n^R \subset \mathrm {X}_n$ the subset of isometry classes of lattices L in
$\mathcal {L}_n$ with
$\mathrm {r}_1(L)=0$ and
$\mathrm {R}_2(L) \simeq R$ . The reduced mass of
$\mathrm {X}_n^R$ is also defined as
$\mathrm {rmass} \,\mathrm {X}_n^R \,:=\,|\mathrm {W}(R)|\, \mathrm { mass}\,\mathrm {X}_n^R$ . We have the interesting lower bound
$|\mathrm {X}_n^R| \geq m\, \mathrm {rmass}\,\mathrm {X}_n^R$ , with
$m=1$ if R has rank n and
$\mathrm {W}(R)$ contains
$-1$ , and
$m=2$ otherwise. It follows from [Reference King10] that, for all
$n\leq 30$ and all R, we know the rational
$\mathrm {rmass}\,\,\mathrm {X}_n^R$ (see also [Reference Chenevier6, §6]).
-
– A subgroup M of a lattice L is saturated if the quotient group
$L/M$ is torsion free, or equivalently, if M is a direct summand of L as a
${\mathbb {Z}}$ -module.
-
– We finally recall a few specific features of unimodular lattices in dimension
$n \equiv 4 \bmod 8$ (such as
$n=28$ ), as well as the description of exceptional lattices in this case given in [Reference Chenevier6, §9]. Assume
$n \equiv 4 \bmod 8$ and
$L\in \mathcal {L}_n$ . As is well-known, there are exactly two other
$L'$ in
$\mathcal {L}_n$ having the same even part;Footnote 6 we call these two
$L'$ the companions of L. Assume
$\mathrm {r}_1(L)=0$ . Then L is exceptional if, and only if, it has a companion
$L'$ with
$\mathrm { r}_1(L') \neq 0$ . In this case, this
$L'$ is unique: we call it the singular companion of L and denote it
$\mathrm { sing}(L)$ . The following proposition holds by Proposition 9.4 and Remark 9.5 loc. cit.
Proposition 2.1. Assume
$n \equiv 4 \bmod 8$
and denote by
$\mathcal {A}$
the set of isometry classes of exceptional L in
$\mathcal {L}_n$
with
$\mathrm {r}_1(L)=0$
, and by
$\mathcal {B}$
the set of isometry classes of nonexceptional L in
$\mathcal {L}_n$
with
$\mathrm { r}_1(L)\neq 0$
. Then we have a natural bijection
$\mathcal {A} \rightarrow \mathcal {B}, [L] \mapsto [\mathrm {sing}(L)]$
. Moreover, for
$L \in \mathcal {A}$
and
$L':=\mathrm {sing}(L)$
, we have
$|\mathrm {Exc}(L)|=\mathrm {r}_1(L')$
,
$\mathrm {R}_2(L)=\mathrm {R}_2(L')$
and
$|\mathrm {O}(L')|\,=\,2 |\mathrm { O}(L)|$
.
In particular, we always have
$|\mathrm {Exc}(L)|=2m$
with
$0 \leq m\leq n$
for
$L \in \mathcal {L}_n$
.
3 The invariant
$\mathrm {BV}$
Let G be an arbitrary finite graph with set of vertices V. Let A be the adjacency matrix of G, a
$V \times V$
matrix.Footnote 7 Consider the square
$S:=A^2$
of A, say
$S=(s_{u,v})_{(u,v) \in V \times V}$
. For
$v \in V$
, we define

as the multiset of entries of the column v of the matrix S. In other words,
$\mathrm {C}(G;v)$
is the multiset of numbers of length
$2$
paths in G starting at v and ending at another given vertex.
Definition 3.1. Let G be a graph with finite set of vertices V. For
$v \in V$
, we define
$\mathrm {BV}(G)$
as the multiset
$\{\{ \mathrm {C}(G;v)\, |\, v \in V\}\}$
. This is a multiset of multisets of integers, and it is an invariant of the isomorphism class of G.
Assume now L is an Euclidean integral lattice. For
$i\geq 0$
, we view the finite set
$\mathrm {R}_{\leq i}(L)=\{ v \in L\, \, |\, \, v.v \leq i\}$
as a metric set (or better, as an Euclidean set as in [Reference Chenevier6, §4.1]). We denote byFootnote 8
$\mathrm {G}(L)$
the undirected graph whose vertices are the nonzero pairs
$\{\pm v\}$
with
$v \in \mathrm {R}_{\leq 3}(L)$
, and with an arrow between
$\{ \pm v\}$
and
$\{\pm w\}$
if, and only if,
$v.w \equiv 1 \bmod 2$
.
Definition 3.2. If L is an Euclidean integral lattice, we define
$\mathrm {BV}(L)$
as the multiset of multisets of integers
$\mathrm {BV}(\mathrm {G}(L))$
.
By construction,
$\mathrm {BV}(L)$
is an invariant of the isometry class of
$\mathrm {R}_{\leq 3}(L)$
, and hence of L. We choose the notations
$\mathrm {BV}$
for Bacher-Venkov, as this definition is inspired from some polynomial invariants defined in [Reference Bacher, Venkov and Martinet3] (see Remark 3.3).
Remark 3.3 (The Bacher-Venkov polynomials)
Assume we are in the special case
$\mathrm {R}_{\leq 2}(L)=\emptyset $
. If we choose distinct
$\pm u$
and
$\pm v$
in
$\mathrm {R}_3(L)$
, we have either
$u.v=0$
or
$u.v = \pm 1$
, as
$u.v=2$
implies
$u-v \in \mathrm {R}_2(L)$
. For
$v\in \mathrm {R}_3(L)$
, Bacher and Venkov define in [Reference Bacher, Venkov and Martinet3, p.15] the polynomial
$\mathrm {m}_v(x)$
as the sum, over all
$w \in \mathrm {R}_3(L)$
with
$w.v=1$
, of
$x^{\mathrm {n}(v,w)}$
, with
$\mathrm {n}(v,w)=| \{ \xi \in \mathrm {R}_3(L)\, |\, v.\xi =w.\xi =-1\}|$
. If, in this definition of
$\mathrm {m}_v(x)$
, we rather sum over all
$w \in \mathrm {R}_3(L)$
, the obtained polynomial contains the same information as the multiset
$\mathrm {C}(\mathrm {G}(L); v)$
.
We now give a few information about the graph
$\mathrm {G}(L)$
for
$L \in \mathcal {L}_{n}$
with
$\mathrm {r}_1(L)=0$
and
$n=28,29$
. Its number of vertices is
$\frac {1}{2}(\mathrm {r}_2(L)+\mathrm { r}_3(L))$
, and we know from [Reference King10] the possibilities for
$\mathrm {R}_2(L)$
.
(a) (The case
$n=28$
) A theta series computation shows
$\mathrm {r}_3(L)\,=\,2240\,+\, 8 \,\mathrm { r}_2(L) -\,256\,|\mathrm {Exc}(L)|$
(see [Reference Bacher, Venkov and Martinet3, §4] and [Reference Chenevier6, Prop. 4.8]). Here,
$|\mathrm {Exc}(L)|$
is the number of characteristic vectors of norm
$4$
of L; it satisfies
$0 \leq |\mathrm {Exc}(L)| \leq 56$
. We refer to Proposition 2.1 for this inequality, and to Section 2 for the notion of singular companion used in the following example.
Example 3.4 (The case
$\mathrm {r}_3=0$
)
There are exactly
$15$
classes of lattices
$L \in \mathcal {L}_{28}$
with
$\mathrm {r}_1(L)=\mathrm {r}_3(L)=0$
. Indeed, the formula above for
$\mathrm {r}_3(L)$
shows
$|\mathrm {Exc}(L)|\geq 10$
(in particular, L is exceptional). Let
$L'$
denote the singular companion of L, say
$L' \simeq \mathrm {I}_m \perp U$
with U unimodular of rank
$28-m$
with
$\mathrm {r}_1(U)=0$
and
$2m=|\mathrm {Exc}(L)|$
. We have
$\mathrm {r}_3(L)=0$
if and only if
$\mathrm {r}_2(U)\,=2\,m\,(33-m)-280$
. We easily conclude using the classification of unimodular lattices of rank
$\leq 23$
. The extreme cases are
$L'=\mathrm {I}_{28}$
(
$m=28$
, for which
$L= \mathrm {D}_{28} \,+\, {\mathbb {Z}} \frac {1}{2}(1,1,\dots ,1)$
) and
$L' = \mathrm {I}_5 \perp U$
with U the short Leech lattice (
$m=5$
). These
$15$
lattices have different root systems – namely,
$\mathbf {D}_{28}$
,
$\mathbf {D}_{20}\,\mathbf {E}_{8}$
,
$\mathbf {D}_{12}\,\mathbf {D}_{16}$
,
$\mathbf {D}_{14} \,2\mathbf {E}_{7}$
,
$\mathbf {A}_{15}\,\mathbf {D}_{13}$
,
$\mathbf {D}_{12}\,2\mathbf { D}_{8}$
,
$\mathbf {A}_{11}\,\mathbf { D}_{11}\,\mathbf {E}_{6}$
,
$\mathbf {D}_{10}\, 3\mathbf {D}_{6}$
,
$2\mathbf {A}_{9}\,\mathbf { D}_{10}$
,
$2\mathbf {A}_{7}\,\mathbf {D}_{5}\,\mathbf {D}_{9}$
,
$5\mathbf {D}_{4}\,\mathbf {D}_{8}$
,
$4\mathbf {A}_{5}\,\mathbf {D}_{8}$
,
$7\mathbf {A}_{3}\,\mathbf {D}_{7}$
,
$22\mathbf {A}_{1}\mathbf { D}_{6}$
and
$\mathbf {D}_{5}$
.
As an indication, it follows from our final computations that
$\mathrm {G}(L)$
has between
$20$
and
$3388$
vertices, and
$1318$
in average, for
$L \in \mathcal {L}_{28}$
with
$\mathrm {r}_1(L)=0$
. Better, for
$97$
% of these lattices this number lies in
$[1000, 1600[$
, as shown by Table 6.
Table 6 The number
$\#$
of
$L \in \mathrm {X}_{28}$
with
$\mathrm {r}_1(L)=0$
such that the number of vertices of
$\mathrm {G}(L)$
lies in the interval
$[N, N+200[$

The average number of edges of those graphs is
$\simeq 470\,000$
. Another interesting propertyFootnote 9 is that
$\mathrm {R}_{\leq 3}(L)$
does generate L over
${\mathbb {Z}}$
for most lattices, as indicated by Table 7. For example, the only lattice such that
$\mathrm {R}_{\leq 3}(L)$
does not generate a finite index subgroup of L is the exceptional lattice with companion
$\mathrm {I}_5 \perp U$
, with
$U \in \mathrm {X}_{23}^\emptyset $
the Odd Leech lattice (already encountered in Example 3.4).
(b) (The case
$n=29$
) For L in
$\mathcal {L}_{29}$
with
$\mathrm {r}_1(L)=\mathrm {r}_2(L)=0$
, a theta series computation shows
$\mathrm {r}_3(L)\,=\,1856\,-\,128\, |\mathrm {Exc}(L)|$
, where
$\mathrm { Exc}(L)$
is the number of characteristic vectors of norm
$5$
in L. It is a fact, that we shall not explain here, that we always have
$|\mathrm {Exc}(L)| \leq 2$
. So we have either
$\frac {1}{2}\mathrm { r}_3(L)=928$
in the nonexceptional case, and
$\frac {1}{2}\mathrm {r}_3(L)=800$
otherwise. The situation here is thus much more uniform than in the case
$n=28$
. Also, the graph
$\mathrm {G}(L)$
turns out to have
$259\,840$
edges in the nonexceptional case, and
$198\,400$
otherwise, and in all cases,
$\mathrm {R}_3(L)$
does generate L over
${\mathbb {Z}}$
.
Some computational aspects of
$\mathrm {BV}$
. It is straightforward in principle to compute
$\mathrm {BV}(L)$
from a given Gram matrix M of the integral lattice L. Indeed, we can use the Fincke-Pohst algorithm to find a column matrix V whose raws are the
$\pm v$
with
$v \in L$
such that
$0<v.v \leq 3$
. The adjacency matrix A of
$\mathrm {G}(L)$
, which is symmetric and with coefficients
$0$
or
$1$
, is determined by
$A \equiv {}^{\mathrm {t}}V \,M \,V \bmod 2$
(a fast computation). More lengthy is then the computation of
$S=A^2$
, since the size of A is typically a thousand or more. To save time, this squaring is computed only modulo some large enough prime (we used
$1009$
), and is performed using only single-word arithmetic.Footnote 10 In practice, the slightly weaker invariant than
$\mathrm {BV}(L)$
consisting of the set (rather than multiset) of the multisets
$\mathrm {C}(\mathrm {G}(L); v)$
(with
$v \in V$
) proved equally strong, and this what we implemented in our computations. Finally, we apply a hash function to the resulting invariant to get a
$64$
bit identifier. This allows us not only to quickly discard lattices with already known identifiers, but also to store the list of known identifiers in a compact way. The choice of
$1009$
and of the hash function here is arbitrary; all that matters is that the resulting invariant is fine enough to distinguish all the lattices we consider, which can be only determined a posteriori.
Table 7 The number
$\#$
of
$L \in \mathrm {X}_{28}$
with
$\mathrm {r}_1(L)=0$
such that
$\mathrm { R}_{\leq 3}(L)$
generates a sublattice of index d in L

Here are a few CPU time information in our range:
-
– For each of the
$346\,299$ lattices
$L \in \mathrm {X}_{28}$ with
$\mathrm {r}_1(L)=0$ and such that the number of vertices of
$\mathrm {G}(L)$ is in
$[1000, 1600[$ , the average CPU time to compute
$\mathrm {BV}(L)$ is about 1.5 s. For the worst (and actually irrelevant!) case with
$3388$ vertices, the CPU time is approximately
$\texttt {35 s}$ .
-
– For each of the
$10092$ lattices
$L \in \mathrm {X}_{29}^\emptyset $ , the average CPU time to compute
$\mathrm {BV}(L)$ is about 1.2 s.
4 Finding
${\mathbb {Z}}$
-basis made of short vectors
An important ingredient in our computation is the Plesken-Souvignier algorithm [Reference Plesken and Souvignier12], which computes
$|\mathrm {O}(L)|$
from the Gram matrix of a given
${\mathbb {Z}}$
-basis
$e=(e_1,\dots ,e_n)$
of L. For this algorithm to be efficient (and not too memory consuming), it is crucial to have
$\mathrm { m}(e):=\mathrm {Max}\, \{ e_i.e_i\, \, |\, \, i=1,\dots ,n\}$
as small as possible, and also highly desirable to have
$|\{ 1 \leq i \leq n\,\, |\, e_i.e_i= \mathrm {m}(e)\}|$
small. The LLL algorithm, although very fast and useful, does not provide in general a
${\mathbb {Z}}$
-basis of L which is good enough in these respects.
Example 4.1. For our
$10092$
elements in
$\mathrm {X}_{29}^\emptyset $
, the
$\mathrm {LLL}$
algorithm produces for
$6570$
of them a basis e with
$\mathrm {m}(e)=4$
, for
$3512$
a basis with
$\mathrm {m}(e)=5$
, and in the
$10$
remaining cases a basis e with
$\mathrm {m}(e)=6$
. As already said, those lattices are actually generated over
${\mathbb {Z}}$
by their
$\mathrm {R}_{\leq 3}$
, and hence may (and actually do) have a
${\mathbb {Z}}$
-basis e with
$m(e)=3$
.
In order to search for better lattice bases, we used the following simple probabilistic algorithm. Its main function
$\texttt {reduce}$
takes as an input an integral Euclidean lattice L of rank d, an integer b, and another integer t (‘number of tries’). It returns either
$0$
(failure) or a basis e of L with
$\mathrm {m}(e)=b$
.
-
1. Compute the set S of vectors
$\pm v$ in L with
$0<v.v\leq b$ .
-
2. If S does not generate L over
${\mathbb {Z}}$ , return
$0$ .
-
3. Compute the set R of vectors
$\pm v$ in L with
$0<v.v \leq b-1$ .
-
4. Compute the rankFootnote 11 r of R and set
$k_0=\mathrm {Max}(1,d-r)$ .
-
5. For k from
$k_0$ to d, for i from
$1$ to t, do
-
5a. Choose k vectors
$e_1,\dots ,e_k$ randomly in S,
-
5b. Choose
$d-k$ vectors
$e_{k+1},\dots ,e_d$ randomly in R,
-
5c. If
$e_1,\dots ,e_d$ generates L over
${\mathbb {Z}}$ , return
$e_1,\dots ,e_d$ .
-
-
6. Return
$0$ .
For a given integral lattice L, we start with a
${\mathbb {Z}}$
-basis e given by the LLL algorithm, choose some t, and then apply
$\texttt {reduce}(L,b,t)$
successively to
$b=1,\dots ,\mathrm {m}(e)-1$
until it returns some
${\mathbb {Z}}$
-basis of L. If it fails, it means it did not beat the initial basis e given by LLL.
Remark 4.2. Step 2 and 5c of the function reduce amounts to checking that some determinant is
$\pm 1$
. To save time, we may first check that this holds modulo
$2$
or other primes.
Example 4.3. For each lattice L in
$\mathrm {X}_{29}^\emptyset $
, the
$\texttt {reduce}$
algorithm does find a
${\mathbb {Z}}$
-basis consisting of norm
$3$
vectors of L in about 93 ms (using
$t=1000$
is usually enough, and computing the set of norm
$3$
vectors already takes about 30 ms). Using those bases, the average time to determine
$|\mathrm {O}(L)|$
using the Plesken-Souvignier algorithmFootnote 12 is about 1.24 s.
We now discuss the
$357003$
rank
$28$
unimodular lattices with no norm
$1$
vectors. As already explained in Table 7,
$356462$
of them are generated over
${\mathbb {Z}}$
by their
$\mathrm {R}_{\leq 3}$
, and we did find a
${\mathbb {Z}}$
-basis of norm
$\leq 3$
vectors in all cases (for 99.8% of them,
$\texttt {reduce}(L,3,100)$
is enough and takes about 160 ms). For the
$541$
remaining lattices,
$519$
are generated over
${\mathbb {Z}}$
by their
$\mathrm {R}_{\leq 4}$
, and we also found in all cases a
${\mathbb {Z}}$
-basis consisting of norm
$\leq 4$
vectors using
$\texttt {reduce}(L,4,10000)$
.
The remaining
$22$
lattices are atypical, but not especially mysterious. They all have a root system of rank
$28$
, except for two of them, whose root systems are respectively
$2\mathbf {A}_7\,\mathbf {D}_{13}$
(rank
$27$
) and
$\mathbf {D}_5$
(which has only rank
$5$
, but this lattice is the exceptional lattice with companion
$\mathrm {I}_{5} \perp \mathrm {Odd Leech}$
discussed in Example 3.4). For instance, for many of these
$22$
lattices, the sublattice generated by the root system
$\mathrm {R}_2(L)$
is isometric to
$\mathrm {D}_{m_1} \perp \mathrm {D}_{m_2} \perp \cdots \perp \mathrm {D}_{m_s}$
with
$m_1+\dots +m_s=28$
, where
$\mathrm {D}_m \subset \mathrm {I}_m$
is the standard root lattice of type
$\mathbf {D}_m$
– namely,
$\mathrm {D}_m=\mathrm {M}_2(1^m)$
. But for
$m\geq 1$
, the dual lattice
$\mathrm {D}_m^\sharp $
is given by

with
$\varepsilon _m=(0,\dots ,0,1)$
and
$\eta ^{\pm }_m=\frac {1}{2}(1,\dots ,1,\pm 1)$
. As is well-known, the minimum of
$x \mapsto x.x$
on
$\eta ^{\pm }_m+\mathrm {D}_m$
is
$m/4$
(resp.
$1$
on
$\varepsilon _m+\mathrm { D}_m$
). Assuming
$\mathrm {r}_1(L)=0$
, it follows that the small norm vectors of those L tend to generate proper sublattices of L. The two most striking cases are discussed in Example 4.4.
Example 4.4 (The two lattices not generated by their
$\mathrm {R}_{\leq 5}$
)
-
(a) There is a unique
$L \in \mathrm {X}_{28}$ with
$\mathrm {r}_1(L)=0$ and root system
$\mathbf { D}_{28}$ . We may define it as
$L = \mathrm {D}_{28} \coprod C$ with
$C=\eta ^+_{28} + \mathrm {D}_{28}$ . As
$\mathrm {min}_{x \in C}\, x.x\,=\,28/4\,=7$ , it follows that L is generated over
${\mathbb {Z}}$ by the set
$\mathrm {R}_{\leq 7}(L)$ , whereas
$\mathrm {R}_{\leq 6}(L)$ generates the index
$2$ subgroup
$\mathrm {D}_{28}$ . Note that
$\mathrm {R}_{\leq 7}(L)$ is huge: it has
$158\,736\,881$ vectors!
-
(b) There is a unique
$L \in \mathrm {X}_{28}$ with
$\mathrm {r}_1(L)=0$ and root system
$\mathbf { D}_{8}\,\mathbf {D}_{20}$ . Set
$Q=\mathrm {D}_{8} \perp \mathrm {D}_{20}$ . We may define
$L \subset Q^\sharp $ as the inverse image, under the natural map
$Q^\sharp \rightarrow Q^{\sharp }/Q = \mathrm {D}_8^\sharp /\mathrm {D}_8 \oplus \mathrm { D}_{20}^\sharp /\mathrm {D}_{20}$ , of the bilinear Lagrangian
$\{ 0,\, \varepsilon _{8}\,+\,\eta ^{+}_{20}, \,\eta ^+_8\,+\,\varepsilon _{20},\, \eta ^{-}_8\,+\,\eta ^-_{20}\}$ (see [Reference Conway and Sloane7] Chapter 4 §3, as well as [Reference Chenevier6, §2], for generalities on ‘glueing theory’). It follows that L is a union of
$4$ cosets of Q with respective minimum norm
$0$ ,
$1+20/4=6$ ,
$8/4+1=3$ and
$8/4+20/4=7$ . This shows that L is generated by
$\mathrm {R}_{\leq 6}$ (with
$21\,827\,953$ vectors!) but not by
$\mathrm {R}_{\leq 5}$ .
These are the worst cases, since the
$20$
other lattices are generated over
${\mathbb {Z}}$
by their
$\mathrm { R}_{\leq 5}$
and we did find for all of them a
${\mathbb {Z}}$
-basis consisting of norm
$\leq 5$
vectors using
$\texttt {reduce}(L,5,10000)$
. We refer to [Reference Allombert and Chenevier1] for a list of Gram matrices that we found using these methods.
We finally discuss the computation of the order of the isometry group
$\mathrm {O}(L)$
for L in
$\mathrm { X}_{28}$
. It is enough to compute the order of the reduced isometry group
$\mathrm {O}(L)/\mathrm {W}(L)$
of L (see Section 2). As already observed in [Reference Chenevier4], this is much more efficient, and can easily be done using features of the Plesken-Souvignier algorithm: see [Reference Chenevier6, §4.2]. Using the Gram matrices above for the lattices in
$\mathrm {X}_{28}$
, this is quite fast. For instance, for
$99.8 \%$
of the
$356462$
lattices generated over
${\mathbb {Z}}$
by their
$\mathrm {R}_{\leq 3}$
, the average time to determine their reduced isometry group is about 0.3 s. Note that in the two extreme cases discussed in Example 4.4, the reduced isometry group is clearly trivial, so there is nothing to compute.
5 The Biased Neighbor Enumeration algorithm
In this section, we provide the details for the general algorithm informally described in [Reference Chenevier6, §1.10]. Its goal is to produce large quantities of cyclic d-neighbors of
$\mathrm {I}_n$
having a given root system, by imposing in the enumeration of d-isotropic lines a suitably chosen visible root system in the sense of loc. cit. §5. We start with a few notation and terminology.
5.1 Review of the visible root system of a neighbor
For
$x \in {\mathbb {R}}^n$
and
$j \in {\mathbb {R}}$
, we denote by
$\mathrm {m}_j(x) \in \{0,1,\dots ,n\}$
the number of coordinates of x which are equal to j. A pair
$(d,x)$
, with
$d\geq 1$
an integer and
$x \in {\mathbb {Z}}^n$
, will be said to be normalized if we have
$1=x_1 \leq x_2 \leq \cdots \leq x_n \leq d/2$
, as well as
$\mathrm {m}_1(x) \geq \mathrm {m}_j(x)$
for all
$1 \leq j <d/2$
. We call
$\mathrm {m}_1(x)$
the index of
$(d,x)$
, and
$\mathrm {m}_{d/2}(x)$
the end
Footnote 13 of
$(d,x)$
. Finally, the type of x, or of
$(d,x)$
, is the partition of the integer n defined by the nonzero integers
$\mathrm {m}_j(x)$
,
$j \in {\mathbb {Z}}$
.
Example 5.1. Let and
$d=22$
. Then
$(d,x)$
is normalized, of type
${\small 3+3+2+2+2+2+1+1+1+1+1}$
, index
$3$
and end
$2$
. We also use the short notation
$3^2\,2^4\,1^5$
for such a partition.
As the isometry group of the lattice
$\mathrm {I}_n={\mathbb {Z}}^n$
consists of the
$2^n n!$
permutations and sign changes of coordinates, we deduce the following:
Fact 5.2. Let
$d\geq 1$
and
$x \in {\mathbb {Z}}^n$
. Assume
$x_i \not \equiv 0 \bmod d$
for all
$1 \leq i \leq n$
, and that there existsFootnote 14
$1\leq j \leq n$
such that
$a:=x_j$
is prime to d and satisfies
$\mathrm { m}_a(x)\geq \mathrm {m}_{i}(x)$
for all
$i \in {\mathbb {Z}}$
. Then there is
$\sigma \in \mathrm {O}(\mathrm { I}_n)$
and
$y \in {\mathbb {Z}}^n$
such that
$(d,y)$
is normalized and satisfies
$\sigma (x) \equiv a y \bmod d {\mathbb {Z}}^n$
.
Assume now
$x \in {\mathbb {Z}}^n$
is d-isotropic and
$(d,x)$
is normalized. Recall that the visible root system of the d-neighbor
$N:=\mathrm {N}_d(x;\epsilon )$
of
$\mathrm { I}_n$
is defined in [Reference Chenevier6] §5 as

As explained in §5.1 loc. cit., it is straightforward to determine
$R^{\mathrm {v}}$
from an inspection of the equal coordinates of
$x \bmod d{\mathbb {Z}}^n$
: if
$(d,x)$
has end e and type
$n_1+\dots +n_s+e$
, then we have

The actual root system R of N is the union of
$R^{\mathrm {v}}$
and of the (typically more mysterious) roots belonging to the other
$\mathrm {M}_d(x)$
-cosets of N generated by the multiples of the ‘glue vector’
$\frac {x'}{d}$
of Formula 1.1. Several constraints force
$R^{\mathrm {v}}$
to be different from R in general. For instance, as Formula (5.1) shows,
$R^{\mathrm {v}}$
cannot contain any irreducible component of type
$\mathbf {E}$
, has at most one component of type
$\mathbf {D}$
, and has a limitation for its type
$\mathbf {A}$
components as well (for instance, it has at most
$n/2$
components of type
$\mathbf {A}_1$
). Another, more subtle, constraint is that
$R^{\mathrm {v}}$
tends to generate a saturated sublattice in N (this holds at least when d is a large prime), which is not the case for R in general. We refer to loc. cit. Section 5 for a detailed study all of those constraints on
$R^{\mathrm {v}}$
.
5.2 The BNE algorithm
We now describe in detail the Biased Neighbor Enumeration algorithm, later refered to as BNE, informally discussed in [Reference Chenevier6, §1.10]. It takes the following as inputs: an integer
$n \geq 1$
, an isomorphism class R of root systems, the reduced mass
$\rho $
of
$\mathrm {X}_n^R$
, an integer
$0\leq e<n$
and an integer partition
$n-e=\sum _{i=1}^s n_i$
, with
$n_1 \geq n_2 \geq \cdots \geq n_s\geq 1$
. If BNE terminates, it returns a list of
$(d,x,\epsilon ,\mu ,\beta )$
where the lattices
$\mathrm {N}_d(x; \epsilon )$
are representatives of
$\mathrm {X}_n^R$
, and where
$\mathrm { N}_d(x;\epsilon )$
has reduced mass
$\mu $
and BV invariant
$\beta $
; it also proves that all the elements in
$\mathrm {X}_n^R$
have distinct
$\mathrm {BV}$
invariants.
-
1. Set
$d=2$ and define empty lists
$inv$ and
$lat$ .
-
2. Make the list L of all
$x \in {\mathbb {Z}}^n$ with
$(d,x)$ normalized of type
$n_1+\dots +n_s+e$ , index
$n_1$ and end e.
-
3. Only keep in L those x such that x is d-isotropic.
-
4. For each
$x \in L$ andFootnote 15
$\epsilon \in \{0,1\}$ , compute the cyclic d-neighbor
$\mathrm {N}_d(x; \epsilon )$ of
$\mathrm {I}_{n}$ .
-
5. Replace L with the list of
$(x,\epsilon ) \in L \times \{0,1\}$ , satisfying both
$\mathrm {r}_1(\mathrm {N}_d(x;\epsilon ))=0$ and
$\mathrm {R}_2(\mathrm {N}_d(x;\epsilon )) \simeq R$ .
-
6. Compute the (hashed)
$\mathrm {BV}$ invariants
$\beta $ of all
$\mathrm {N}_d(x;\epsilon )$ with
$(x,\epsilon ) \in L$ .
-
7. For each
$(x,\epsilon ) \in L$ , if the BV invariant
$\beta $ of
$\mathrm {N}_d(x;\epsilon )$ is not in
$inv$ , do the following:
-
7a. Add
$\beta $ to the list
$inv$ ,
-
7b. Compute the reduced mass
$\mu $ of
$\mathrm {N}_d(x;\epsilon )$ ,
-
7c. Add
$(d,x,\epsilon ,\beta ,\mu )$ to the list
$lat$ ,
-
7d. Set
$\rho \leftarrow \rho -\mu $ . If
$\rho =0$ , return
$lat$ .
-
-
8.
$d \leftarrow d+1$ and go back to Step 2.
Let us first state an important criterion for BNE to terminate. We attach to e and the integer partition
$n=n_1+\cdots +n_s+e$
the isomorphism class of root system

It follows from Formula (5.1) that each
$\mathrm {N}_d(x;\epsilon )$
at Step 4 of BNE has a visible root system isometric to V. For an ADE root system S, and an integral lattice L, we denote by
$\mathrm {emb}(S,L)$
the number of isometric embeddingsFootnote 16
$\mathrm {Q}(S) \rightarrow L$
with saturated image. Following §5.9 loc. cit., we say that a pair
$(R,S)$
of ADE root systems is safe if for any integral lattices L with
$\mathrm {r}_1(L)=0$
and
$\mathrm {R}_2(L) \simeq R$
, we have
$\mathrm { emb}(S,L) \neq 0$
.
Theorem 5.3. Assume
$(R,V)$
is safe and that different classes in
$\mathrm {X}_n^R$
have different
$\mathrm {BV}$
invariants. Then the algorithm BNE terminates.
Let us explain how this theorem follows from Theorem E of [Reference Chenevier6] (a special case of the results of [Reference Chenevier5]). By Fact 5.2 and Formula (5.1), Steps 2 and 3 enumerate representatives
$(d,x,\epsilon )$
for almost all
$\mathrm {O}(\mathrm {I}_n)$
-orbits of the cyclic d-neighbors
$\mathrm {N}_d(x;\epsilon )$
of
$\mathrm {I}_n$
whose visible root system is isomorphic to V. In the case d is prime, all orbits are considered in these two steps. By the aforementioned Theorem E loc. cit., for any given
$L \in \mathrm {X}_n$
, the proportion of d-neighbors of
$\mathrm {I}_n$
having a given visible root system V, and which are isomorphic to L, tends to (an absolute constant times)
$\mathrm {emb}(V,L)/|\mathrm {O}(L)|$
when the prime d goes to
$\infty $
. This number is nonzero when L is in
$\mathrm {X}^R_n$
and
$(R,V)$
is safe, which shows that BNE terminates assuming
$\mathrm {BV}$
is sharp – hence Theorem 5.3. We stress, however, that there is no known upper bound on the integer d such that each
$L \in \mathcal {L}_n$
is isometric to a d-neighbor of
$\mathrm {I}_n$
. This method for searching for unimodular lattices is probabilistic and a form of (non-uniform) coupon collector problem: see [Reference Chenevier6, §1.12] for a discussion along these lines.
Remark 5.4 (Choice of V)
The root system R being given, it is always possible to choose V (that is, e and the
$n_i$
) such that
$(R,V)$
is safe. For instance, choosing
$V=\emptyset $
, that is,
$e=0$
and all
$n_i$
equal to
$1$
, trivially works, although it is usually inefficient if R is large. Indeed, the algorithm will most likely find lattices with smaller root systems than R, as we have
$\mathrm {emb}(V,L)=1$
for all L. In practice, the game is rather to choose for
$R^{\mathrm {v}}$
a sub-root system of R which is as large as possible, given the general constraints for visible root systems alluded in § 5.1: see Section 5 in [Reference Chenevier6] for a discussion of good and possible choices. See also the next section for a few representative examples.
Of course, the
$\texttt {BNE}$
algorithm is interesting even if it does not terminate, since it usually finds many lattices if not all. We finally give the non-biased version of BNE.
Remark 5.5 (The non-biased
$\texttt {NE}$
algorithm)
The simpler, non-biased, variant
$\texttt {NE}$
of
$\texttt {BNE}$
is the case where we enumerate in Step 2 the pairs
$(d,x)$
of all possible types, and seek for all root systems at the same time. The only input of
$\texttt {NE}$
is the integer n and the map
$M : R \mapsto $
reduced mass of
$\mathrm {X}_n^R$
. It returns
$\mathrm {X}_n'$
, and theoretically terminates if
$\mathrm {BV}$
is sharp. The only difference is that in Step 5, we only keep
$(x,\epsilon )$
if the root system R of
$\mathrm {N}_d(x;\epsilon )$
satisfies
$\mathrm {M}(R) \neq 0$
, and Step 7d becomes
$\mathrm {M}(R) \leftarrow \mathrm {M}(R)-\mu $
. This is how we actually started our search of
$\mathrm { X}_{28}$
. Although
$\texttt {NE}$
allows to determine quite many sets
$\mathrm {X}_{28}^R$
when they are small, it becomes inefficient for the larger ones or when d grows as explained in [Reference Chenevier6] §1, in which case it is absolutely curcial to use
$\texttt {BNE}$
instead.
5.3 Further remarks and details on the various steps of BNE
Remark 5.6 (Step
$2'$
: lines versus vectors, and redundancies)
Let
$x,x' \in {\mathbb {Z}}^n$
be two d-isotropic vectors, say with
$(d,x)$
and
$(d,x')$
normalized of same type
$n_1+\dots +n_s+e$
. Denote by
$\ell $
and
$\ell ' \subset \mathrm {I}_n \otimes {\mathbb {Z}}/d$
the
${\mathbb {Z}}/d$
-line they generate, and say that
$(d,x)$
and
$(d,x')$
are equivalent if
$\ell $
and
$\ell '$
are in the same
$\mathrm {O}(\mathrm {I}_n)$
-orbit. The d-neighbors defined by equivalent
$(d,x)$
and
$(d,x')$
are naturally isomorphic, creating unwanted redundancy in our algorithm. For a given
$(d,x)$
, then there are exactly f equivalent pairs
$(d,x')$
, with

This is especially large in the case
$n_i=1$
for all i, and d is prime, for which we have
$f=n$
. We did not find any clever way to directly select a single element among those f ones, but did instead the following right after Step 2 in the algorithm: fix some total ordering
$\prec $
on
${\mathbb {Z}}^n$
, and for each
$(d,x) \in L$
, compute all equivalent
$(d,x') \in L$
, and only keep
$(d,x)$
in L if it is the biggest of them for
$\prec $
.
Remark 5.7 (Step 5)
See, for example, Remark 4.4. in [Reference Chenevier6] for an algorithm to compute root systems.
Remark 5.8 (Step 7b)
For this step, of course, we apply the ideas exposed in Section 4: for each
$L:=\mathrm {N}_d(x,\epsilon )$
, we first search for a
${\mathbb {Z}}$
-basis of L made of small norm vectors with reduce beating LLL, and then we compute the order of the reduced isometry group
$\mathrm {O}(L)/\mathrm {W}(L)$
by giving this basis to the Plesken-Souvignier algorithm as explained in [Reference Chenevier6, §4.2]. We emphasize that if we do not use the bases provided by reduce, certain automorphism computations can take hours, simply never finish, or alternatively require an insane amount of memory (e.g., several hundreds of GB). We do not want this to happen during the execution of BNE.
Remark 5.9 (Parallelization)
Each of Steps
$3$
to
$6$
(as well as Step 7b) is straightforward to parallelize in practice. For memory reasons, we usually modify Step
$2$
by limiting the size of the list L and go to Step 3 when this limit is reached. If so, at the end of Step 7, we go back to Step 2 and pursue the enumeration of the remaining x until all of them have been considered, before going to Step 8. This way to present the algorithm is especially suited to determine the largest
$\mathrm {X}_n^R$
(which are the most difficult ones). In those cases, most of the CPU time of BNE is spent on Step 6. This way of limiting the size of L also allows of course to use ‘early abort’ strategy and cut search time when a single lattice is missing (which eventually always happens!).
Remark 5.10 (Restrictions on d)
We usually start with
$d=2s+1$
, since there are no normalized pairs
$(d,x)$
of type
$n_1+\dots +n_s+e$
for smaller values of d. For some purposes, we may also restrict the enumeration of the
$(d,x)$
to d in certain congruence classes modulo some integers. For instance, in some hard cases, we sometimes restrict to d odd in order to optimize subsequent
$2$
-neighbor computations. We must also have d even in the case
$e\neq 0$
. In principle, we could take d large from the beginning, but this goes against our (guilty) wish to find neighbor forms
$\mathrm {N}_d(-)$
for our lattices in which the integer d is as small as possible.
6 Some examples
We start with a few simple examples for which the
$\texttt {BNE}$
algorithm directly works, and then provide a few more complicated ones. Note that there are usually many ways to find a given lattice, so some of the lattices described below may appear in a different neighbor form in our lists [Reference Allombert and Chenevier1].
6.1 The root system
$7\mathbf {A}_1\,3\mathbf {A}_2\,\mathbf {A}_7$
in dimension
$28$
For this root system R, we know from King that the reduced mass of
$\mathrm {X}_{28}^R$
is
$5/24$
(whereas its mass is
$|\mathrm {W}(R)|=1\,114\,767\,360$
times smaller), so we expect
$\mathrm {X}_{28}^R$
to contain only very few lattices. We choose the visible root system
$V:=6\mathbf {A}_1\,2\mathbf {A}_2\,\mathbf {A}_7$
, that is
$e=0$
and the integer partition
$8\,3^2\,2^6\,1^2$
of
$28$
. We have
$s=11$
, so we may start at
$d=23$
. The
$\texttt {BNE}$
algorithm terminates at
$d=27$
and returns the
$3$
lattices in
$\mathrm {X}_{28}^R$
, with reduced masses
$1/12$
,
$1/12$
and
$1/24$
, after about
$7$
minutes of CPU time.
We will give some details describing intermediate steps of such calculations using tables such as Table 8. The first column contains d. The second column gives the number
$\# \texttt {iso}$
of d-isotropic lines found after Steps
$2$
and
$3$
, incorporating Step
$2'$
explained in Remark 5.6. The third column gives the size
$\#\texttt {found}$
of the list L after Step
$5$
. The better we have chosen the visible root system V, the higher the ratio
$\# \texttt {iso}/\#\texttt {found}$
is. The fourth column gives the number of new lattices found in L, and the last column, the remaining reduced mass
$\rho $
of
$\mathrm {X}_{n}^R$
after Step
$7$
: when
$0$
, the algorithm terminates.
Table 8 Hunting
$\mathrm {X}_{28}^R$
with
$R=7\mathbf {A}_1\,3\mathbf {A}_2\,\mathbf {A}_7$
and
$V=6\mathbf {A}_1\,2\mathbf {A}_2\,\mathbf {A}_7$

6.2 The root system
$4\mathbf {A}_1\,2\mathbf {A}_2 \,2\mathbf {A}_3\,\mathbf {D}_4$
in dimension
$28$
As another example with a little more lattices, as well as a component of type
$\mathbf {D}$
, consider the case of the root system R of the title. The reduced mass of
$\mathrm {X}_{28}^R$
is
$1033/16$
. We use the visible root system
$V=3\mathbf {A}_1\,2\mathbf {A}_2 \,2\mathbf {A}_3\,\mathbf {D}_4$
, that is
$e=4$
and type
$4^3\,3^2\,2^3\,1^4$
(hence, d is even
$\geq 24$
). The BNE algorithm terminates at
$d=36$
. It returns the
$156$
lattices of
$\mathrm {X}_{28}^R$
, with reduced mass
$1/2$
(
$112$
times),
$1/4$
(
$26$
times),
$1/8$
(
$15$
times) and
$1/16$
(
$3$
times), after about
$24$
h of CPU time: see Table 9.
Table 9 Hunting
$\mathrm {X}_{28}^R$
with
$R=4\mathbf {A}_1\,2\mathbf {A}_2 \,2\mathbf {A}_3\,\mathbf { D}_4$
and
$V=3\mathbf {A}_1\,2\mathbf {A}_2 \,2\mathbf {A}_3\,\mathbf { D}_4$

6.3 The root system
$16\mathbf {A}_1\, \mathbf {E}_6$
in dimension
$28$
For this root system R, the reduced mass of
$\mathrm {X}_{28}^R$
is
$1/23040$
; hence, there may well be a unique class in
$\mathrm {X}_{28}^R$
. The difficulty here is that no possible visible root system is ‘very close’ to R, because of the presence of a component of type
$\mathbf {E}$
and too many
$\mathbf {A}_1$
. The best idea here is to use the fact that
$\mathbf {A}_5 \mathbf {A}_1$
is a
$2$
-kernel of
$\mathbf {E}_6$
(see Example 5.22 in [Reference Chenevier6]) and to run BNE for the visible root system
$V \simeq 10\mathbf { A}_1\,\mathbf {A}_5\,\mathbf {D}_2 \simeq 12\mathbf {A}_1\,\mathbf {A}_5$
; hence,
$e=2$
and type
$6\,2^{11}$
(this forces d even and
$\geq 24$
). For each of the even integers
$24 \leq d \leq 46$
, it turns out that the values of
$\#\texttt {iso}$
given by BNE are

but that in all cases, we have
$\#\texttt {found}=0$
. Nevertheless, for
$d=48$
, we find
$\#\texttt {iso}=17098$
and finally
$\#\texttt {found}=1$
! The found (and unique) lattice in
$\mathrm {X}_{28}^R$
has reduced mass
$1/23040$
and is
$\mathrm {N}_{48}(x; 0)$
with

The whole computation only takes about
$13$
minutes of CPU time (essentially because we computed a single
$\mathrm {BV}$
invariant). The explanation for all those zeros values of
$\#\texttt {found}$
above is that this choice of visible root system, although essentially the best we can take, will most likely find lattices with root system of the form
$n\mathbf { A}_1 \mathbf {A}_5$
with
$n\geq 13$
. Indeed, there are many lattices in
$\mathrm {X}_{28}$
with root systems
$13\mathbf {A}_1 \mathbf {A}_5$
(including some with the large reduced mass
$1/4$
) and
$17\mathbf {A}_1\mathbf {A}_5$
.
Remark 6.1. The root system
$\mathbf {D}_5$
is also a
$2$
-kernel of
$\mathbf {E}_6$
, and the lattice L above can also be found using the visible root system
$11 \mathbf {A}_1 \mathbf {D}_5$
for
$d=50$
(within about 55 minutes). In the latter case, we have
$\#\texttt {iso}=31790$
,
$\#\texttt {found}=7$
, and obtained
$L \simeq \mathrm {N}_{50}(y)$
with
$y \in {\mathbb {Z}}^{28}$
defined as

All other choices of visible root systems seem to require more computations.
6.4 The root system
$8\mathbf {A}_1\,2\mathbf {A}_2$
in dimension
$28$
For this root system R, the reduced mass of
$\mathrm {X}_{28}^R$
is
$9694663/2880$
$\simeq 3366.2$
, which already implies
$|\mathrm {X}_{28}^R|\geq 6733$
. Actually, as we shall see, we have
$|\mathrm { X}_{28}^R|=7603$
, and this is actually the maximum of the
$|\mathrm {X}_{28}^S|$
for all root systems S. This is one reason why we chosed this example, which is much harder than the previous ones.
Table 10 Hunting
$\mathrm {X}_{28}^R$
with
$R=8\mathbf {A}_1\,2\mathbf {A}_2$
and
$V=7\mathbf { A}_1\,2\mathbf {A}_2$

We know from Section 5.9 [Reference Chenevier6] (and especially Example 5.14) that the pair
$(R,V)$
is safe for
$V=7\mathbf {A}_1\,2\mathbf {A}_2$
, so we run
$\texttt {BNE}$
for this visible root system, that is
$e\leq 1$
and type
$3^2\,2^7\,1^8$
(
$s=17$
). For the subsequent purpose of computing
$2$
-neighbors, it is convenient to restrict our search to odd d. Table 10 gives a summary of what
$\texttt {BNE}$
finds for all odd d from
$2s+1=35$
to
$43$
(we add in the table a lower bound of the number
$\# \texttt {rem_lat}$
of remaining lattices in
$\mathrm {X}_{28}^R$
after Step 7 in the last column). This computation is already quite lengthy: it took about
$1400$
h of CPU time. It allowed to find
$7506$
different classes in
$\mathrm {X}_{28}^R$
so far, with remaining reduced mass
$899/36$
. It would be natural to try to go on in order to find the remaining lattices – namely, by exploring
$d=45$
,
$47$
and so on…This would unfortunately require much more CPU time. Instead, we may proceed as follows.
(a) Exceptional lattices in
$\mathrm {X}_{28}^R$
. An inspection of the
$7506$
found lattices is that none of them is exceptional. We refer to Lemma 6.3 for an explanation of an analogous phenomenon for
$\mathrm { X}_{29}^\emptyset $
. Our aim now is to determine the (classes) of exceptional unimodular lattices in
$\mathrm {X}_{28}^R$
.
As we are in dimension
$28 \equiv 4 \bmod 8$
, exceptional lattices L in
$\mathcal {L}_{28}$
with
$\mathrm { r}_1(L)=0$
may be described using their singular companion
$L':=\mathrm {sing}(L)$
, by Proposition 2.1. Write
$L' \simeq \mathrm {I}_r \perp U$
with
$r\geq 1$
and
$U \in \mathcal {L}_{28-r}$
satisfying
$\mathrm { r}_1(U)=0$
. In particular,
$\mathbf {D}_r \simeq \mathrm {R}_2(\mathrm {I}_r)$
is an irreducible component of
$\mathrm { R}_2(L')=\mathrm {R}_2(L)$
(recall
$\mathbf {D}_1=\emptyset $
and
$\mathbf {D}_2\,=\,2\mathbf {A}_1$
). Going back to the root system
$R \simeq 8\mathbf {A}_1\,2\mathbf {A}_2$
, the only possibilities are thus either
$r=1$
and
$\mathrm {R}_2(U) \simeq R$
, or
$r=2$
and
$\mathrm {R}_2(U) \simeq 6\mathbf {A}_1\,2\mathbf {A}_2$
. But an inspection of the classification in [Reference Chenevier6] of
$\mathrm {X}_{26}$
and
$\mathrm {X}_{27}$
shows that there are exactly two possibilities for U for
$r=2$
, and
$89$
for
$r=1$
(all being nonexceptional). Proposition 2.1 thus shows the following:
Lemma 6.2. There are
$89+2=91$
classes of exceptional lattices in
$\mathrm {X}_{28}^R$
. The sum of their reduced mass is
$595/24$
$+$
$13/288$
$=$
$7153/288$
.
Better, in the analysis above, if we have
$U \,\simeq \,\mathrm {N}_d(x)$
with d odd and
$x \in {\mathbb {Z}}^{28-r}$
, then we know from Lemma 11.1 and Proposition 11.6 in [Reference Chenevier6] that the corresponding L satisfies
$L \simeq \mathrm {N}_{2d}(y;0)$
where
$y \in {\mathbb {Z}}^{28}$
has odd coordinates and satisfies
$y_i \equiv x_i \bmod d$
for
$i < 28-r$
, and
$y_i =d$
for
$i\geq 28-r$
. Neighbor forms for the
$2+89$
different U are easily found with d odd using
$\texttt {BNE}$
in dimensions
$26$
and
$27$
. For instance, the
$2$
classes U in
$\mathrm { X}_{26}$
with root system
$6\mathbf {A}_1\, 2\mathbf {A}_2$
are those of the
$\mathrm {N}_{35}(x)$
with
$x \in {\mathbb {Z}}^{26}$
given by

and their respective reduced mass is
$1/288$
and
$1/24$
. In the end, we do obtain neighbor forms for all
$91$
exceptional lattices of Lemma 6.2.
(b) Strict
$2$
neighbors of rare lattices. After incorporating the
$91$
exceptional lattices above in
$\mathrm {X}_{28}^R$
, the remaining reduced mass is
$13/96$
. The remaining lattices presumably all have a small reduced mass. In order to find them, we apply some ideas from the theory of visible isometries explained in [Reference Chenevier6, §7] (see especially §7.9):
(b1) The first idea is that if some
$L \in \mathcal {L}_n$
has a large isometry group, we expect that many
$2$
-isotropic lines in
$L/2L$
will be stable by a nontrivial isometry of L, hence producing a
$2$
-neighbor having that isometry, and biasing the search.
(b2) A second idea is that in order to avoid computing all
$2$
-neighbors of L (or
$\mathrm {O}(L)$
-orbits of them), it seems more promising to focus on those having the same visible root system as L viewed as neighbors of
$\mathrm {I}_n$
; we call them the strict
$2$
-neighbors of L. Concretely, if we have
$L=\mathrm {N}_d(x)$
with d odd,
$x \in {\mathbb {Z}}^n$
and
$(d,x)$
normalized, then the strict
$2$
-neighbors of L are the
$\mathrm {N}_{2d}(y;\epsilon )$
with
$y \in {\mathbb {Z}}^{n}$
satisfying
$y \equiv x \bmod d$
, as well as
$y_1=1$
and, for all
$1\leq i,j \leq n$
with
$x_i = x_j$
, the congruence
$y_i \equiv y_j \bmod 2$
.
Among the
$494$
lattices found above for
$d=41$
and
$d=43$
, there are
$12$
lattices with reduced mass
$\leq 1/32$
. For each of these d-neighbors L, given as
$L=\mathrm {N}_d(x)$
, we compute all the strict
$2$
-neighbors
$L'$
of L, with
$L'=\mathrm {N}_{2d}(y,\epsilon )$
as in (b2) above. As we are in dimension
$n=28$
and L has a visible root system
$7\mathbf {A}_1\,2\mathbf {A}_2$
, there are thus only
$2^{28-2-7-4-1}=65\,536$
choices for y, hence presumably
$32\,768$
isotropic ones, a quite manageable quantity. The hope is to find the remaining lattices among those
$2\times 12\times 32\,768=786\,432$
different
$2$
-neighbors. It works! Indeed, in about
$20$
h of CPU time, we did find this way the
$6$
remaining elements of
$\mathrm {X}_{28}^R$
. They have a reduced mass
$1/96$
,
$1/64$
twice and
$1/32$
three times, and are given by the values of
$(d,y,\epsilon )$
in Table 11.
Table 11 The last
$\mathrm {N}_{2d}(y;\epsilon )$
found in
$\mathrm {X}_{28}^R$
for
$R=8\mathbf { A}_1\,2\mathbf {A}_2$

Table 12 Hunting
$\mathrm {X}_{29}^\emptyset $
with
$V=\emptyset $
and odd
$59 \leq d\leq 83$

6.5 The empty root system in dimension
$29$
We finally discuss the determination of
$\mathrm {X}_{29}^\emptyset $
. For such lattices, the mass and the reduced mass coincide so we usually omit the term ‘reduced’. We know that the mass of
$\mathrm {X}_{29}^\emptyset $
is
$49612728929/11136000$
$\simeq 4455.2$
, so we have at least
$8911$
isometry classes. The only possibility here is to take
$V=\emptyset $
, and we choose
$0 \leq e \leq 1$
and all
$n_i$
equal to
$1$
. See Table 12 for a summary of what
$\texttt {BNE}$
finds for all odd d from
$2s+1=59$
to
$83$
, after about
$850$
h of CPU time. At this step, we have found
$9964$
elements in
$\mathrm {X}_{29}^\emptyset $
. For instance, the first of theses lattices, found for
$d=59$
, is the lattice
$\mathrm {N}_{59}(1,2,3,\dots ,29)$
which incidentally belongs to the family studied in [Reference Chenevier6, §8]. However, an inspection of our list shows that we only found a single exceptional lattice so far, for
$d=83$
. This can be partially explained by the following lemma.
Lemma 6.3. Assume
$L \in \mathcal {L}_n$
is a p-neighbor of
$\mathrm {I}_n$
with p prime and empty visible root system, which forces
$p\geq 2n+1$
. Then any characteristic vector
$\xi $
of L with
$\xi .\xi <n$
satisfies
$\xi .\xi \geq \frac {4n^3-n}{3p^2}$
.
Proof. By definition, we have
$L=\mathrm {M}_p(x) + {\mathbb {Z}} \frac {x'}{p}$
for some p-isotropic
$x \in {\mathbb {Z}}^n$
and some
$x' \in {\mathbb {Z}}^n$
satisfying
$x' \equiv x \bmod p$
. As p is odd, the vector
$p \xi \in {\mathbb {Z}}^n$
is a characteristic vector of
$\mathrm {I}_n$
, and hence has odd coordinates. Write
$p\xi = kx +p m$
with
$0 \leq k <p$
and
$m \in {\mathbb {Z}}^n$
. We have
$k>0$
, otherwise
$\xi \in {\mathbb {Z}}^n$
and
$\xi .\xi \geq n$
. So the coordinates of
$p \xi $
are distinct mod p, since so are those of x by assumption. This proves
$p^2 \xi. \xi \geq \sum _{i=1}^n (2i-1)^2 = (4n^3-n)/3$
.
Note that for
$n=29$
and
$\xi .\xi =5$
, this forces
$p\geq 83$
, in accordance with what we found. Our first aim now is to seek for exceptional lattices in
$\mathrm {X}_{29}^\emptyset $
. We cannot argue as in § 6.4 (a) since
$29 \not \equiv 4 \bmod 8$
. Instead, we use the variant of BNE discussed in [Reference Chenevier6, §9.13–9.16]. The basic idea is to look for d-neighbors
$N:=\mathrm {N}_d(x;\epsilon )$
of
$\mathrm {I}_{29}$
with empty root systems and such that the norm
$5$
vector
$(0,\dots ,0,1,1,1,1,1) \in \mathrm {I}_{29}$
is a (visible!) characteristic vector of N. As explained loc. cit., the trick is just to modify Step 2 of BNE and enumerate only d-isotropic
$x \in {\mathbb {Z}}^{29}$
, with d even, all of whose coordinates are odd, except the last
$5$
ones which are even and with sum
$\equiv 0 \bmod d$
. This forces
$d\geq 94$
, and Table 13 shows what we obtain after only about
$60$
h of CPU time. The last lattice, with mass
$1/24000$
, came very late and is much harder to find than the others: this is
$\mathrm {N}_{114}(x;0)$
with

Up to this point, we have found
$10068$
classes in
$\mathrm {X}_{29}^\emptyset $
, with remaining mass
$1481/5760$
. There are several methods that we can use to find the last ones. First, we run BNE for the empty visible root system,
$0\leq e \leq 1$
, and even
$58 \leq d \leq 82$
, which we have not done yet, and only finds
$15$
more lattices in about
$1050$
more hours, as shown by Table 14.
Table 13 Hunting exceptional lattices in
$\mathrm {X}_{29}^\emptyset $

Table 14 Hunting
$\mathrm {X}_{29}^\emptyset $
with
$V=\emptyset $
and even
$58 \leq d\leq 82$

At this point, we have found
$10\,083$
lattices, and the remaining mass is only
$301/15360$
. It would be presumably quite lengthy to seek for the remaining lattices by simply pursuing BNE. A more direct way to find them is to use the theory of visible isometries as in §6.4 (b), and study
$2$
-neighbors of the found lattices
$L=\mathrm {N}_d(x)$
with large isometry groups and d odd. Note that as the root system is empty here, each
$2$
neighbor of such an L is strict, so we have no meaningful way to reduce the search as we did in §6.4. In such a situation with
$\mathrm {O}(L)$
big, we should also gain much in principle in computing first the
$\mathrm {O}(L)$
-orbits of
$2$
-isotropic lines in
$L/2L$
, since there is a huge number of such lines in dimension
$29$
. In practice, this is not really necessary, and we prefer to only compute the neighbors associated to a large number of
$2$
-isotropic lines of a given L, say here
$2\,000\,000$
, and then try the next L if it fails.
This works pretty well! Indeed, the lattice
$L=\mathrm {N}_d(x)$
in
$\mathrm {X}_{29}^\emptyset $
, with d odd and largest isometry group, appears for
$d=83$
and satisfies
$|\mathrm {O}(L)|=1536$
. Using this L as explained above, we do find
$7$
new lattices, with remaining mass
$167/25920$
. The next
$3$
lattices with largest isometry groups did not provide new lattices, but the
$2$
after – namely, a
$75$
-neighbor with mass
$1/160$
, and a
$81$
-neighbor with mass
$1/128$
– do give rise (each) to a new lattice, with respective masses
$1/160$
and
$1/5184$
, and this concludes the proof! Those
$7+1+1=9$
lattices
$\mathrm {N}_{2d}(y;\epsilon )$
are given in the following table. The full computation here took about
$480$
h of CPU time.
Table 15 The last nine lattices
$\mathrm {N}_{2d}(y;\epsilon )$
found in
$\mathrm { X}_{29}^\emptyset $

The method above is essentially the one we used when we first computed
$\mathrm {X}_{29}^\emptyset $
. Meanwhile, the second author found a more direct way to find d-neighbors of
$\mathrm {I}_n$
with prescribed (and ‘visible’) isometries. This method is described in §7.5 and §7.7 of [Reference Chenevier6]. The basic idea is to fix
$\sigma \in \mathrm {O}(\mathrm {I}_n)$
and to study to d-neighbors N of
$\mathrm { I}_n$
with
$\sigma \in \mathrm {O}(N)$
and having a given visible root system V, which translates into some conditions on the isotropic lines that we enumerate. This is especially suited to empty (or small) V. An example of application of these ideas to the determination of
$\mathrm {X}_{28}^\emptyset $
is detailed in §7.6 loc. cit. The situation here is a bit similar, and goes as follows.
We go back right before the
$2$
-neighbor argument above. At this step, the remaining mass is
$301/15360$
. We have
$15360 \,=\, 2^{10}\,3\,5$
, so we know that we still need to find lattices in
$\mathrm { X}_{29}^\emptyset $
having isometries of prime order
$q=2, 3$
and
$5$
. The characteristic polynomial of such an isometry is
$\phi _q^k \,\phi _1^l$
, with
$\phi _m$
the m-th cyclotomic polynomial, and
$k(q-1)+l=29$
. For fixed q and k, we choose an auxiliary odd prime
$p \equiv 1 \bmod q$
and consider associated
$d:=pd'$
isotropic lines described in loc. cit. §7.5 for all odd integers
$d'=1,\,3,\,\dots $
and so on. These lines have the properties that the associated neighbors N have an empty visible root system and a (visible) isometry with characteristic polynomial
$\phi _q^k \,\phi _1^l$
. Better, they are tailored such that the following product of k disjoint q-cycles in
$\mathrm {S}_{29} \subset \mathrm {O}(\mathrm { I}_{29})$
,

lies in
$\mathrm {O}(N)$
. This requires
$qk \leq 29$
. By studying those lines, we do also find the
$9$
remaining lattices, under the form given by Table 16 below. This is much faster: it only took less than
$3$
h to find the first
$8$
lattices, and about
$7$
h for the last one.
Table 16 Another form for the last nine lattices
$\mathrm {N}_d(x)$
found in
$\mathrm { X}_{29}^\emptyset $

For instance, for the lattice
$L=\mathrm {N}_{329}(x)$
above with mass
$1/18432$
, we have

so
$\sigma _{3,9}^{-1}$
acts on
$({\mathbb {Z}}/7)x \subset ({\mathbb {Z}}/7)^{29}$
by multiplication by
$2$
, and fixes
$x \bmod 47$
.
Remark 6.4. This second method also has drawbacks. As an example, consider the last lattice L in Table 16. Although we have
$|\mathrm {O}(L)|=1536 = 2^9\, \cdot 3$
, it is impossible to find it as a neighbor of
$\mathrm {I}_{29}$
with a visible isometry of order
$3$
. Indeed, we can check a posteriori that the order
$3$
elements of
$\mathrm {O}(L)$
all have the same characteristic polynomial
$\phi _3^{11} \phi _1^7$
, whereas no element of
$\mathrm {O}(\mathrm {I}_{29})$
has this property since
$11 \cdot 3> 29$
. They are other constraints, which luckily are not prohibitive to conclude here: see §7.7 loc. cit. for more about this.
Acknowledgements
The authors thank Jacques Martinet and Olivier Taïbi for remarks or discussions, as well as the anonymous referee for all their comments. Experiments presented in this work were carried out using (a) the PlaFRIM experimental testbed, supported by Inria, CNRS (LABRI and IMB), Universite de Bordeaux, Bordeaux INP and Conseil Regional d’Aquitaine (see https://www.plafrim.fr/), (b) the cluster cinaps of the LMO, Université Paris-Saclay. We warmly thank PlaFRIM and the LMO for sharing their machines.
Competing interest
The authors have no competing interests to declare.
Financial support
B. Allombert was supported by the CNRS and the ANR-NSF project CHARM (ANR-21-CE94-0003, CCF-2122230). G. Chenevier was supported by the CNRS and by the ANR project COLOSS (ANR-19-CE40-0015-02).
Database and supplementary material
All the data associated with this paper, including lists of neighbor forms of all of our lattices, as well as PARI/GP scripts to play with these lists and independently check their completeness, are available at the website [Reference Allombert and Chenevier1], as well as a supplementary material to this article.