Basic properties of the E₈ lattice #
We define the E₈ lattice in two ways, as the ℤ-span of a chosen basis (E8Matrix), and as the set
of vectors in ℝ^8 with sum of coordinates an even integer and coordinates either all integers or
half-integers (E8_Set). We prove these two definitions are equivalent, and prove various
properties about the E₈ lattice.
See also earlier work which inspired this one, by Gareth Ma: https://github.com/thefundamentaltheor3m/Sphere-Packing-Lean/blob/42c839d1002f5bcc1f8d2eb73190d97cd9c52852/SpherePacking/Basic/E8.lean
Main declarations #
Submodule.E8: The E₈ lattice as a submodule ofFin 8 → Rfor a fieldRin which2is nonzero. We define it to be the set of vectors inFin 8 → Rsuch that the sum of coordinates is even, and either all coordinates are integers, or all coordinates are half of an odd integer.Submodule.E8_eq_sup: The E₈ lattice can be seen as the smallest submodule containing both: the even lattice (the lattice of all integer points whose sum of coordinates is even); and the submodule spanned by the vector which is 2⁻¹ in each coordinate.E8Matrix: An explicit matrix whose rows form a basis for the E₈ lattice over ℤ.E8Matrix_unimodular: A proof thatE8Matrixhas determinant 1.span_E8Matrix_eq_top: Theℝ-span ofE8Matrixis the whole ofℝ⁸.span_E8Matrix: Theℤ-span ofE8Matrixis the E₈ lattice. This is the third characterisation of the E₈ lattice given in this file.E8_integral: The E₈ lattice is integral, i.e., the dot product of any two vectors in E₈ is an integer.E8_integral_self: The E₈ lattice is even, i.e., the norm-squared of any vector in E₈ is an even integer.E8Lattice: The E₈ lattice as a submodule of eight-dimensional Euclidean space. This additional definition is valuable, since it now puts the correct metric space structure on the lattice.E8Packing: The E₈ packing as a periodic sphere packing.E8Packing_density: The density of the E₈ packing isπ ^ 4 / 384.
Equations
Instances For
theorem
linearIndependent_E8Matrix
(R : Type u_2)
[Field R]
[NeZero 2]
:
LinearIndependent R (E8Matrix R).row
theorem
E8_integral
{R : Type u_2}
[Field R]
[CharZero R]
(v w : Fin 8 → R)
(hv : v ∈ Submodule.E8 R)
(hw : w ∈ Submodule.E8 R)
:
@[reducible, inline]
Equations
- E8Lattice = Submodule.map (WithLp.linearEquiv 2 ℤ (Fin 8 → ℝ)).symm (Submodule.E8 ℝ)
Instances For
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
ZSpan.volume_fundamentalDomain'
{ι : Type u_2}
[Fintype ι]
[DecidableEq ι]
(b : Module.Basis ι ℝ (ι → ℝ))
:
theorem
test''
{ι : Type u_2}
[Fintype ι]
(s : Set (EuclideanSpace ℝ ι))
:
MeasureTheory.volume (⇑(WithLp.equiv 2 ((i : ι) → (fun (x : ι) => ℝ) i)).symm ⁻¹' s) = MeasureTheory.volume s
theorem
same_domain :
⇑(WithLp.linearEquiv 2 ℝ ((i : Fin 8) → (fun (x : Fin 8) => ℝ) i)).symm ⁻¹' ZSpan.fundamentalDomain (Module.Basis.ofZLatticeBasis ℝ E8Lattice E8_ℤBasis) = ZSpan.fundamentalDomain (E8Basis ℝ)