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!