A friend of mine introduced me to the following question: Does there exist a smooth function $f: \mathbb{R} \to \mathbb{R}$, ($f \in C^\infty$), such that $f$ maps rationals to rationals and irrationals to irrationals and is nonlinear?

I posed this question earlier in math.stackexchange.com (link to the question) where it received considerable interest. There hasn't been an answer so far, but one commenter suggested to bring it here.

Related results

  • The friend who told me the problem has been able to prove that no polynomial satisfies the required conditions.

  • If we required just that $f \in C^1$, then we can cut and paste the function $x \mapsto \frac{1}{x}$ to provide a nonlinear example: $$f(x) = \begin{cases}\frac{1}{x-1} + 1, & x \le 0 \\\\ \frac{1}{x+1} - 1, & x \ge 0\end{cases}$$


3 Answers 3


There are such functions. Moreover any diffeomorphism $f_0:\mathbb R\to\mathbb R$ can be approximated by such $f$. For the sake of simplicity I assume that $f_0'\ge 2$ everywhere.

Enumerate the rationals: $\mathbb Q=\{r_1,r_2,\dots\}$, and construct a sequence $f_0,f_1,f_2,\dots$ of self-diffeomorphisms of $\mathbb R$ satisfying the following:

  • $f_{2k-1}(r_k)\in\mathbb Q$, and $f_n(r_k)$ is the same for all $n\ge 2k-1$

  • $f_{2k}^{-1}(r_k)\in\mathbb Q$, and $f_n^{-1}(r_k)$ is the same for all $n\ge 2k$.

  • The first $k$ derivatives of the difference $f_k-f_{k-1}$ are bounded by $2^{-k}$ everywhere on $\mathbb R$.

Such a sequence has a limit $f$ in $C^\infty$, and this limit is a diffeomorphism satisfying $f(\mathbb Q)\subset\mathbb Q$ and $f^{-1}(\mathbb Q)\subset\mathbb Q$.

The sequence $\{f_i\}$ can be constructed by induction. To construct $f_{2k-1}$ from $g:=f_{2k-2}$, consider $g(r_k)$. If it is rational, let $f_{2k-1}=g$. If not, let $I$ be an open interval containing $r_k$ and not containing any of the points $r_i$ and $g^{-1}(r_i)$ for $i\le k-1$. (Note that $r_k$ is different from these points due to the fact that $g(r_k)\notin\mathbb Q$). Then define $f_{2k-1}=g+\varepsilon\cdot h$ where $h$ is your favorite smooth function with support contained in $I$ and such that $h(r_k)\ne 0$, $\varepsilon$ is so small that the above derivative estimates hold and is chosen so that $f_{2k-1}(r_k)\in\mathbb Q$. To construct $f_{2k}$ from $f_{2k-1}$, do a similar perturbation near the pre-image of $r_k$, assuming it is not yet rational.

  • 1
    $\begingroup$ Are there any examples of such functions, which can be computed by an algorithm (efficiently)? $\endgroup$
    – Somnium
    Apr 8, 2020 at 17:07

In the answer to this close question I remarked how to make an entire, non polynomial function bijecting two assigned countable dense sets $A$ and $B$.

Also, you can make a non-analytic $C^\infty$ self-diffeo of $\mathbb{R}$ that bijects $A$ and $B$ with similar procedure. Say a $C^\infty$ diffeo, which is not the identity map, but with a tangency of infinite order to the identity map at $0$.

  • $\begingroup$ @Pietro: I don't understand how you can run your procedure described as is in that other question here. You say: "inductively add only odd degree polynomials $p_n$, that vanish on the (finitely many) already settled points, and do not destroy the invertibility on $\mathbb{R}$, but if you start with $p_1(x) = qx$ for some rational $q$, then the "already settled points" is already in fact all the points that you want... $\endgroup$ Dec 10, 2010 at 13:41
  • 1
    $\begingroup$ that's no problem, "already settled" just means the first (approximatively) $n/2$ of $A$ plus their images, and the first $n/2$ of $B$ plus their pre-images. $\endgroup$ Dec 10, 2010 at 14:03
  • $\begingroup$ Ah, so you are implicitly using an enumeration of the two sets. Okay. $\endgroup$ Dec 10, 2010 at 14:04
  • $\begingroup$ yes, it was explicit in the lines above. Sorry, I though it was clear enough. $\endgroup$ Dec 10, 2010 at 18:10
  • $\begingroup$ So, if you fix enumeration for A, how you get enumeration for B? I am trying to construct explicit example. $\endgroup$
    – Somnium
    Oct 9, 2022 at 10:00

It is true that given any two dense subsets $A,B\subset(0,1)$, there is an absolutely monotone function $[0,1]\rightarrow[0,1]$ which carries $A$ to $B$. I don't know the exact proof of this, but the idea is very simple: you enumerate the elements of $A$ and $B$, then take the first element of $A$, and associate it with an appropriate element of $B$, then the first element of $B$ and associate it with an appropriate element of $A$, then associate the second element of $A$ to an appropriate element of $B$, etc.

I am fairly certain that some variation on this should work for your problem.

  • 5
    $\begingroup$ The question asks for a smooth function $\endgroup$ Dec 10, 2010 at 13:20
  • 1
    $\begingroup$ Also, the problem is not to prove that such functions exist, it's to find out if there are nonlinear examples. $\endgroup$ Dec 10, 2010 at 14:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.