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)
Easy Math Editor
This discussion board is a place to discuss our Daily Challenges and the math and science related to those challenges. Explanations are more than just a solution — they should explain the steps and thinking strategies that you used to obtain the solution. Comments should further the discussion of math and science.
When posting on Brilliant:
*italics*
or_italics_
**bold**
or__bold__
paragraph 1
paragraph 2
[example link](https://brilliant.org)
> This is a quote
\(
...\)
or\[
...\]
to ensure proper formatting.2 \times 3
2^{34}
a_{i-1}
\frac{2}{3}
\sqrt{2}
\sum_{i=1}^3
\sin \theta
\boxed{123}
Comments
Ohhh and also, It is nice to see that someone on Brilliant is writing REALLY cool notes!!!! I think this is happening after a long time..........I'm just glad!!
Log in to reply
Thank you!! I want to share my love for math with everyone :)
Hello their, once again!! Whoah!!!! The Inverse Thomae function???? Well, the popcorn function itself is an amazing thing...... But, I never thought of defining it's inverse...........but, doesn't defining the inverse of the function, make a problem.....?? Because, supposing g(x) is the inverse of the popcorn function.............Now, g(0.5) can take ANY rational value!!! Consider this, g(1/2) = 3/2 or 5/2 or 7/2 or 11/2 or 13/2..........I mean, it isn't a function anymore right?? And also, I have never heard of the inverse popcorn function till now.........If I am wrong, could you please guide me to a link...?? Thanks :)
Log in to reply
My bad, I totally meant to say the reciprocal and not the inverse! That's what I get for writing late at night :p
Log in to reply
Haha X'D........no worries!!
I have always taken the Stern-Brocot tree approach to visualising the rational number field over all other approaches.
Log in to reply
Ohhh yess..........that is also a really interesting method......!! I was introduced to it from this video........!!
How did you do this rendering?
Did you use the fragment shader to colour certain pixels white according to the function?