Non-integer base of numeration

Source: Wikipedia, the free encyclopedia.

A non-integer representation uses non-integer numbers as the radix, or base, of a positional numeral system. For a non-integer radix β > 1, the value of

is

The numbers di are non-negative integers less than β. This is also known as a β-expansion, a notion introduced by Rényi (1957) and first studied in detail by Parry (1960). Every real number has at least one (possibly infinite) β-expansion. The set of all β-expansions that have a finite representation is a subset of the ring Z[β, β−1].

There are applications of β-expansions in coding theory[1] and models of quasicrystals.[2]

Construction

β-expansions are a generalization of

decimal expansions. While infinite decimal expansions are not unique (for example, 1.000... = 0.999...), all finite decimal expansions are unique. However, even finite β-expansions are not necessarily unique, for example φ + 1 = φ2 for β = φ, the golden ratio. A canonical choice for the β-expansion of a given real number can be determined by the following greedy algorithm, essentially due to Rényi (1957) and formulated as given here by Frougny (1992)
.

Let β > 1 be the base and x a non-negative real number. Denote by x the

There exists
an integer k such that βkx < βk+1. Set

and

For k − 1 ≥  j > −∞, put

In other words, the canonical β-expansion of x is defined by choosing the largest dk such that βkdkx, then choosing the largest dk−1 such that βkdk + βk−1dk−1x, and so on. Thus it chooses the

lexicographically
largest string representing x.

With an integer base, this defines the usual radix expansion for the number x. This construction extends the usual algorithm to possibly non-integer values of β.

Conversion

Following the steps above, we can create a β-expansion for a real number (the steps are identical for an , although n must first be multiplied by −1 to make it positive, then the result must be multiplied by −1 to make it negative again).

First, we must define our k value (the exponent of the nearest power of β greater than n, as well as the amount of digits in , where is n written in base β). The k value for n and β can be written as:

After a k value is found, can be written as d, where

for k − 1 ≥  j > −∞. The first k values of d appear to the left of the decimal place.

This can also be written in the following pseudocode:[3]

function toBase(n, b) {
	k = floor(log(b, n)) + 1
	precision = 8
	result = ""

	for (i = k - 1, i > -precision-1, i--) {
		if (result.length == k) result += "."
		
		digit = floor((n / b^i) mod b)
		n -= digit * b^i
		result += digit
	}

	return result
}

Note that the above code is only valid for and , as it does not convert each digits to their correct symbols or correct negative numbers. For example, if a digit's value is 10, it will be represented as 10 instead of A.

Example implementation code

To base π

  • JavaScript:[3]
    function toBasePI(num, precision = 8) {    
        let k = Math.floor(Math.log(num)/Math.log(Math.PI)) + 1;
        if (k < 0) k = 0;
    
        let digits = [];
    
        for (let i = k-1; i > (-1*precision)-1; i--) {
            let digit = Math.floor((num / Math.pow(Math.PI, i)) % Math.PI);
            num -= digit * Math.pow(Math.PI, i);
            digits.push(digit);
    
            if (num < 0.1**(precision+1) && i <= 0)
                break;
        }
    
        if (digits.length > k)
            digits.splice(k, 0, ".");
    
        return digits.join("");
    }
    

From base π

  • JavaScript:[3]
    function fromBasePI(num) {
        let numberSplit = num.split(/\./g);
        let numberLength = numberSplit[0].length;
    
        let output = 0;
        let digits = numberSplit.join("");
    
        for (let i = 0; i < digits.length; i++) {
            output += digits[i] * Math.pow(Math.PI, numberLength-i-1);
        }
    
        return output;
    }
    

Examples

Base 2

Base

regular octagon
with side length 1002 is 110000002, etc…

Golden base

In the golden base, some numbers have more than one decimal base equivalent: they are ambiguous. For example: 11φ = 100φ.

Base ψ

There are also some numbers in base ψ are also ambiguous. For example, 101ψ = 1000ψ.

Base e

With base e the natural logarithm behaves like the common logarithm as ln(1e) = 0, ln(10e) = 1, ln(100e) = 2 and ln(1000e) = 3.

The base e is the most economical choice of radix β > 1,[4] where the radix economy is measured as the product of the radix and the length of the string of symbols needed to express a given range of values.

Base π

Base π can be used to more easily show the relationship between the diameter of a circle to its circumference, which corresponds to its perimeter; since circumference = diameter × π, a circle with a diameter 1π will have a circumference of 10π, a circle with a diameter 10π will have a circumference of 100π, etc. Furthermore, since the area = π × radius2, a circle with a radius of 1π will have an area of 10π, a circle with a radius of 10π will have an area of 1000π and a circle with a radius of 100π will have an area of 100000π.[5]

Properties

In no positional number system can every number be expressed uniquely. For example, in base ten, the number 1 has two representations: 1.000... and 0.999.... The set of numbers with two different representations is dense in the reals,[6] but the question of classifying real numbers with unique β-expansions is considerably more subtle than that of integer bases.[7]

Another problem is to classify the real numbers whose β-expansions are periodic. Let β > 1, and Q(β) be the smallest

Pisot number,[8]
although necessary and sufficient conditions are not known.

See also

References

Footnotes

  1. ^ Kautz 1965
  2. ^ Burdik et al. 1998; Thurston 1989
  3. ^ a b c "Home", decimalsystem.js.org
  4. ^ Hayes 2001
  5. ^ "Weird Number Bases", DataGenetics, retrieved 2018-02-01
  6. ^ Petkovšek 1990
  7. ^ Glendinning & Sidorov 2001
  8. ^ Schmidt 1980

Sources

Further reading

External links