There are several ways to construct a strictly increasing continuous function which has zero derivative almost everywhere. I like the explicit construction given by R. Salem, On some singular monotonic functions which are strictly increasing (1943).

Here is a streamlined version of the construction.

Fix (on the above picture ). Let , and inductively define so that

- when .
- If , let .
- Now that has been defined on , extend it to by linear interpolation.
- Let .

Since by construction, it suffices to understand the behavior of on .

Each is piecewise linear and increasing. At each step of the construction, every line segment of (say, with slope ) is replaced by two segments, with slopes and . Since . Hence, .

Since when , it is easy to understand by considering its values at dyadic rationals and using monotonicity. This is how one can see that:

- The difference of values of at consecutive points of is at most . Therefore, is Hölder continuous with exponent .
- The difference of values of at consecutive points of is at least . Therefore, is strictly increasing, and its inverse is Hölder continuous with exponent .

It remains to check that almost everywhere. Since is monotone, it is differentiable almost everywhere. Let be a point of differentiability (and not a dyadic rational, though this is automatic). For each there is such that . Let ; this is the slope of on the -dyadic interval containing . Since exists, we must have . On the other hand, the ratio of consecutive terms of this sequence, , is always either or . Such a sequence cannot have a finite nonzero limit. Thus .

Here is another , with .

By making very small, and being more careful with the analysis of , one can make the Hausdorff dimension of the complement of arbitrarily small.

An interesting modification of Salem’s function was introduced by Tukia in Hausdorff dimension and quasisymmetric mappings (1989). For the functions considered above, the one-sided derivatives at every dyadic rational are zero and infinity, which is a rather non-symmetric state of affair. In particular, these functions are not quasisymmetric. But Tukia showed that if one alternates between and at every step, the resulting homeomorphism of becomes quasisymmetric. Here is the picture of alternating construction with ; preliminary stages of construction are in green.

This is quite similar to how the introduction of alternating signs turns Takagi curve (blancmange curve) into a quasiarc (i.e., a curve without cusps); see Sweetened and flavored dessert made from gelatinous or starchy ingredients and milk. But the fractal curves in this post are relatively mild-mannered: they are rectifiable (and thus, not really fractal).

Here is the simple Scilab code I used for the above plots.

r = 1/4 t = [0 1] f = t for i = 1:10 t = [t, t(1:$-1)+2^(-i)] f = [f, r*f(1:$-1)+(1-r)*f(2:$)] [t, ind] = gsort(t,'g','i') f = f(ind) end plot(t,f)

To have preliminary stages shown as well, move `plot(t,f)`

into the loop. For Tukia’s alternating version, insert the line `r = 1-r`

into the loop.