A recent post looked at an example from one of Michael Trott’s tomes. This post looks at another example from the same tome.
Trott made a contour plot of the Gauss map
over the complex plane. I copied his code (almost) and reproduced his plot.
ContourPlot[
Abs[1/(x + I y) - Floor[1/(x + I y)]],
{x, -1.1, 1.1}, {y, -1.1, 1.1},
PlotPoints -> 40, ColorFunction -> Hue,
ContourStyle -> {Thickness[0.00001]}
]
This produced the following image.

The original code set PlotPoints to 400, and it was taking forever. I got impatient and set the parameter to 40. Looking at the image in the book, it seems the plot with the parameter set to 400 is very similar, except there’s a black tangle in the middle rather than a white space.
In 2004 when Trott wrote his book, Mathematica did not have a command for plotting functions of a complex variable directly, and so Trott rolled his own as a function of two real variables.
Here’s a plot of the same function using the relatively new ComplexPlot function.

Here’s the code that produced the plot.
ComplexPlot[
(1/z - Floor[1/z]),
{z, -1.1 - 1.1 I, 1.1 + 1.1 I},
ColorFunction -> Hue, PlotPoints -> 400
]
Update
What does it mean to apply the floor function to a complex number? See the next post.
The plots above were based on Mathematica’s definition of complex floor. Another definition gives different plots.
aplfloor[z_] :=
With[ {x = Re[z] - Floor[Re[z]], y = Im[z] - Floor[Im[z]], g = Floor[z]},
If[x + y > 1, If[x >= y, g + 1, g + I], g]]
This leads to different plots of the Gauss map.
Vintage:

And new style:

I’m familiar with floor over the reals, but not over the complex numbers. How is it defined there?
Good question. Mathematica defines the floor of a complex number by taking the floor of the real and imaginary parts separately. That is, for reala and b, Mathematica defines Floor[a + bi] as Floor[a] + i Floor[b]. I don’t know whether any other source defines floor of a complex number that way, or defines it at all.
[Update: I expanded this answer into the next post. A surprising bonus is that exploring the definition of floor for complex numbers lead to creating an interesting image.]
Thanks for this very interesting post, John. It inspired me to write a p5js sketch to play with renderings.
https://twitter.com/tobyhoward/status/1422960056279126057?s=20
Cheers!
Beautiful, thanks for sharing!