According to this paper the following matrix, L, generates the Leech lattice. In form it is a list of vectors with integer components, each belonging to the lattice. Linear combinations of them with integer coefficients compose the whole lattice. Each lattice point is represented just once.
(define L '(
 (8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0)
 (2 2 2 2 0 0 0 0 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0)
 (4 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0)
 (2 2 0 0 2 2 0 0 2 2 0 0 2 2 0 0 0 0 0 0 0 0 0 0)
 (2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 0 0 0 0 0 0 0 0)
 (2 0 0 2 2 0 0 2 2 0 0 2 2 0 0 2 0 0 0 0 0 0 0 0)
 (4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0)
 (2 0 2 0 2 0 0 2 2 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0)
 (2 0 0 2 2 0 2 0 2 2 0 0 2 0 2 0 2 0 2 0 0 0 0 0)
 (2 2 0 0 2 0 2 0 2 0 0 2 0 0 0 0 2 0 0 2 0 0 0 0)
 (0 2 2 2 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0)
 (0 0 0 0 0 0 0 0 2 2 0 0 2 2 0 0 2 2 0 0 2 2 0 0)
 (0 0 0 0 0 0 0 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0 2 0)
(-3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1)))
We scatter some Scheme code in this for corroboration:
(define tl ((fileVal "Matrix") '() 0 zero? 1 + - * /))
(define matm (cadr tl)) ; matrix multiply
(define tr (car (cddddr tl))) ; transpose
(define inv (caddr tl)) ; matrix invert
(define det (cadr (cddddr tl))) ; determinant
(define Li (inv L 'Sing)) ; inverse of L
If v belongs to ℤ24 (v is a 24D vector with integer components) then vL is a member of the Leech lattice and conversely.
(matm '((0 1 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)) L)
; => ((12 4 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0))

The determinant of this square matrix is not zero and thus the vectors span the entire space (ℝ24). ( (det L) => 68719476736).

Oblique?

Taking the vectors of L as a basis the Leech lattice consists of just those points all of whose coördinates are integers. This raises the question of the metric tensor for this alternate coördinate system. (matm L (tr L)) produces the metric tensor:
(
 (64 32 32 32 32 32 32 16 32 32 32 16 32 16 16 16 32 16 16 16  0  0  0 -24)
 (32 32 16 16 16 16 16 16 16 16 16 16 16 16  8  8 16  8  8 16  8  0  0 -8)
 (32 16 32 16 16 16 16 16 16 16 16 16 16  8 16  8 16 16  8  8  8  0  0 -8)
 (32 16 16 32 16 16 16 16 16 16 16 16 16  8  8 16 16  8 16  8  8  0  0 -8)
 (32 16 16 16 32 16 16 16 16 16 16  8 16 16 16 16 16 16 16 16  8  0  0 -8)
 (32 16 16 16 16 32 16 16 16 16 16  8 16 16  8  8 16  8  8  8  0  0  0 -8)
 (32 16 16 16 16 16 32 16 16 16 16  8 16  8 16  8 16  8 16 16  0  0  0 -8)
 (16 16 16 16 16 16 16 32  8  8  8 16  8 16 16 16  8 16 16 16 16  0  0  8)
 (32 16 16 16 16 16 16  8 32 16 16 16 16 16 16 16 16 16 16 16  8  8  8 -8)
 (32 16 16 16 16 16 16  8 16 32 16 16 16 16  8  8 16 16 16  8  0  8  0 -8)
 (32 16 16 16 16 16 16  8 16 16 32 16 16  8 16  8 16  8  8  8  0  0  8 -8)
 (16 16 16 16  8  8  8 16 16 16 16 32  8 16 16 16  8 16 16 16 16  8  8  8)
 (32 16 16 16 16 16 16  8 16 16 16  8 32 16 16 16 16  8 16  8  8  8  8 -8)
 (16 16  8  8 16 16  8 16 16 16  8 16 16 32 16 16  8 16 20 16 16 16  8  8)
 (16  8 16  8 16  8 16 16 16  8 16 16 16 16 32 16  8 16 24 16 16  8 16  8)
 (16  8  8 16 16  8  8 16 16  8  8 16 16 16 16 32  8 16 20 16 16  8  8  8)
 (32 16 16 16 16 16 16  8 16 16 16  8 16  8  8  8 32 16 16 16  8  8  8 -8)
 (16  8 16  8 16  8  8 16 16 16  8 16  8 16 16 16 16 32 20 16 16 16  8  8)
 (16  8  8 16 16  8 16 16 16 16  8 16 16 20 24 20 16 20 40 20 20 16 20 12)
 (16 16  8  8 16  8 16 16 16  8  8 16  8 16 16 16 16 16 20 32 16  8  8  8)
 ( 0  8  8  8  8  0  0 16  8  0  0 16  8 16 16 16  8 16 20 16 32 16 16 16)
 ( 0  0  0  0  0  0  0  0  8  8  0  8  8 16  8  8  8 16 16  8 16 32 16 16)
 ( 0  0  0  0  0  0  0  0  8  0  8  8  8  8 16  8  8  8 20  8 16 16 32 16)
(-24 -8 -8 -8 -8 -8 -8  8 -8 -8 -8  8 -8  8  8  8 -8  8 12  8 16 16 16 32))
This is reminiscent of our simpler oblique coördinates. I suspect that L could be adjusted to make it fit the pattern. I am suspicious of vector 18 of L whose length is √40. The other vectors with 2’s have eight 2’s.

Symmetry

I think that all even permutations of the coördinates yield the same lattice. Since the lattice is chiral only even permutations work. By GL(n, ℤ) I mean the group of matrices of integers with determinant ±1. SL(n, ℤ) is the subgroup with determinant = 1. If M∊SL(n, ℤ) and L generates a the Leech lattice then so should ML. To test a point p for membership in the lattice check whether all the components of p(L−1) are integers. (matm L Li) yields the identity matrix illustrating that the vectors pf L belong to the lattice.

I think that I understand the construction of the Leech lattice at the bottom of page 14. There is a bug however in the C24 given there:

R[6]:  1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0
R[3]:  1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0
t[72]: 0 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 0 (w=6)
Perhaps other versions will do, such as Golay’s original which appears at the end of page 13:
(define G '(
 (1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1)
 (0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0)
 (0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 0)
 (0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 0 0 1 1 0)
 (0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 1 0 1 0 1 0 1 0)
 (0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 0 1 0)
 (0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 0 0 1 0 1 1)
 (0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 1 0 0 1 1)
 (0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 1 0 1 0 0 1 1 1)
 (0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 1 0 1 1 1)
 (0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1)
 (0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 0 0 1 1 1 1)))
The weights of these generators are computed as (map (lambda (x) (apply + x)) G) which yields (12 8 8 8 8 8 8 8 8 8 8 8).
Here is some C code that explores some of these variations on C24.

Contemplating a program to produce all of the lattice points in the cell [0, 7]24: There are 224 possibilities for the 4-bit in the 24 coordinates. Given one of those possibilities each 1-bit is determined. There remains the 212 Golay codes that inhabit the respective 2-bits. It would seem that there are 236 points to enumerate. This is daunting.

Lets review the rules that apply to the binary bits of the 24 integer coordinates of a point for the point to belong to the lattice. Either:

  1. there are an odd number of 4-bits and all of the 1-bits are 1.
  2. or there are an even number of 4-bits and all of the 1-bits are 0.
The 24 2-bits constitute a member of the Golay code.

This formula agrees with the first clause but I do not understand the Golay restrictions there.

Going by intuition first we note that (0, 0, ..., 0) is in the lattice and nearby lattice points might look like (5, 1, 1, 1, ..., 1) considering that (0, 0, ... 0) is a Golay code. (−3, 1, 1, 1, ... 1) is closer at a distance of √32. Note that the binary form of −3 is ...11101 and the 4 bit is on. There are 24 lattice points like this. (−3, −1, −1, 1, 1, 1, ... 1) is also at distance √32 but that point is not in the lattice since the pattern in the 2-bits is not a Golay code.
(−3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, −1, −1, −1, 1, 1, 1, −1, 1, 1, −1, −1, −1, −1) is in the lattice since its 2-bits form a Golay code. The −3 therein can be moved to any of the 24 positions and become a +3 if it displaces a −1; as in:
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, −1, 3, −1, 1, 1, 1, −1, 1, 1, −1, −1, −1, −1) There are thus 24∙212 = 98304 such lattice points, all at distance √32.

All of the other points with odd coordinates are farther away. Another close point is (4, 4, 0, 0, 0, ... 0) which is also at distance √32. (−4, 4, 0, 0, ... 0) are also in this category and there are 4∙24∙23/2 = 1104 in the category.

There are also the ‘pure Golay points’ such as
(0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 2, 2, 0, 0, 2, 2) at distance √32 from the origin. The signs of an even number of the 2’s can be flipped while remaining in conformance with the 4-bit rule. There are just 759 Golay codes of weight 8 and allowing for an even number of sign flips we have 128∙759 = 97152 lattice points of this sort.

Summing these three sorts of lattice point we get 98304 + 1104 + 97152 = 196560 (an oft quoted number) lattice points all at distance √32 from the origin.


another Paper.