We are all familiar with the concept of dimension: a point is zero-dimensional, a line is one-dimensional, a plane is two-dimensional and the space around us is three-dimensional. A position on a line can be specified by a single number, such as the distance from a fixed origin. In the plane, a point can be located by giving its Cartesian coordinates
, or its polar coordinates
. In space, we may specify the location by giving three numbers
.
In 1872, Georg Cantor made a remarkable discovery. He found a one-to-one mapping between the one-dimensional unit interval
and the two-dimensional unit square
. His idea is easily explained: any point
on the unit interval
may be expressed in decimal form,
. We use the odd and even digits of
to construct two numbers
giving us a point in the unit square
. Any point in
can be obtained from some
.
It is clear that this argument can be reversed: given the two coordinates of any point in ,
we can form the number in the interval
, thereby mapping
into
(there are some “sticky points” that have been ignored in this article. For more detail, see Gouvêa, 2011). In a letter to Dedekind in 1877, Cantor wrote of the result “I can only say: je le vois, mais je ne le crois pas”. The letter was in German, but the famous phrase “I see it, but I don’t believe it” was in French.
Cantor’s result was remarkable: it meant that a point in the two-dimensional unit square could be indicated by a single number in . Indeed, this was also true for a point in
for any
. So, there were far-reaching consequences for the concept of dimensionality.
In 1878, Cantor proved that any two smooth manifolds of any finite dimensions have the same cardinality. But could there be a continuous mapping between them? In particular, could there be a one-to-one continuous function from to
? The answer is no, as was proved by Eugen Netto in 1879.
Dropping the requirement of the mapping being one-to-one, mathematicians sought a continuous surjective mapping . The first to find one was Giuseppe Peano. The following year, 1891, the great David Hilbert found a simpler map and provided a clear description of its construction and its properties.
The Hilbert Curve

Top from left: . Four quadrants. Reflection diagonals. Bottom from left: four scaled copies of
before reflection. After reflection. Linking gives
.
The Hilbert curve can be constructed as the limit of a sequence of functions of increasing detail. The zero-order map is constant: . We move from
to
by a recursive process: four copies of
are scaled by
and mapped to the four quadrants
,
,
and
of the square (see Figure above). They are arranged in such a way that the end of each one lines up with the beginning of the following one. This requires us to reflect the curves in the south-west and south-east quadrants about the diagonals through the centre of
. Finally, connecting line-segments are added to link the four quadrants in a single curve. The first six approximations are shown in the Figure below.
The approximating curves give an impression of the Hilbert curve, which we may denote by or just
. However, it is far from clear how to calculate any particular value
. It is also far from obvious that the mapping is surjective. Does this curve really pass through every point in the unit square. We will return to these questions in Part II.
Sources
Gouvêa, Fernando Q., 2011: Was Cantor Surprised? Amer. Math. Monthly, 118.
Sagan, Hans, 1994: Space-filling curves. Springer-Verlag, New York. 193pp. ISBN: 0-387-94265-3.
* * *
New Collection recently Published
GREATLY REDUCED PRICE from Logic Press.
Now available also in hardback form