Sphere Packing in R^8

3. Density of Packings🔗

The definition of density for sphere packings is inconvenient to work with, especially when our packing is a structured one, such as a periodic or lattice packing. This section fixes this problem.

Note that some of the proofs in this section have only been sketched. The finer details are formalised in Lean.

Observe that the finite density evaluated at some R > 0 measures the density of sphere packings within a bounded open ball of radius R. As one might expect, there is a relationship between the finite density and the number of centers in the ball of radius R.

Lemma3.1
uses 1used by 1markupTeXL∃∀N

For any R > 0, \left|X \cap \mathcal{B}_d\left(R - \frac{r}{2}\right)\right| \cdot \frac{\mathrm{Vol}\left(\mathcal{B}_d\left(\frac{r}{2}\right)\right)}{\mathrm{Vol}(\mathcal{B}_d(R))} \leq \Delta_{\mathcal{P}}(R) \leq \left|X \cap \mathcal{B}_d\left(R + \frac{r}{2}\right)\right| \cdot \frac{\mathrm{Vol}\left(\mathcal{B}_d\left(\frac{r}{2}\right)\right)}{\mathrm{Vol}(\mathcal{B}_d(R))}. This is the basic estimate for Definition 2.2.

Lean code for Lemma3.12 theorems
  • complete
    theorem SpherePacking.finiteDensity_le {d : } (S : SpherePacking d)
      (hd : 0 < d) (R : ) :
      S.finiteDensity R 
        (S.centers  Metric.ball 0 (R + S.separation / 2)).encard *
            MeasureTheory.volume (Metric.ball 0 (S.separation / 2)) /
          MeasureTheory.volume (Metric.ball 0 R)
    theorem SpherePacking.finiteDensity_le {d : }
      (S : SpherePacking d) (hd : 0 < d)
      (R : ) :
      S.finiteDensity R 
        (S.centers 
                  Metric.ball 0
                    (R +
                      S.separation /
                        2)).encard *
            MeasureTheory.volume
              (Metric.ball 0
                (S.separation / 2)) /
          MeasureTheory.volume
            (Metric.ball 0 R)
  • complete
    theorem SpherePacking.finiteDensity_ge {d : } (S : SpherePacking d)
      (hd : 0 < d) (R : ) :
      S.finiteDensity R 
        (S.centers  Metric.ball 0 (R - S.separation / 2)).encard *
            MeasureTheory.volume (Metric.ball 0 (S.separation / 2)) /
          MeasureTheory.volume (Metric.ball 0 R)
    theorem SpherePacking.finiteDensity_ge {d : }
      (S : SpherePacking d) (hd : 0 < d)
      (R : ) :
      S.finiteDensity R 
        (S.centers 
                  Metric.ball 0
                    (R -
                      S.separation /
                        2)).encard *
            MeasureTheory.volume
              (Metric.ball 0
                (S.separation / 2)) /
          MeasureTheory.volume
            (Metric.ball 0 R)
Proof for Lemma 3.1
uses 1

The high-level idea is to prove that \mathcal{P} \cap \mathcal{B}_d(R) = \left(\bigcup_{x \in X} \mathcal{B}_d\left(x, \frac{r}{2}\right)\right) \subseteq \bigcup_{x \in X \cap \mathcal{B}_d\left(R + \frac{r}{2}\right)} \mathcal{B}_d\left(x, \frac{r}{2}\right), and a similar inequality for the lower bound. The rest follows by rearranging and using the fact that the balls are pairwise disjoint in [??].

Suppose further that X is a periodic packing with respect to the lattice \Lambda \subseteq \R^d. Let \mathcal{D} be a bounded fundamental region of \Lambda, say the parallelopiped [0,1]^n\Lambda, and let L be a bound on the norm of vectors in \mathcal{D}, that is, a number satisfying \forall x \in \mathcal{D}, \|x\| \leq L.

Lemma3.2
Group: Volume-count asymptotics for lattice and periodic center sets. (2)
Group member previews
Preview
Lemma 3.3
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1markupTeXL∃∀N

For all R, we have the following inequality relating the number of lattice points from \Lambda in a ball with the volume of the ball and the fundamental region \mathcal{D}: \frac{\mathrm{Vol}(\mathcal{B}_d(R - L))}{\mathrm{Vol}(\mathcal{D})} \leq \left|\Lambda \cap \mathcal{B}_d(R)\right| \leq \frac{\mathrm{Vol}(\mathcal{B}_d(R + L))}{\mathrm{Vol}(\mathcal{D})}.

Lean code for Lemma3.22 theorems
  • complete
    theorem PeriodicSpherePacking.aux2_ge'.{u_1} {d : }
      (S : PeriodicSpherePacking d) {ι : Type u_1} [Finite ι] {L : }
      (R : ) (b : Module.Basis ι  S.lattice)
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis  S.lattice b),
          x  L)
      (hd : 0 < d) :
      (S.lattice  Metric.ball 0 R).encard 
        MeasureTheory.volume (Metric.ball 0 (R - L)) /
          MeasureTheory.volume
            (ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis  S.lattice b))
    theorem PeriodicSpherePacking.aux2_ge'.{u_1}
      {d : } (S : PeriodicSpherePacking d)
      {ι : Type u_1} [Finite ι] {L : }
      (R : )
      (b : Module.Basis ι  S.lattice)
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis 
                S.lattice b),
          x  L)
      (hd : 0 < d) :
      (S.lattice  Metric.ball 0 R).encard 
        MeasureTheory.volume
            (Metric.ball 0 (R - L)) /
          MeasureTheory.volume
            (ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis 
                S.lattice b))
  • complete
    theorem PeriodicSpherePacking.aux2_le'.{u_1} {d : }
      (S : PeriodicSpherePacking d) {ι : Type u_1} [Finite ι] {L : }
      (R : ) (b : Module.Basis ι  S.lattice)
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis  S.lattice b),
          x  L)
      (hd : 0 < d) :
      (S.lattice  Metric.ball 0 R).encard 
        MeasureTheory.volume (Metric.ball 0 (R + L)) /
          MeasureTheory.volume
            (ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis  S.lattice b))
    theorem PeriodicSpherePacking.aux2_le'.{u_1}
      {d : } (S : PeriodicSpherePacking d)
      {ι : Type u_1} [Finite ι] {L : }
      (R : )
      (b : Module.Basis ι  S.lattice)
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis 
                S.lattice b),
          x  L)
      (hd : 0 < d) :
      (S.lattice  Metric.ball 0 R).encard 
        MeasureTheory.volume
            (Metric.ball 0 (R + L)) /
          MeasureTheory.volume
            (ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis 
                S.lattice b))
Proof for Lemma 3.2
uses 0

For the first inequality, it suffices to prove that \mathcal{B}_d(R - L) \subseteq \bigcup_{x \in \Lambda \cap \mathcal{B}_d(R)} (x + \mathcal{D}), since the cosets on the right are disjoint. For a vector v \in \mathcal{B}_d(R - L), we have \|v\| < R - L by definition. Since \mathcal{D} is a fundamental domain, there exists a lattice point x \in \Lambda such that v \in x + \mathcal{D}. Rearranging gives v - x \in \mathcal{D}, which means \|v - x\| \leq L. By the triangle inequality, \|x\| < R, so x \in \mathcal{B}_d(R). /- source paragraph break -/ For the second inequality, we prove that \bigcup_{x \in \Lambda \cap \mathcal{B}_d(R)} (x + \mathcal{D}) \subseteq \mathcal{B}_d(R + L). Consider a vector x \in \Lambda \cap \mathcal{B}_d(R) and a vector y \in x + \mathcal{D}. Then \|x\| < R and \|y - x\| \leq L, so \|y\| < R + L, concluding the proof.

To link Lemma 3.1 and Lemma 3.2, we need a lemma relating |\Lambda \cap \mathcal{B}| with |X \cap \mathcal{B}|, which is what the following lemma does.

Lemma3.3
Group: Volume-count asymptotics for lattice and periodic center sets. (2)
Group member previews
Preview
Lemma 3.2
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1markupTeXL∃∀N

For all R, we have the following inequality relating the number of points from X periodic with respect to \Lambda in a ball with the number of points from \Lambda: \left|\Lambda \cap \mathcal{B}_d(R - L)\right|\left|X / \Lambda\right| \leq \left|X \cap \mathcal{B}_d(R)\right| \leq \left|\Lambda \cap \mathcal{B}_d(R + L)\right|\left|X / \Lambda\right|.

Lean code for Lemma3.32 theorems
  • complete
    theorem PeriodicSpherePacking.aux_ge.{u_1} {d : } (S : PeriodicSpherePacking d)
      (hd : 0 < d) {ι : Type u_1} [Finite ι]
      (b : Module.Basis ι  S.lattice) {L : }
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis  S.lattice b),
          x  L)
      (R : ) :
      (S.centers  Metric.ball 0 R).encard 
        S.numReps  (S.lattice  Metric.ball 0 (R - L)).encard
    theorem PeriodicSpherePacking.aux_ge.{u_1} {d : }
      (S : PeriodicSpherePacking d)
      (hd : 0 < d) {ι : Type u_1} [Finite ι]
      (b : Module.Basis ι  S.lattice)
      {L : }
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis 
                S.lattice b),
          x  L)
      (R : ) :
      (S.centers  Metric.ball 0 R).encard 
        S.numReps 
          (S.lattice 
              Metric.ball 0 (R - L)).encard
  • complete
    theorem PeriodicSpherePacking.aux_le.{u_1} {d : } (S : PeriodicSpherePacking d)
      (hd : 0 < d) {ι : Type u_1} [Finite ι]
      (b : Module.Basis ι  S.lattice) {L : }
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis  S.lattice b),
          x  L)
      (R : ) :
      (S.centers  Metric.ball 0 R).encard 
        S.numReps  (S.lattice  Metric.ball 0 (R + L)).encard
    theorem PeriodicSpherePacking.aux_le.{u_1} {d : }
      (S : PeriodicSpherePacking d)
      (hd : 0 < d) {ι : Type u_1} [Finite ι]
      (b : Module.Basis ι  S.lattice)
      {L : }
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis 
                S.lattice b),
          x  L)
      (R : ) :
      (S.centers  Metric.ball 0 R).encard 
        S.numReps 
          (S.lattice 
              Metric.ball 0 (R + L)).encard
Proof for Lemma 3.3
uses 0

For the first inequality, we notice that \bigcup_{x \in \Lambda \cap \mathcal{B}_d(R - L)} (x + \mathcal{D}) \subseteq \mathcal{B}_d(R), because for x \in \Lambda \cap \mathcal{B}_d(R - L) and y \in x + \mathcal{D}, we have \|x\| < R - L and \|y - x\| \leq L, so \|y\| < R by the triangle inequality. Intersecting both sides with X and simplifying, we get \left(\bigcup_{x \in \Lambda \cap \mathcal{B}_d(R - L)} (x + \mathcal{D})\right) \cap X = \bigcup_{x \in \Lambda \cap \mathcal{B}_d(R - L)} ((x + \mathcal{D}) \cap X) \subseteq \mathcal{B}_d(R) \cap X. Taking cardinalities and noting that |(x + \mathcal{D}) \cap X| = |X / \Lambda| for all x, we obtain |\Lambda \cap \mathcal{B}_d(R - L)||X / \Lambda| \leq |X \cap \mathcal{B}_d(R)|. /- source paragraph break -/ The proof of the second inequality is similar. We again observe that \mathcal{B}_d(R) \subseteq \bigcup_{x \in \Lambda \cap \mathcal{B}_d(R + L)} (x + \mathcal{D}), which follows from the tiling property of a fundamental domain. Intersecting both sides with X and taking cardinalities concludes the proof. /- source paragraph break -/ There are several technicalities when formalising in Lean, such as having to prove that |\Lambda \cap \mathcal{B}_d(R)| is countable and finite. Those are handled in aux3.

When we combine the inequalities above, we need one additional computational lemma.

Lemma3.4
Group: Volume-count asymptotics for lattice and periodic center sets. (2)
Group member previews
Preview
Lemma 3.2
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 1markupTeXL∃∀N

For any constant C > 0, we have \lim_{R \to \infty} \frac{\mathrm{Vol}(\mathcal{B}_d(R))}{\mathrm{Vol}(\mathcal{B}_d(R + C))} = 1.

Lean code for Lemma3.41 theorem
  • complete
    theorem volume_ball_ratio_tendsto_nhds_one'' {d : } {C C' : } (hd : 0 < d) :
      Filter.Tendsto
        (fun R 
          MeasureTheory.volume (Metric.ball 0 (R + C)) /
            MeasureTheory.volume (Metric.ball 0 (R + C')))
        Filter.atTop (nhds 1)
    theorem volume_ball_ratio_tendsto_nhds_one''
      {d : } {C C' : } (hd : 0 < d) :
      Filter.Tendsto
        (fun R 
          MeasureTheory.volume
              (Metric.ball 0 (R + C)) /
            MeasureTheory.volume
              (Metric.ball 0 (R + C')))
        Filter.atTop (nhds 1)
Proof for Lemma 3.4
uses 0

Write out the formula for the volume of a ball and simplify. More specifically, we have \mathrm{Vol}(\mathcal{B}_d(R)) = R^d \pi^{d / 2} / \Gamma\left(\frac{d}{2} + 1\right), so \mathrm{Vol}(\mathcal{B}_d(R)) / \mathrm{Vol}(\mathcal{B}_d(R + C)) = R^d / (R + C)^d = \left(1 - \frac{1}{R + C}\right)^d, which tends to 1.

Finally, we can relate the density of a periodic sphere packing to the natural definition of density given by any of its fundamental domains.

Theorem3.5
uses 1used by 1markupTeXL∃∀N

For a periodic sphere packing \mathcal{P} = \mathcal{P}(X) with centers X periodic with respect to the lattice \Lambda and separation r, \Delta_{\mathcal{P}} = |X / \Lambda| \cdot \frac{\Vol{\mathcal{B}_d(r / 2)}}{\Vol{\R^d / \Lambda}}. This identifies Definition 2.3 for periodic packings.

Lean code for Theorem3.51 theorem
  • complete
    theorem PeriodicSpherePacking.density_eq.{u_3} {d : }
      {S : PeriodicSpherePacking d} {ι : Type u_3} [Finite ι]
      (b : Module.Basis ι  S.lattice) {L : }
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis  S.lattice b),
          x  L)
      (hd : 0 < d) :
      S.density =
        S.numReps *
            MeasureTheory.volume (Metric.ball 0 (S.separation / 2)) /
          MeasureTheory.volume
            (ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis  S.lattice b))
    theorem PeriodicSpherePacking.density_eq.{u_3}
      {d : } {S : PeriodicSpherePacking d}
      {ι : Type u_3} [Finite ι]
      (b : Module.Basis ι  S.lattice)
      {L : }
      (hL :
        
          x 
            ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis 
                S.lattice b),
          x  L)
      (hd : 0 < d) :
      S.density =
        S.numReps *
            MeasureTheory.volume
              (Metric.ball 0
                (S.separation / 2)) /
          MeasureTheory.volume
            (ZSpan.fundamentalDomain
              (Module.Basis.ofZLatticeBasis 
                S.lattice b))
Proof for Theorem 3.5
Proof uses 4
Proof dependency previews

Fix any fundamental domain \mathcal{D} (induced by any basis) of the lattice \Lambda. Combining Lemma 3.1, Lemma 3.2 and Lemma 3.3, we get the following inequality for the finite density: |X / \Lambda| \cdot \frac{\Vol{\mathcal{B}_d(r / 2)}}{\Vol{\R^d / \Lambda}} \cdot \frac{\Vol{\mathcal{B}_d(R - r / 2 - 2L)}}{\Vol{\mathcal{B}_d(R)}} \leq \Delta_{\mathcal{P}}(R) \leq |X / \Lambda| \cdot \frac{\Vol{\mathcal{B}_d(r / 2)}}{\Vol{\R^d / \Lambda}} \cdot \frac{\Vol{\mathcal{B}_d(R + r / 2 + 2L)}}{\Vol{\mathcal{B}_d(R)}}. Taking limit on both sides as R \to \infty and apply the Sandwich theorem and Lemma 3.4, we get \Delta_{\mathcal{P}} = \limsup_{R \to \infty} \Delta_{\mathcal{P}}(R) = \lim_{R \to \infty} \Delta_{\mathcal{P}}(R) = |X / \Lambda| \cdot \frac{\Vol{\mathcal{B}_d(r / 2)}}{\Vol{\R^d / \Lambda}}.