# Thomae's function

Thomae's function, named after Carl Johannes Thomae, has many names: the popcorn function, the raindrop function, the countable cloud function, the modified Dirichlet function, the ruler function, the Riemann function, or the Stars over Babylon (John Horton Conway's name). This real-valued function f(x) of the real variable x is defined as:

$f(x)={\begin{cases}{\frac {1}{q}}&{\text{if }}x{\text{ is rational, }}x={\tfrac {p}{q}}{\text{ in lowest terms and }}q>0\\0&{\text{if }}x{\text{ is irrational.}}\end{cases}}$ It is a modification of the Dirichlet function, which is 1 at rational numbers and 0 elsewhere.

## Properties

The popcorn function has a complicated set of discontinuities: f is continuous at all irrational numbers and discontinuous at all rational numbers.

The popcorn function also has a strict local maximum at each rational number.

### Informal proof of discontinuities

Clearly, f is discontinuous at all rational numbers: since the irrationals are dense in the reals, for any rational x, no matter what ε we select, there is an irrational a even nearer to our x where f(a) = 0 (while f(x) is positive). In other words, f can never "get close" and "stay close" to any positive number because its domain is dense with zeroes.

To show continuity at the irrationals, assume without loss of generality that our ε is rational (for any irrational ε′, we can choose a smaller rational ε″ and the proof is transitive). Since ε is rational, it can be expressed in lowest terms as a/b. We want to show that f(x) is continuous when x is irrational.

Note that f takes a maximum value of 1 at each whole integer, so we may limit our examination to the space between $\lfloor x\rfloor$ and $\lceil x\rceil$ . Since ε has a finite denominator of b, the only values for which f may return a value greater than ε are those with a reduced denominator no larger than b. There exist only a finite number of values between two integers with denominator no larger than b, so these can be exhaustively listed. Setting δ to be smaller than the nearest distance from x to one of these values guarantees every value within δ of x has f(x) < ε.

## Integrability

The Lebesgue criterion for integrability states that a bounded function is Riemann integrable if and only if the set of all discontinuities has measure zero. Since the set of all discontinuities is the rational numbers, and the rational numbers are countable, the set has measure zero. As well, the function is bounded on the interval [0, 1], so by the Lebesgue criterion, the function is Riemann integrable on [0, 1]. Its integral is equal to 0 over [0,1].

## Follow-up

A natural follow-up question one might ask is if there is a function which is continuous on the rational numbers and discontinuous on the irrational numbers. This turns out to be impossible; the set of discontinuities of any function must be an Fσ set. If such a function existed, then the irrationals would be an Fσ set and hence, as they don't contain an interval, would also be a meager set. It would follow that the real numbers, being a union of the irrationals and the rationals (which is evidently meager), would also be a meager set. This would contradict the Baire category theorem.

A variant of the popcorn function can be used to show that any Fσ subset of the real numbers can be the set of discontinuities of a function. If $A\;=\;\bigcup _{n=1}^{\infty }F_{n}$ is a countable union of closed sets $F_{n}$ , define

$f_{A}(x)={\begin{cases}{\frac {1}{n}}&{\text{if }}x{\text{ is rational and }}n{\text{ is minimal so that }}x\in F_{n}\\-{\frac {1}{n}}&{\text{if }}x{\text{ is irrational and }}n{\text{ is minimal so that }}x\in F_{n}\\0&{\text{if }}x\notin A\end{cases}}$ Then a similar argument as for the popcorn function shows that $f_{A}$ has A as its set of discontinuities.

## Related probability distributions

Empirical probability distributions related to Thomae's function appear in DNA sequencing. The human genome is diploid, having two strands per chromosome. When sequenced, small pieces ("reads") are generated: for each spot on the genome, an integer number of reads overlap with it. Their ratio is a rational number, and typically distributed similar to Thomae's function.