While planning a post about splitting fields and field extensions I ran into the problem of representing what they do visually. Typically, the field of rational numbers is the system of choice for introducing field extensions and I didn't want to stray from that too much. Thus, I started thinking of an easier problem - ways to visualize .
Here's the rundown: consists of all rational numbers - numbers of the form where and are coprime to each other. are all elements of , while are not. Taken as a set, it is countably infinite, which means that it has the "same" number of elements as it does the set of integers, , as opposed to the set of real numbers , which is uncountably infinite. (You can read here for more info.)
Now, , has an interesting topology to it: As a subspace of it has points which can come arbitrarily close to a point in , but can never reach that point. It is a totally disconnected space - there are no "continuous" subsets of , but it is also non-discrete in the sense that any open set in will contain at least one element of .
Take a point in , for simplicity it can just be , or . How close to other elements of come to it? Let's write an array and see:
The first few values are off by quite a bit while the last value comes close, but required some relatively large numbers in the numerator and denominator. The same holds for all elements - the next pair which comes comparatively close to the value of will have both and be far larger than and . Anyways - to the visualization part.
We can use Thomae's function as a way to visualize . It is defined by:
This function relates both the value of and the "size" of . It is graphed at the top of this page. There are some pretty nice fractal properties to it: for instance, there is a "valley" under every rational point. You can see that the information of the table is captured by the graph - once the value of is hit then rational numbers may get arbitrarily close to it but still never reach it, and this is where these valleys come from.
This function goes by many names: the Popcorn Function, the Countable Cloud Function, and my favorite, Stars Over Babylon (hence the title).
As a parting gift, here's the reciprocal Thomae function as well as a y-axis zoom in on it. (they're too small to see in the previews, so you'll have to click on them)