Suppose, rather inconveniently, someone left a handful of unit circles in front of your small abode.
Beside the pile was a note, which read: “Please hold on to these circles for an extended period of time.”
Begrudgingly, you think about the best way to arrange these circles in such a way that they take up the least amount of space.
Do not fret, for this is the problem of circle packing, a well-studied problem under the broader class of packing problems.
Figure 1. An unfortunate situation, with a mathematical solution.
This post aims to give an overview on circle packing along with some interesting results that have been obtained in this field.
We assume no specific prior knowledge of the reader other than a basic understanding of geometry.
At its core, packing problems are an optimization problem.
They seek to find the best way to arrange a given set of objects in a given space.
The primary measure of success is packing density.
That is, the ratio of the total area of the packed objects to the area of the space they are packed in.
We are interested in finding the optimal packing that grants the highest packing density.
In this post, we will focus on the problem of identifying the optimal packing of circles in a lattice arrangement.
We roughly follow the proof outlined in [1], filling in some elementary details and providing some additional intuition along the way.
We note that lattices may be defined in higher dimensions, but for the purposes of this post, we are primarily interested in the two-dimensional case.
Specifically, two-dimensional lattices over R2.
We can essentially think of a lattice as a grid of points that extends infinitely in all directions.
Importantly, the points in a lattice are arranged in a regular, repeating pattern.
The points on the lattice will serve as the centers of the circles that we will be packing.
From this, our problem becomes finding the lattice arrangement that allows us to pack the circles with the highest density.
Figure 2. Lattice with v1=(1,0) and v2=(33,21).
Suppose we were given a lattice Λ and we centered a circle with radius r at each point in the lattice.
What is the largest radius r such that no two circles overlap?
Figure 3. Lattice with circles centered at each point. The circles overlap, so r is too large.
Figure 3 clearly shows that if we choose a radius r that is too large, the circles will overlap.
This motivates the idea of a Voronoi cell.
In other words, VΛ is the set of points that are closer to O than to any other point in the lattice Λ.
We can observe that if we place a circle at O, we would want all of its points to be contained within VΛ.
Hence, VΛ gives us an upper bound on the area within which we place our circle.
Figure 4. The Voronoi cell VΛ (blue, shaded) around the origin O for a hexagonal lattice. The inscribed circle (red, dashed) has radius r(Λ).
It turns out that the circle inscribed within VΛ is the largest circle that can be placed at O without overlapping with any other circles centered at other points in the lattice, motivating the following lemma.
Proof.
Let Λ be a lattice and l∈Λ.
Let
d=x∈Λ∖{l}min∥x−l∥
be the distance from l to its nearest other lattice point.
Due to the repeating, grid-like structure of the lattice, d is the same for every point in the lattice, so we can just consider l without loss of generality.
We note that two circles of radius r centered at l and l′∈Λ do not overlap if and only if ∥l−l′∥≥2r.
Thus, we have an upper bound r≤2∥l−l′∥ for every l′∈Λ∖{O}, which is equivalent to r≤2d.
We claim that 2d is exactly the in-radius of VΛ.
The boundary of VΛ lies on the perpendicular bisectors of segments from l to other lattice points l′∈Λ;
the bisector for l′ is at distance 2∥l−l′∥ from l.
The closest such bisector is therefore at distance 2d, which is the in-radius of VΛ.
Hence, the largest non-overlap radius equals the in-radius of VΛ.
□
Working within Voronoi cells allows us to express the overall packing density of a lattice in terms of the area of the Voronoi cell and the area of the inscribed circle.
That is,
Δ(Λ)=area of Voronoi cellarea of one circle.
Calculating the area of a circle is straightforward, but how do we calculate the area of a Voronoi cell?
To do so, we employ the concept of fundamental domains.
Figure 5. The parallelogram fundamental domain F (blue) formed by basis vectors v1,v2.
Proof.
We first prove that VΛ is Λ-covering.
Let P∈R2 be an arbitrary point.
We know that there exists a point l∈Λ that is closest to P.
Consider f=P−l.
We claim that f∈VΛ.
Since l is the closest point in Λ to P, we have ∥P−l∥≤∥P−x∥ for every x∈Λ.
Then, ∥f−O∥=∥P−l∥≤∥P−x∥=∥f−(x−l)∥ for every x∈Λ.
Since x is an arbitrary point in Λ, x−l is also an arbitrary point in Λ (since Λ is closed under addition and negation).
Thus, we know ∥f−O∥≤∥f−x′∥ for every x′∈Λ, which means f∈VΛ.
Since we started with f=P−l, we can rewrite this as P=l+f where l∈Λ and f∈VΛ, proving that VΛ is Λ-covering.
Next, we prove that VΛ is Λ-packing.
Note that for l∈Λ we have
l+VΛ={l+f:f∈VΛ}.
Let l1,l2∈Λ with l1=l2, and suppose x∈(l1+VΛ)∩(l2+VΛ).
Then x−l1∈VΛ and x−l2∈VΛ.
Applying the defining inequality of VΛ to x−l1 with the lattice point l2−l1∈Λ:
∥x−l1∥=∥(x−l1)−O∥≤∥(x−l1)−(l2−l1)∥=∥x−l2∥.
Symmetrically, applying it to x−l2 with the lattice point l1−l2∈Λ:
∥x−l2∥≤∥x−l1∥.
Combining, ∥x−l1∥=∥x−l2∥, meaning x lies on the perpendicular bisector of the segment l1l2 which is a line in R2, hence a set of 2-dimensional Lebesgue measure zero.
Therefore (l1+VΛ)∩(l2+VΛ) has measure zero.
Henceforth, we have shown that VΛ is both Λ-covering and Λ-packing, so VΛ is a fundamental domain for Λ.
□
It turns out that all fundamental domains of a lattice have the same area [2].
Since both a Voronoi cell and Fpar from Example 1 are fundamental domains for Λ, they must have the same area.
Thus, we can prove Lemma 3 which gives us a way to calculate the area of a Voronoi cell.
Proof.
From Theorem 8 in [2], we know that all fundamental domains of a lattice have the same area.
Since both VΛ and Fpar are fundamental domains for Λ, they have the same area.
□
Hence, we can express the packing density of a lattice Λ as
Δ(Λ)=∣det(Λ)∣πr(Λ)2
where r(Λ) is the radius of the inscribed circle of VΛ.
Our goal then becomes identifying the lattice Λ that maximizes Δ(Λ).
Our overall proof strategy to optimizing Δ(Λ) is as follows:
Reduce all lattices to WR lattices (explained in the next section). For any lattice Λ, we can construct ΛWR such that Δ(ΛWR)≥Δ(Λ).
Optimize over the space of WR lattices. We show that the formula for Δ(Λ) simplifies significantly for WR lattices, allowing for easy optimization. The subsequent solution is thus the optimal lattice packing of circles.
The core of our proof relies on the concept of Well-Rounded (WR) Lattices.
These are a special kind of lattice that satisfy a certain “roundness” condition.
In prose, a WR lattice is a lattice such that if we were to draw a circle centered at the origin and gradually increase its radius until it hits any lattice point, the circle would not stop at just one lattice point, but it would stop at two (linearly independent) lattice points at the same time.
We shall formalize this intuition with the following definition.
In other words, λi(Λ) is the smallest radius such that the circle of that radius centered at the origin contains i non-zero, linearly independent lattice point(s).
Figure 6. Circles with radius of successive minima λ1 (blue) and λ2 (red). The circle of radius λ1 first touches a lattice point x1; the circle of radius λ2 first contains a second linearly independent point x2.
It should be clear that for any Λ, we must have λ1(Λ)≤λ2(Λ).
Furthermore, throughout this post, given x1,x2 corresponding to successive minima, we replace x2 with −x2 if necessary to ensure that the angle between x1 and x2 is θ∈[0,2π].
We are specifically interested in the case where λ1(Λ)=λ2(Λ);
the lattices that satisfy this condition are called WR lattices.
We can also use the notion of successive minima defined in Definition 4 to express the packing density Δ(Λ) in terms of λ1(Λ).
That is, the radius of the inscribed circle of VΛ is given by 2λ1(Λ).
Hence, r(Λ)=2λ1(Λ) and it follows,
Δ(Λ)=∣det(Λ)∣πr(Λ)2=4∣det(Λ)∣πλ1(Λ)2.
Of course, not all lattices are WR lattices.
So, the next thing we want to do is find a way to “round out” any lattice Λ into a WR lattice.
To do so, we must make the observation that the corresponding successive minima vectors x1,x2 of some lattice Λ form a basis for Λ.
This result was proven in [1, Lemma 3.3] which we restate as Lemma 4.
Also proved in [1] is the following result.
Lemma 5 gives us a concrete way to transform any lattice Λ into a WR lattice ΛWR.
Importantly for our purposes, ΛWR has the same first successive minimum as Λ.
This leads us to our next lemma.
Proof.
Let Λ be a lattice with successive minima λ1(Λ) and λ2(Λ) and corresponding basis vectors x1,x2, respectively.
By Lemma 4, we know that x1,x2 form a basis for Λ.
Then, we apply the transformation given in Lemma 5 with x1 and x2 as basis to obtain a WR lattice ΛWR such that λ1(ΛWR)=λ1(Λ).
Let y1,y2 be the corresponding successive minima vectors for ΛWR (and also basis by Lemma 4 of ΛWR).
We note that the transformation preserves the directions of the basis vectors;
y1 is just x1 and y2 is just a scaled version of x2 and λ2(Λ)λ1(Λ) is positive.
Hence, the angle θ between x1 and x2 is the same as the angle between y1 and y2.
Δ(ΛWR)=4∣det(ΛWR)∣πλ1(ΛWR)2=4∣det(ΛWR)∣π∥y1∥2=4∥y1∥∥y2∥sinθπ∥y1∥2=4∥y1∥2sinθπ∥y1∥2=4sinθπ.[By Definition 4][θ is the angle between y1,y2][ΛWR is WR, so ∥y1∥=∥y2∥]
Finally, since by Definition 4 we have λ1(Λ)≤λ2(Λ) and thus ∥x1∥≤∥x2∥ which means ∥x2∥∥x1∥≤1, it follows that
Δ(ΛWR)=4sinθπ≥∥x2∥∥x1∥⋅4sinθπ=Δ(Λ).
Therefore, we have shown that for any lattice Λ, there exists a WR lattice ΛWR such that Δ(ΛWR)≥Δ(Λ).
□
Proof.
Suppose for the sake of contradiction that the optimal packing density is achieved by a lattice Λ that is not a WR lattice.
By Lemma 6, there exists a WR lattice ΛWR such that Δ(ΛWR)≥Δ(Λ).
Since Λ achieves the optimal packing density, then we must have Δ(ΛWR)=Δ(Λ).
Thus, as shown in the proof of Lemma 6, we have
where x1,x2 are the corresponding successive minima vectors for Λ and θ is the angle between x1 and x2.
So, ∥x1∥=∥x2∥⟹λ1(Λ)=λ2(Λ), which means Λ is a WR lattice, contradicting our initial assumption.
□
Therefore, we can restrict our search for the optimal packing density to only WR lattices.
This benefits us greatly as the formula for Δ(ΛWR) where ΛWR is a WR lattice simplifies to Δ(ΛWR)=4sinθπ as shown in the proof of Lemma 6.
Thus, our task becomes finding the angle θ between the two basis vectors of a WR lattice that minimizes sinθ, which is equivalent to maximizing Δ(ΛWR).
With θ∈[0,2π], the sinθ term in Δ(ΛWR)=4sinθπ is minimized when θ is minimized.
Thus, we must first place a lower bound on the angle θ between the two basis vectors of a lattice, motivating the following lemma.
Proof.
Suppose towards contradiction that θ<3π.
Using a standard linear algebra result, we know cosθ=∥x1∥∥x2∥x1⋅x2.
Since 0≤θ<3π, we have cosθ>21.
It follows that
By Definition 4, we have λ1(Λ)≤λ2(Λ) and thus ∥x1∥≤∥x2∥.
Then, ∥x1∥2=∥x1∥∥x1∥≤∥x1∥∥x2∥⟹∥x1∥2−∥x1∥∥x2∥≤0.
Thus, it follows
∥x1−x2∥2<∥x2∥2⟹∥x1−x2∥<∥x2∥.
However, we note that this is a contradiction.
Since x1 and x2 are distinct and linearly independent, x1−x2 is a non-zero vector in Λ.
We also know that x1−x2 is linearly independent from x1 since x1 and x2 are linearly independent.
∥x1−x2∥<∥x2∥ tells us then that x1−x2 is a non-zero vector in Λ that is linearly independent from x1 and is shorter than x2, contradicting the fact that x2 realizes the second successive minimum λ2(Λ), i.e. that x2 is the shortest non-zero vector in Λ linearly independent from x1.
Therefore, we must have θ≥3π.
□
We also need a partial converse of Lemma 7: if a basis has equal-length vectors with an angle in [3π,2π], then it already realizes the successive minima.
This was proven as Lemma 3.5 in [1], which we restate as Lemma 8.
Next, we can give an example of a WR lattice that achieves the lower bound of θ, motivating the following theorem.
Proof.
By Corollary 1, the optimal packing density is achieved by some WR lattice, and the proof of Lemma 6 shows that for any WR lattice ΛWR, Δ(ΛWR)=4sinθπ,
where θ∈[0,2π] is the angle between the two basis vectors. By Lemma 7, θ≥3π, so sinθ≥23, with equality (hence Δ maximized) precisely when θ=3π.
We claim Λhex realizes this optimum. Let x1=(1,0) and x2=(21,23).
_Λhex is a WR lattice with basis angle 3π._
Compute ∥x1∥2=1 and ∥x2∥2=41+43=1, so ∥x1∥=∥x2∥=1. The angle between them satisfies
cosθ=∥x1∥∥x2∥x1⋅x2=1⋅11⋅21+0⋅23=21,
so θ=3π∈[3π,2π]. By Lemma 8, x1,x2 correspond to the successive minima of Λhex, and Λhex is WR.
Therefore
Δ(Λhex)=4sin3ππ=23π≈0.9069,
and this is the optimal packing density of circles in a lattice arrangement in R2.
□
Therefore, we have shown that the optimal packing density of circles in a lattice arrangement is achieved by the hexagonal lattice, with packing density approximately 0.9069.
Figure 7.Λhex with circles centered at each point.
In this post, we proved the optimal packing density of circles under the restriction of a lattice arrangement.
Rather remarkably, it turns out that if we lift the lattice restriction, the optimal packing density of circles in R2 is still achieved by the hexagonal packing arrangement.
While outside of the scope of this post, the proof of this more general result was first published by Axel Thue;
however, his proof was considered incomplete and was not widely accepted until László Fejes Tóth published a complete proof in 1942 [4].
The circle packing problem has also been extensively studied across higher dimensions (sphere packing).
More recently, the sphere packing problem in 8 and 24 dimensions was solved by Maryna Viazovska and collaborators, with the optimal packings in these dimensions being the E8 lattice and the Leech lattice, respectively [5, 6].
While, clearly, this post represents only a sliver of the rich literature on packing problems, it illuminates some of the key techniques, terminology, and vocabulary that are commonly used in the field.
Furthermore, while particularly useful for packing problems, lattices, Voronoi cells, and fundamental domains are also widely used in other areas of mathematics, such as number theory and cryptography.
They find use-cases in more applied fields as well, such as coding theory and communications.
Overall, the study of packing problems and the associated mathematical tools is a vibrant area of research with deep connections to many other fields.