--- title: "Dyadic expansion with R" date: "2016-08-08" output: html_document --- {r setup, include=FALSE} knitr::opts_chunkset(echo = TRUE, collapse=TRUE, fig.path="./assets/fig/dyadic-", fig.align="center") fscale <- 1 # scale for figures  We provide a function that computes the dyadic representation of a real number in the interval[0,1]$. Then we give an implementation of two transformations of the set${\{0,1\}}^\mathbb{N}$which are well-known in ergodic theory: the dyadic odometer and the Pascal transformation. For each of these transformations, we plot the graph of the conjugate transformation of$[0,1]$obtained by the dyadic representation. ## Dyadic expansion Every real number$u \in [0,1]$has a *dyadic expansion* (or *binary expansion*): $$u = \frac{\epsilon_1}{2} + \frac{\epsilon_2}{2^2} + \frac{\epsilon_3}{2^3} + \ldots$$ where$\epsilon_i=0$or$1$. We say that the sequence$(\epsilon_1, \epsilon_2, \ldots)$is the *dyadic representation* of$u$. The num2dyadic function below returns the dyadic representation of$u \in [0,1]\$. `{r} num2dyadic <- function(u, nmax=1024L){ out <- integer(nmax) i <- j <- 0L while(u>0 && i