I recently posted a table summarizing probabilistic properties of digits in various number representation systems, see here. The topic is already rather difficult for well-behaved systems (those listed in my table) but some systems are rogue, and do not have these nice statistical properties. Here we focus on one of these less known systems, though at this point it is not sure if it is well-behaved or not: It is part of this problem to figure this out.

The problem is about the representation of a real number *x* greater or equal to 1, in some base *b*, using the following infinite product rather than the familiar (well-behaved) representation such as in the decimal or binary system:

The *a*(*k*)'s are called the (binary) digits of *x* in that system. The case *b* = 2 has been used to compute logarithms using the Feynman's algorithm, see here. Not all *x*'s can not be represented that way. A necessary condition for *x* to have such a representation in base *b* is

The last inequality becomes an equality when all the *a*(*k*)'s are equal to 1. Also not all *b*'s work. If *b* > 2, not all *x*'s can be represented this way. The algorithm to compute, for a given *x*, the digits *a*(*k*)'s, is as follows:

**Algorithm to compute the digits**

1. Start with *a*(0) = 1 and *w*(0) = 1.

2. Compute *a*(*k*) for *k* > 0 with the formula3. Compute *w*(*k*) using

**Questions**

Here are some difficult problems:

- What are the conditions on
*b*to guarantee that all*x*'s smaller than the upper limit (depending on*b*) can be represented exactly? - For a given
*b*, is the distribution of the digits always the same for almost all*x'*s? Is it 50% of 0's and 50% of 1's? Is there a distribution at all, at least asymptotically as*k*becomes large? Exercise: Choose 10,000 numbers randomly (for instance using RAND in Excel) and check the distribution of 0's and 1's, for*b*= 2 and*b*= 1.5. - Are the digits auto-correlated, for instance a 0 more likely to be followed by a 0 rather than a 1, and conversely?

Note that the algorithm to generate the digits becomes very unstable after 30 iterations or so. You may need to use high precision computing or some other technique to analyze long-term behavior, see here.

For illustration purposes, here are the first few digits *a*(*k*) for *x* = Pi / 2 and *b* = 2, yielding 8 correct decimals when expressed in traditional base 10:

Pi / 2 = (1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1...)

**Equilibrium distribution**

For the well-behaved number representation systems, there is always a two-step iterative algorithm of the form

- Step 1:
*x*(*k*) =*g*(x(*k*-1)) for some smooth, simple function*g*not depending on*x*nor on*k* - Step 2:
*a*(*k*) =*h*(*x*(*k*)) for some basic function*h*not depending on*x*nor on*k*

to compute the digits, see here. The function *g* is associated with the equilibrium distribution (see same reference.)

Is it also the case here? I suspect that the answer is no. Are there bivariate functions *g* and *h* that would work, for instance something like *x*(*k*) = *g*(*x*(*k*-1), *x*(*k*-2)) ? This could lead to a stochastic integral equation, perhaps easily solvable, as for the well-behaved systems.

Finally, there are other number representation systems that are not well-behaved, for instance Egyptian fractions.

*For related articles from the same author, click here or visit www.VincentGranville.com. Follow me on LinkedIn.*

**DSC Resources**

- Services: Hire a Data Scientist | Search DSC | Classifieds | Find a Job
- Contributors: Post a Blog | Ask a Question
- Follow us: @DataScienceCtrl | @AnalyticBridge

Popular Articles

© 2019 Data Science Central ® Powered by

Badges | Report an Issue | Privacy Policy | Terms of Service

**Most Popular Content on DSC**

To not miss this type of content in the future, subscribe to our newsletter.

- Book: Statistics -- New Foundations, Toolbox, and Machine Learning Recipes
- Book: Classification and Regression In a Weekend - With Python
- Book: Applied Stochastic Processes
- Long-range Correlations in Time Series: Modeling, Testing, Case Study
- How to Automatically Determine the Number of Clusters in your Data
- New Machine Learning Cheat Sheet | Old one
- Confidence Intervals Without Pain - With Resampling
- Advanced Machine Learning with Basic Excel
- New Perspectives on Statistical Distributions and Deep Learning
- Fascinating New Results in the Theory of Randomness
- Fast Combinatorial Feature Selection

**Other popular resources**

- Comprehensive Repository of Data Science and ML Resources
- Statistical Concepts Explained in Simple English
- Machine Learning Concepts Explained in One Picture
- 100 Data Science Interview Questions and Answers
- Cheat Sheets | Curated Articles | Search | Jobs | Courses
- Post a Blog | Forum Questions | Books | Salaries | News

**Archives:** 2008-2014 |
2015-2016 |
2017-2019 |
Book 1 |
Book 2 |
More

**Most popular articles**

- Free Book and Resources for DSC Members
- New Perspectives on Statistical Distributions and Deep Learning
- Time series, Growth Modeling and Data Science Wizardy
- Statistical Concepts Explained in Simple English
- Machine Learning Concepts Explained in One Picture
- Comprehensive Repository of Data Science and ML Resources
- Advanced Machine Learning with Basic Excel
- Difference between ML, Data Science, AI, Deep Learning, and Statistics
- Selected Business Analytics, Data Science and ML articles
- How to Automatically Determine the Number of Clusters in your Data
- Fascinating New Results in the Theory of Randomness
- Hire a Data Scientist | Search DSC | Find a Job
- Post a Blog | Forum Questions

## You need to be a member of Data Science Central to add comments!

Join Data Science Central