Irrational numbers

This article contains my personal reflections on irrational numbers, especially the informational property of their infinite strings of decimal - strings that often look close to random at a shallow look.

It starts with an introduction of known facts, it continues with some less discussed properties and finishes with some philosophical considerations.


Example of irrational numbers are numbers like √2 and ℼ (PI). Irrational numbers cannot be represented as a fraction like, 0.25 is represented by 25/100 or 1/4. Such numbers have an infinite number of decimals that are not repeating any groups we would take. Numbers like 0.(321) are not irrational, even if they have an infinite number of decimals, because they are repeating: 0.321 321 321 321 ... Such numbers with repeating decimal groups can be represented as a simple fraction: 0.321 = 321/999 an therefore are considered "rational".

Rational numbers can be represented as fractions (like 234/789), and their decimal representation have a fixed number of decimals, or an infinite number of decimals formed by a group of decimals that are repeating, as above. Note that a rational number that have an infinite number of decimals in one base (1/3 = 0.111111... in base 10) can have a finite number of decimals in another base: 1/3 can be represented as (0.1)3 in the base 3, similar with 1/10 = 0.1 in base 10. The reverse is also true, the number 0.1 in base 10 have an infinite number of decimals in base 2, making it to be rounded/truncated when represented in the computer (as float/double).

Looking from the information perspective, a rational number representation can be generated by an FSA (finite-state automaton), as you can easily cycle the same group of decimals with an finite state machine. On the other side, you need a Turing machine with an infinite band to generate the decimal-point representation of any irrational number. Otherwise, a finite state machine would cycle eventually and it would generate a rational number (that can be represented as a fraction).

We can generate an irrational number with a very simple program, that concatenate increasing numbers as decimals, like 1.41 42 43 44 45 46...98 99 100 101 102 ... The spaces are only for readability. This is close but not exactly √2 , however it has an infinite number of decimals that are not repeating in groups.  AFAIK, this is not a solution of a known simple equation, however it is by design an irrational number.

Calculable irrationals are very compressible

Most irrationals that we are using are solutions to algebraic equations or transcendental numbers that can be approximated by converging strings of numbers. The decimals of these numbers are therefore calculable, as we have a software algorithm to generate them. Therefore, if we take this algorithm that has a finite size, and we can generate a huge portion of the decimal representation of any such irrational number.

Even if this program would consume increasing memory, the program itself can become be very tiny compared with the arbitrary big sequence of decimals that are generated. This makes the decimal representation of these numbers to have a rather small Kolmogorov complexity (compared with the string length), making them far from what we consider a random string. It's just that, only looking at a sequence of  decimals from an irrational number is not obvious what irrational number have this representation, so it's not obvious how to construct the small program that generates it.

Of course, there is a uncountable number of irrational numbers that cannot be generated by a simple program, as the programs are countable and irrationals are way more many. However, we can rarely define a number that is not calculable. Examples are usually related to Halting Problem.

Continued fractions

Algebraic irrational, that in decimal representation appears random. have a very redundant representation as continued fraction. For example √2 = [1;2,2,2,…], √19 = [4;2,1,3,1,2,8,2,1,3,1,2,8,…], ϕ = [1;1,1,1,1,1,1,1,1,1,1,1,…]. Even some transcendental number like e can show some redundancy, like e = [2;1,2,1,1,4,1,1,6,1,1,8,…] (a number doubles each cycle). However most transcendental looks random, like π = [3;7,15,1,292,1,1,1,2,1,3,1,…]. Is it reasonable to expect that many calculable irrationals, being compressible, can be easily transformed in a representation that not only have a hidden redundancy, but also appears cycling. However, transforming this representation to a decimal representation would still require an infinite band Turing machine.

Maybe calculable irrationals are not so strange as they seem, maybe it is only a problem of representation that makes them strange looking. The point of reference can change a lot.

Constructed irrationals

One practical way to construct the decimals for an irrational number by a software program (or an abstract Turing machine) is to concatenate decimal sequences that are not repeating. For example you can cycle the natural numbers (0, 1, 2, 3, 4, 5....) and transform that number by an injective function - that will not generate the same sequence. Ideally, such function will only use a fixed volume of additional memory when transforming the increasing input. The simplest function that transform x -> x will generate the sequence 0.0 1 2 3 4 5 .... 9 10 11 12 ....; Another function could double each receiving number, making the generating number more biased toward even digits. More complex functions could generate sequence of decimals that looks less regulated.

Irrational numbers generated as above only use the iterating natural number as the only state that will require increasing memory. For a number like √2, the obvious way to generate the digits would be to recursively generate a string of numbers that converge to √2 and printing each digit that we are sure that cannot change according with the known convergence error.

Calculated irrationals

Another way to generate √2 decimals is to find, by trial and error, the biggest decimal that will not make the square of the number bigger than 2. Example: we start with "1.". The biggest next decimal that will not make the square of the number bigger than 2 is "4", so the number becomes "1.4". The next digit will be 1, as 1.42 is already bigger than 2 when squared. In this way, we can generate 1.41421356237....

The above method is not a practical way to generate digits, because the effort to do the squares will increase with each digit. Still, it shows that you can generate algebraic irrational numbers without having to know a converging string to that number. In these case, the "state" that assure that decimals will not cycle is the constructing number; in addition to that, it will require even more memory to calculate the square of the numbers that are tried.

In contrast with the "constructed irrationals" that generates digits by iterating natural numbers and transforming them injectively, the method that tries digits only works for known irrational numbers, as it could end generating 2.00000 when trying to extract the root from "4" (a square number).

Constructed vs Calculated irrationals

AFAIK, there is no known way to generate the digits of common algebraic (calculated) numbers by the iterative construction that only keeps increasingly larger state by iterating natural numbers. However, I don't see why it cannot be done. It is obvious that we can use a function that constructs each digit the hard way (construct the whole number and take the needed one), the open question is:  when we can use just a finite memory automaton to generate the digits from natural numbers, as we did for constructed irrationals above. Probably this would not be possible for transcendental numbers.

The randomness of irrationals

The fact that an irrational can contain any succession of digits, of any size, does not make it random. We have the example of concatenating a simple counter representation that have this property, however it is obviously far from random. As a conjecture, no calculable irrationals representation can be considered random. We have an infinite numerable set of infinite representations that is highly compressible, therefore far from random: the output of all possible programs that will not stop printing. Even more simple, we have the decimal representations of all the square roots of the numbers that are not perfect squares.

3. Philosophical considerations

Irrational numbers are only special in relation with a certain "unity" value that is "1". If we take as unity the diagonal of the square of side length 1, the diagonal can be written as unity "1" and the side length becomes irrational (1/√2). The irrationality only comes from the attempt to approximate a size using decimal fractions (1/10, 1/100, 1/1000) of a certain unity - or another base. Some approximations gets exact (rational non-periodic numbers), others cycle (periodic rational numbers), others generate an increasingly complex state that will not cycle (irrationals).

The  interesting thing about irrationals is their construction, that do not cycle apparently. However, except some not-calculable numbers, any number that can be constructed by human mind is somehow generated by a finite algorithm, therefore it has a representation that is intrinsically (Kolmogorov) compressible by that generating algorithm. Such number's representation only look random because the required transformation is too complex for the human mind to compute.

We should not consider irrational's decimal representations as random, even if it might be very hard to predict without knowing the secret source. Even if they might go through all possible string  combinations of any length, they are still guarantied to be guessable by the right generator algorithm.

Obviously, there are irrational numbers that have a non-compressible representation, as there should be non-compressible string representations - otherwise would have too few representations to uniquely "compressed" forms to identify all strings. It's just that such in-compressible representations belongs to numbers that we cannot define constructively. We can only have a chance to define these numbers as un-computable problems, like problems related to the halting problem of Turing machine.

The compression of such strings that are generated from irrational numbers decimals may still pose problems in practice, and could be potentially used as a shared secret encryption that does not encrypt the same string twice the same, however it has practical limits.

P.S. I might have abused the mathematical language, sorry for that. Let me know your ideas on this, and maybe some clarifications that are needed.

Dear reader, please leave a message if you exist! ;)
Also, please share this article if you find it interesting. Thank you.