4 Facts from Fourier analysis
Recall the definition of a Fourier transform.
The Fourier transform of an \(L^1\)-function \(f:\mathbb {R}^d\to \mathbb {C}\) is defined as
where \(\langle x, y \rangle = \frac12\| x\| ^2 + \frac12\| y\| ^2 - \frac12\| x - y\| ^2\) is the standard scalar product in \(\mathbb {R}^d\).
The following computational result will be of use later on.
redFill in proof.
Of great interest to us will be a specific family of functions, known as Schwartz Functions. The Fourier transform behaves particularly well when acting on Schwartz functions. We elaborate in the following subsections.
4.1 On Schwartz Functions
A \(C^\infty \) function \(f:\mathbb {R}^d\to \mathbb {C}\) is called a Schwartz function if it decays to zero as \(\| x\| \to \infty \) faster then any inverse power of \(\| x\| \), and the same holds for all partial derivatives of \(f\), ie, if for all \(k, n \in \mathbb {N}\), there exists a constant \(C \in \mathbb {R}\) such that for all \(x \in \mathbb {R}^d\), \(\left\lVert x \right\rVert ^k \cdot \left\lVert f^{(n)}(x) \right\rVert \leq C\), where \(f^{(n)}\) denotes the \(n\)-th derivative of \(f\) considered along with the appropriate operator norm. The set of all Schwartz functions from \(\mathbb {R}^d\) to \(\mathbb {C}\) is called the Schwartz space. It is an \(\mathbb {R}\)-vector space.
The Fourier transform is a continuous, linear automorphism of the space of Schwartz functions.
We do not elaborate here as the result already exists in Mathlib. We do, however, mention that the Lean implementation defines a continuous linear equivalence on the Schwartz space using the Fourier transform (see SchwartzMap.fourierTransformCLM
). The ‘proof’ that for any Schwartz function \(f\), its Fourier transform and its image under this continuous linear equivalence are, indeed, the same \(\mathbb {R}^d \to \mathbb {R}\) function, is stated in Mathlib solely for the purpose of rw
and simp
tactics, and is proven simply by rfl
.
Another reason we are interested in Schwartz Functions is that they behave well under infinite sums. This will be useful to us when proving the Cohn-Elkies linear programming bound.
4.2 On the Summability of Schwartz Functions
We begin by stating a general summability result over specific subsets of \(\mathbb {R}^d\).
Let \(X \subset \mathbb {R}^d\) be a set of sphere packing centres of separation \(1\) that is periodic with some lattice \(\Lambda \subset \mathbb {R}^d\). Then, there exists \(k \in \mathbb {N}\) sufficiently large such that
First, note that it does not matter how we number the (countably many) elements of the discrete set \(X\): if we prove absolute convergence for one numbering, we prove absolute convergence for any numbering. The idea will be to bound the sequence of partial sums by considering the volumes of concentric \(d\)-spheres of the appropriate radii (or scaled versions of a \(0\)-centred fundamental domain).
redFinish!
The decaying property of Schwartz functions means that they can be compared to the absolutely convergent power series above.
Let \(f : \mathbb {R}^d \to \mathbb {C}\) be a Schwartz function and let \(X \subset \mathbb {R}^d\) be periodic with respect to some lattice \(\Lambda \subset \mathbb {R}^d\). Then,
Without loss of generality, assume that \(0 \notin X\): if \(0 \in X\), then we can add the \(f(0)\) term to the sum over nonzero elements of \(X\), which, if the sum over the nonzero elements converges absolutely, will be equal to the sum over all of \(X\). Now, we know that for all \(k \in \mathbb {N}\), there exists some constant \(C\) such that \(|f(x)| \leq C\left\lVert x \right\rVert ^{-k}\) for all \(x \in \mathbb {R}^d\). Choosing \(k\) to be sufficiently large, we see that
We end with a crucial result on Schwartz functions, the statement of which only makes sense because of the above result.
Let \(\Lambda \) be a lattice in \(\mathbb {R}^d\), and let \(f:\mathbb {R}^d\to \mathbb {R}\) be a Schwartz function. Then, for all \(v \in \mathbb {R}^d\),
redFill in proof.
While the Poisson Summation Formula over lattices can be stated in greater generality (and probably should be formalised as such in Mathlib due to the many applications it admits), we stick with Schwartz functions because that should be sufficient for our purposes.