The Chinese remainder theorem and the Fourier transform
Posted
I’d recommend skimming the previous post if you have not yet done so, which discusses the Chinese remainder theorem in a purely linear-algebraic light, along with a bunch of notions we use. It’s neat, though we don’t say anything that is terribly surprising.
That’s, instead, what this post is for.
As a quick reminder, the somewhat abstract-nonsense-y Chinese remainder theorem is the following: let be a vector space over a field and let be subspaces of . If, dimensionally, we have
(where all dimensions are defined) then we can decompose in the following way
where the invertible map is the product of natural maps into :
for .
The abstract Fourier transform
Ok, with that, we can start with the “general” Fourier transform over fields.
Let be the vector space of polynomials over some field and let be any nonzero polynomial which decomposes into with mutually coprime. Define to be the set of all polynomials in that are divisible by . This means, from the previous post, that we have the equivalence:
where the coordinate-wise map is the “obvious” one:
which is (again!) the Chinese remainder theorem over the .
Now, if splits over and has no repeated root, that is, if satisfies
for with distinct, then we can set for . (Easy check: what must be here, in terms of ?) Note that the are indeed mutually coprime and , so the conditions are satisfied and, from before, we have
via the simple map above. Finally, note that for each , so can be described by exactly one field element . Indeed, from the previous post, one such description is that is equivalent to taking the remainder of modulo , which is simply the value of at .1
In other words, there is a simple invertible linear mapping between a polynomial (modulo ) and its evaluation on points , which are the roots of . That is to say for each polynomial modulo , there is an equivalence between the polynomial modulo , , and its evaluations .
This leads us to the last appetizer course.
The abstract convolution theorem
This is almost an immediate application of the above. In particular, let be two polynomials, then we have that
Or, in polynomial notation:
and the map is exactly the evaluation of the product at the points .
Again, note on the left hand side we are doing multiplication as polynomials. That is to say, we are convolving the coefficients of and and then reducing them modulo , whereas on the right, we are doing pointwise multiplication of the evaluations of and over the points .
Indeed, this is exactly where the structure of splitting over is useful. Note that the original abstract Chinese remainder theorem requires that . Now the dimensions of the map , of course, make sense without this requirement when , so we in general have a relationship between modulo and its evaluations over the , but the “natural” quotient map only makes sense when , or, equivalently, when divides . So, if we were to take , then the output of such a map will not necessarily be of the form , so the abstract convolution theorem above would not hold.
The usual discrete Fourier transform (DFT)
Ok, now let’s finally get to the “usual” DFT. Let be the th roots of unity over some field , such that they are the roots of the polynomial . That is to say, the polynomial splits over , with the roots of unity as its factors. (This goes both ways: is an th root of unity over some field if, and only if, it is a root of over this field.) We can also take any th primitive root of unity (that is, one in which when ) and write for up to relabelling of the indices.
Note that the field can be anything that has th roots of unity—we have made no assumptions about the field anywhere other than , implicitly, in our proof. For example, taking our field , the complex numbers, we could have, for any , , where . On the other hand, in the Fermat prime field , we can take and . Any of these (and many more, of course!) are perfectly valid options.
Now, let’s go back to our equivalence.
We previously said, taking , that
is invertible over . This is the usual (discrete) Fourier transform. In particular, we may take to be of degree since any element of degree will have . The mapping is just the “forward” Fourier transform:
where are the coefficients of . In terms of a primitive th root , we have that (again, up to relabeling of the ) so
This is the standard DFT equation.
Circular convolution to products
Now, let both be polynomials, then we also have, from our more abstract version of the convolution theorem above, that
As mentioned before, the multiplication is multiplication as polynomials. That is, the coefficients of the polynomial are the coefficients of the polynomial convolved with those of , then reduced by . But this reduction simply maps all terms . In other words, the coefficients of are exactly the coefficients resulting from a circular convolution of the coefficients of with those of !
Equivalently, this gives the “vectorial form”, when and are assumed to be of degree :
Here, we write for the circular convolution of the coefficients of and and write and similarly for , with being the elementwise (Hadamard) product. From before, the forward map between the convolution and the product is the evaluation map . (A simple exercise is to write out what the matrix such that looks like!)
The “additive” Fourier transform
Finally, we note that there are a bunch of other possible types of Fourier transform, including the so-called “additive” Fourier transform, which works over fields of characteristic two. (It really works for any finite field of nonzero characteristic, but small-characteristic fields are the most practical; we’ll go through the characteristic-two case here and leave the rest as an exercise.) This type of transform is incredibly useful in a number of succinct proofs, see, e.g., Binius, ZODA, or Ligerito.
Let be a finite field with for some positive integer , then note that is a vector space over of dimension . (Why?) Let be any basis of this vector space and let . In what follows, will be the number of evaluation points of the polynomial modulo a particular polynomial we will choose carefully.
With that, let be a polynomial that vanishes on any which is in the span of (not ) over . Call this the -vector space . Explicitly, can be, for example
so . Note that splits exactly over all points in (and therefore splits over ) satisfying the conditions for the abstract Fourier transform above.
From our abstract Fourier transform theorem above, this has the immediate implication that there is an invertible map, for any polynomial over between
and this map is the obvious one: for each . (Quick one: why is this injective, again?) This looks just like a simple application of the above, but it has some very special structure.
A teensy dessert
As a little bit of a cliffhanger, it is not hard to show by induction that satisfies for any , as does any polynomial of that form.
We can then split into two disjoint cosets , for some and some which also a vector space over . Set to be the polynomial that vanishes over , in the same way as above, then , since in characteristic two. From before, and split over , yet share no roots since they vanish over and respectively, which share no common elements. This means they are mutually coprime and, by the abstract Chinese remainder theorem above, we have
Of course, we can continue decomposing and therefore itself into the product of two polynomials, mutually coprime, and so on…
Which suggests, maybe, that there’s a faster algorithm for evaluating , than just naively evaluating at every point of .
And, maybe, just maybe, a very similar observation also holds for the “usual” Fourier transform.
Until next time!
Footnotes
-
There is a “nearly-purely-linear-algebraic proof” instead by noting that the evaluation-at- map has kernel containing since any evaluates to zero under this map (why?). We can therefore consider it as a map , but the map is also not zero everywhere (since obviously the constant polynomial is not zero at ) and so must be surjective—and therefore invertible—by dimension counting since . ↩