# Search NKS | Online

1 - 10 of 24 for RealDigits

Much as for integers, finite lists of real numbers can be encoded as single real numbers—using for example roughly FromDigits[Flatten[Transpose[RealDigits[list]]]] —so that the number of such lists is 2 ℵ 0 . … (The function σ above can for example be used to specify the order in which to sample elements in RealDigits[list] ). … But infinite configurations of cells are like digit sequences of real numbers (as discussed on page 869 they correspond more precisely to elements in a Cantor set), so the number of them is 2 ℵ 0 .

[Generating sequences with] unequal probabilities
Given a sequence a of n equally probable 0's and 1's, the following generates a single 0 or 1 with probabilities approximating {1 - p, p} to n digits:
Fold[({BitAnd, BitOr} 〚 1 + First[#2] 〛 [#1, Last[#2]]) &, 0, Reverse[Transpose[{First[RealDigits[p, 2, n, -1]], a}]]]
This can be generalized to allow a whole sequence to be generated with as little as an average of two input digits being used for each output digit.

One might imagine that it should be possible to set up a function f[i, n] which if given successive integers i would give the n th base 2 digit in every possible real number. But what about the number whose n th digit is 1 - f[n, n] ? This is still a real number, yet it cannot be generated by f[i, n] for any i —thus showing that there are more real numbers than integers.

And in fact, in terms of such digit sequences, the kneading process consists simply in shifting all digits one place to the left at each step, as shown in the pictures below.
The way digit sequences work, digits further to the right in a number always make smaller contributions to its overall size. … Indeed in many ways the only real difference is that instead of
The digit sequences of positions of points on successive steps in the two examples of kneading processes at the bottom of the previous page .

Implementation of digit sequences
A whole number n can be converted to a sequence of digits in base k using IntegerDigits[n,k] or (see also page 1094 )
Reverse[Mod[NestWhileList[Floor[#/k] &, n, # ≥ k &], k]]
and from a sequence of digits using FromDigits[list,k] or
Fold[k #1 + #2 &, 0, list]
For a number x between 0 and 1, the first m digits in its digit sequence in base k are given by RealDigits[x, k, m] or
Floor[k NestList[Mod[k #, 1]&, x, m - 1]]
and from these digits one can reconstruct an approximation to the number using FromDigits[{list, 0}, k] or
Fold[#1/k + #2 &, 0, Reverse[list]]/k

Computable reals
The stated purpose of Alan Turing 's original 1936 paper on computation was to introduce the notion of computable real numbers, whose n th digit for any n could be found by a Turing machine in a finite number of steps. Real numbers used in any explicit way in traditional mathematics are always computable in this sense. … As examples of non-computable reals that can readily be defined, Turing considered numbers whose successive digits are determined by the eventual behavior after an infinitely long time of a universal system with successive possible initial conditions (compare page 964 ).

number obtained has 48,554 (base 10) digits, there is still no sign of repetition or of any other significant regularity.
… But while complexity is visible at this level, it is usually necessary to go to a more detailed level in order to get any real idea of why it occurs. … One knows from hand calculation that even an operation such as addition can lead to "carry" digits which propagate arbitrarily far to the left.

Case (c) shows complexity in digit sequences, but the sizes of the numbers it generates rapidly tend to 0. … If one looks at digit sequences, it is rather clear why this happens. … It is important to realize, however, that in no real sense is any randomness actually being generated by the evolution of this system.

One general class of models based on the work of Alan Turing in 1936 follow the operation of standard digital computers, and involve looking at real numbers in terms of digits, and using discrete processes to generate these digits. … Functions are usually considered computable in such models if one can take the procedure for finding the digits of x and get a procedure for finding the digits of f[x] . … Several times since the 1940s it has been suggested that models of computation should be closer to traditional continuous mathematics, and should look at real numbers as a whole, not in terms of their digit or other representations.

Initial conditions [and continuity]
Traditional mathematics tends to assume that real numbers with absolutely any digit sequence can be set up. And if this were the case, then the digits of an initial condition could for example be the table for an oracle of the kind discussed on page 1126 —and even a simple shift mapping could then yield output that is computationally more sophisticated than any standard discrete system.