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.
-
SpherePacking.finiteDensity_le[complete] -
SpherePacking.finiteDensity_ge[complete]
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.1●2 theorems
Associated Lean declarations
-
SpherePacking.finiteDensity_le[complete]
-
SpherePacking.finiteDensity_ge[complete]
-
SpherePacking.finiteDensity_le[complete] -
SpherePacking.finiteDensity_ge[complete]
-
theoremdefined in SpherePacking/Basic/SpherePacking.leancomplete
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)
-
theoremdefined in SpherePacking/Basic/SpherePacking.leancomplete
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)
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.
-
PeriodicSpherePacking.aux2_ge'[complete] -
PeriodicSpherePacking.aux2_le'[complete]
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.2●2 theorems
Associated Lean declarations
-
PeriodicSpherePacking.aux2_ge'[complete]
-
PeriodicSpherePacking.aux2_le'[complete]
-
PeriodicSpherePacking.aux2_ge'[complete] -
PeriodicSpherePacking.aux2_le'[complete]
-
theoremdefined in SpherePacking/Basic/PeriodicPacking.leancomplete
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))
-
theoremdefined in SpherePacking/Basic/PeriodicPacking.leancomplete
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))
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.
-
PeriodicSpherePacking.aux_ge[complete] -
PeriodicSpherePacking.aux_le[complete]
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.3●2 theorems
Associated Lean declarations
-
PeriodicSpherePacking.aux_ge[complete]
-
PeriodicSpherePacking.aux_le[complete]
-
PeriodicSpherePacking.aux_ge[complete] -
PeriodicSpherePacking.aux_le[complete]
-
theoremdefined in SpherePacking/Basic/PeriodicPacking.leancomplete
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
-
theoremdefined in SpherePacking/Basic/PeriodicPacking.leancomplete
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
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.
-
volume_ball_ratio_tendsto_nhds_one''[complete]
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.4●1 theorem
Associated Lean declarations
-
volume_ball_ratio_tendsto_nhds_one''[complete]
-
volume_ball_ratio_tendsto_nhds_one''[complete]
-
theoremdefined in SpherePacking/Basic/PeriodicPacking.leancomplete
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)
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.
-
PeriodicSpherePacking.density_eq[complete]
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.5●1 theorem
Associated Lean declarations
-
PeriodicSpherePacking.density_eq[complete]
-
PeriodicSpherePacking.density_eq[complete]
-
theoremdefined in SpherePacking/Basic/PeriodicPacking.leancomplete
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))
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}}.