an example of a bijection of the unit interval which is discontinuous at infinitely many points.
the animation shows the graph of this bijection as a limit of bijective functions which are discontinuous at 2n points. the function in question is continuous everywhere except points of the form j/2n, for any n and any j≤2n, ie the numbers with binary representations that terminate.
(you have to imagine the limit.)
the first few steps allow you to easily imagine the squares of which the line segments are the diagonals. notice that each piece of graph from one step, although it gets chopped up in later steps, stays inside the same square. this allows us to see that the function is continuous except at x=j/2n (the places where the graph gets chopped).
like most self-similar fractals, there are two different ways of describing how to get from one step to the next. to get from the fourth step to the fifth we can either:
- take each small line and replace it with two lines half the length, one at right angles to the other
- or take two small copies of the fourth graph, one a mirror image and put them together, the reflected one to the right of and above the other.
our fractal is thus a shape which, if we apply the second procedure to it, stays the same.
if we draw a graph of a bijective function in this way, the inverse of the function is simply its reflection in the bottom-left/top-right diagonal (the line f(x)=x). so if we have a graph which is symmetrical along this line, it is its own inverse. by changing the way i drew the above graph slightly, i graphed a function which has the same points of discontinuity, and is its own inverse
i created these pictures with a program written in C, using the Allegro library for its bitmap handling routines. if anyone knows a simpler way of scripting image manipulations like these, i wish they would tell me.