# Map homemade Leech lattice to classic one

In following question on MathOverflow I received construction of new Leech lattice provided by Noam Elkies. Let's call it $(E)$. This Leech lattice has nice feature that there is easy to see $24$ vectors having pairwise scalar product $\frac{1}{4}$ (in case when we have unit vectors in Leech lattice). As defined in answer length of $(E)$ lattice vector is $\sqrt {48}$. The $24$ vectors having pairwise $\frac{1}{4}$ scalar product are $-5,1^{23}$ and permutations.

I would like to map this lattice to classical Leech lattice. Let's call it $(C)$. The definition of classical Leech lattice can be found for example here. The length of $(C)$ lattice vector is $\sqrt {32}$.

My question is how to map lattice $(E)$ to lattice $(C)$. I thought it is easy, but it isn't. We need to select proper basis in one lattice and in another. It should be done in a way, so given Leech lattice is oriented in the same way to one as to the second. This is not easy task. It really requires much understanding what are the symmetries of Leech lattice.

For example I observed that permutation $(1..23)$ of first 23 coordinates preserve both lattices. There is just one fixed vector by this automorphism. Next I tried to find somehow remaining $23$ vectors which would be oriented the same way but no luck so far.

I asked this question on Stack Exchange $12$ days ago without any answer. Therefore I am trying here now.

At this moment I am considering following idea.

1. Find $E_8$ sublattice.
2. Filter perpendicular $\Lambda_{16}$.
3. Decompose $\Lambda_{16}$ to two perpendicular $E_8$. Now we have three perpendicular $E_8$ in Leech lattice $L$.
4. Find orthogonal basis in each of three $E_8$ built from lattice vectors. We need to do it in good way so combined basis of $24$ vectors can be used for mapping between two Leech lattices.

Regards,

I applied following method to map Elkies Leech lattice to the classic one. I describe first general algorithm and next concrete realization and GAP code.

General algorithm

Let $p$ be order $23$ automorphism of Leech lattice $L$. There is only one vector fixed, let's call it $u_0$. There is also one vector "type 4" fixed by $p$, let's call it $v_0$. (Vector "type 4" is sum of two perpendicular Leech vectors). Let $N$ denote $23-dimensional$ space perpendicular to $v_0$. Assume that we found $v_1$ vector of "type 4" in $N$ such that image of it under $p$ is perpendicular to it. This means orbit of $23$ vectors obtained under action of $p$ on $v_1$ consist of pairwise perpendicular vectors forming ortogonal basis of $N$. Let's denote them $v_1, v_2,...,v_{23}$. I claim that $v_1, v_2,...,v_{23}, v_0$ form good basis of Leech lattice. We should maybe change the sign of $v_0$ vector. By good basis I mean that we can select the same way another basis and by mapping two of them we obtain automorphism of Leech lattices.

Concrete realization

Apply these algorithm to Elkies lattice defined here. Let $v_0=u_\infty$ and $v_j=3u_\infty-2u_j$. Vector $v_0$ is of shape$(2^{24})$. Vector $v_1$ is of shape $(2^{12},-2^{12})$. Remaining vectors $v_2,...v_{23}$ are obtained from $v_1$ by permutation $(1,2,...,23)$. All vectors $v_i$ are perpendicular, beacause any 2 patterns of 12 minuses intersect in 6 positions. Vectors $v_1,...,v_{23},-v_0$ form good basis.

GAP code

I removed comments starting with # because it is not presented well here.

v:=Concatenation([-5],List([1..23],k->1)); p:=PermList(Concatenation([2..24],1)); B:=List([1..24],k->Permuted(v,p^(k-1)));

u0:=Sum(B)/9;
uu:=List([1..23],j->Sum(B{List([0..11],a->((a*a+j-1) mod 23)+1)})/3);;
uu:=List(uu,x->3*u0-2*x);

C:=TransposedMat(Concatenation(uu,[-u0]));;
C_:=C^-1;;

Obtained $C^{-1}$ matrix I will use to convert Elkies lattice to classic one by multiplying $C^{-1}v$. I multiply matrix by vector from the left while GAP do it from the right.