Golden ratio base

Golden ratio base is a non-integer positional numeral system that uses the golden ratio (the irrational number $1 + √5⁄2$ ≈ 1.61803399 symbolized by the Greek letter φ) as its base. It is sometimes referred to as base-φ, golden mean base, phi-base, or, colloquially, phinary. Any non-negative real number can be represented as a base-φ numeral using only the digits 0 and 1, and avoiding the digit sequence "11" – this is called a standard form. A base-φ numeral that includes the digit sequence "11" can always be rewritten in standard form, using the algebraic properties of the base φ — most notably that φ1 + φ0 = φ2. For instance, 11φ = 100φ.

Despite using an irrational number base, when using standard form, all non-negative integers have a unique representation as a terminating (finite) base-φ expansion. The set of numbers which possess a finite base-φ representation is the ring Z[$1 + √5⁄2$]; it plays the same role in this numeral systems as dyadic rationals play in binary numbers, providing a possibility to multiply.

Other numbers have standard representations in base-φ, with rational numbers having recurring representations. These representations are unique, except that numbers with a terminating expansion also have a non-terminating expansion. For example, 1 = 0.1010101… in base-φ just as 1 = 0.99999… in base-10.

Writing golden ratio base numbers in standard form
In the following example of conversion from non-standard to standard form, the notation 1 is used to represent the signed digit -1.

211.0 1 φ is not a standard base-φ numeral, since it contains a "11" and additionally a "2" and a " 1 " = −1, which are not "0" or "1".

To put a numeral in standard form, we may use the following substitutions: $$0\underline{1}0_\phi=\underline{1}01_\phi$$, $$1\underline{1}0_\phi=001_\phi$$, $$200_\phi=1001_\phi$$, $$011_\phi=100_\phi$$. The substitutions may be applied in any order we like, as the result will be the same. Below, the substitutions applied to the number on the previous line are on the right, the resulting number on the left.

$$ \begin{align} 211.0\underline{1}0_\phi = 211&.\underline{1}01_\phi &0\underline{1}0\rightarrow\underline{1}01 \\ = 210&.011_\phi &1\underline{1}0\rightarrow001 \\ = 1011&.011_\phi &200\rightarrow1001 \\ = 1100&.100_\phi &011\rightarrow100 \\ = 10000&.1_\phi &011\rightarrow100\\ \end{align} $$

Any positive number with a non-standard terminating base-φ representation can be uniquely standardized in this manner. If we get to a point where all digits are "0" or "1", except for the first digit being negative, then the number is negative. (The exception to this is when the first digit is negative one and the next two digits are one, like 1 111.001=1.001.) This can be converted to the negative of a base-φ representation by negating every digit, standardizing the result, and then marking it as negative. For example, use a minus sign, or some other significance to denote negative numbers.

Representing integers as golden ratio base numbers
We can either consider our integer to be the (only) digit of a nonstandard base-φ numeral, and standardize it, or do the following:

1 × 1 = 1, φ × φ = 1 + φ and $1⁄φ$ = −1 + φ. Therefore, we can compute


 * (a + bφ) + (c + dφ) = ((a + c) + (b + d)φ),
 * (a + bφ) − (c + dφ) = ((a − c) + (b − d)φ)

and


 * (a + bφ) × (c + dφ) = ((ac + bd) + (ad + bc + bd)φ).

So, using integer values only, we can add, subtract and multiply numbers of the form (a + bφ), and even represent positive and negative integer powers of φ.

(a + bφ) > (c + dφ) if and only if 2(a − c) − (d − b) > (d − b) × √5. If one side is negative, the other positive, the comparison is trivial. Otherwise, square both sides, to get an integer comparison, reversing the comparison direction if both sides were negative. On squaring both sides, the √5 is replaced with the integer 5.

So, using integer values only, we can also compare numbers of the form (a + bφ).


 * 1) To convert an integer x to a base-φ number, note that x = (x + 0φ).
 * 2) Subtract the highest power of φ, which is still smaller than the number we have, to get our new number, and record a "1" in the appropriate place in the resulting base-φ number.
 * 3) Unless our number is 0, go to step 2.
 * 4) Finished.

The above procedure will never result in the sequence "11", since 11φ = 100φ, so getting a "11" would mean we missed a "1" prior to the sequence "11".

Start, e.g., with integer = 5, with the result so far being ...00000.00000...φ

Highest power of φ ≤ 5 is φ3 = 1 + 2φ ≈ 4.236067977

Subtracting this from 5, we have 5 − (1 + 2φ) = 4 − 2φ ≈ 0.763932023..., the result so far being 1000.00000...φ

Highest power of φ ≤ 4 − 2φ ≈ 0.763932023... is φ−1 = −1 + 1φ ≈ 0.618033989...

Subtracting this from 4 − 2φ ≈ 0.763932023..., we have 4 − 2φ − (−1 + 1φ) = 5 − 3φ ≈ 0.145898034..., the result so far being 1000.10000...φ

Highest power of φ ≤ 5 − 3φ ≈ 0.145898034... is φ−4 = 5 − 3φ ≈ 0.145898034...

Subtracting this from 5 − 3φ ≈ 0.145898034..., we have 5 − 3φ − (5 − 3φ) = 0 + 0φ = 0, with the final result being 1000.1001φ.

Non-uniqueness
Just as with any base-n system, numbers with a terminating representation have an alternative recurring representation. In base-10, this relies on the observation that 0.999...=1. In base-φ, the numeral 0.1010101... can be seen to be equal to 1 in several ways:


 * Conversion to nonstandard form: 1 = 0.11φ = 0.1011φ = 0.101011φ = ... = 0.10101010....φ
 * Geometric series: 1.0101010...φ is equal to
 * $$\sum_{k=0}^\infty \varphi^{-2k}=\frac{1}{1-\varphi^{-2}} = \varphi$$


 * Difference between "shifts": φ2 x − x = 10.101010...φ − 0.101010...φ = 10φ = φ so that x = $φ⁄φ^{2} − 1$ = 1

This non-uniqueness is a feature of the numeration system, since both 1.0000 and 0.101010... are in standard form.

In general, the final 1 of any number in base-φ can be replaced with a recurring 01 without changing the value of that number.

Representing rational numbers as golden ratio base numbers
Every non-negative rational number can be represented as a recurring base-φ expansion, as can any non-negative element of the field Q[√5] = Q + √5Q, the field generated by the rational numbers and √5. Conversely any recurring (or terminating) base-φ expansion is a non-negative element of Q[√5]. For recurring decimals, the recurring part has been overlined:


 * $1⁄2$ ≈ 0. 010 φ
 * $1⁄3$ ≈ 0. 00101000 φ
 * √5 = 10.1φ
 * 2 + $√5⁄13$ ≈ 10.01 0100010001010100010001000000 φ

The justification that a rational gives a recurring expansion is analogous to the equivalent proof for a base-n numeration system (n = 2,3,4,...). Essentially in base-φ long division there are only a finite number of possible remainders, and so once there must be a recurring pattern. For example, with $1⁄2$ = $1⁄10.01_{φ}$ = $100_{φ}⁄1001_{φ}$ long division looks like this (note that base-φ subtraction may be hard to follow at first): .0 1 0 0 1        ________________________ 1 0 0 1 ) 1 0 0.0 0 0 0 0 0 0 0             1 0 0 1                        trade: 10000 = 1100 = 1011             ---                            so 10000 − 1001 = 1011 − 1001 = 10                 1 0 0 0 0                   1 0 0 1                   ---                       etc. The converse is also true, in that a number with a recurring base-φ; representation is an element of the field Q[√5].  This follows from the observation that a recurring representation with period k involves a geometric series with ratio φ−k, which will sum to an element of Q[√5].

Representing irrational numbers of note as golden ratio base numbers
The base-φ representations of some interesting numbers:


 * $\pi$ ≈ 100.0100 1010 1001 0001 0101 0100 0001 0100 ...φ
 * $e$ ≈ 100.0000 1000 0100 1000 0000 0100 ...φ
 * √2 ≈ 1.0100 0001 0100 1010 0100 0000 0101 0000 0000 0101 ...φ
 * √5 = 10.1φ

Addition, subtraction, and multiplication
It is possible to adapt all the standard algorithms of base-10 arithmetic to base-φ arithmetic. There are two approaches to this:

Calculate, then convert to standard form
For addition of two base-φ numbers, add each pair of digits, without carry, and then convert the numeral to standard form. For subtraction, subtract each pair of digits without borrow (borrow is a negative amount of carry), and then convert the numeral to standard form. For multiplication, multiply in the typical base-10 manner, without carry, then convert the numeral to standard form.

For example,
 * 2 + 3 = 10.01 + 100.01 = 110.02 = 110.1001 = 1000.1001
 * 2 × 3 = 10.01 × 100.01 = 1000.1 + 1.0001 = 1001.1001 = 1010.0001
 * 7 − 2 = 10000.0001 − 10.01 = 100 1 0.0 1 01 = 11 1 0.0 1 01 = 1001.0 1 01 = 1000.1001

Avoid digits other than 0 and 1
A more "native" approach is to avoid having to add digits 1+1 or to subtract 0 – 1. This is done by reorganising the operands into nonstandard form so that these combinations do not occur. For example, The subtraction seen here uses a modified form of the standard "trading" algorithm for subtraction.
 * 2 + 3 = 10.01 + 100.01 = 10.01 + 100.0011 = 110.0111 = 1000.1001
 * 7 − 2 = 10000.0001 − 10.01 = 1100.0001 − 10.01 = 1011.0001 − 10.01 = 1010.1101 − 10.01 = 1000.1001

Division
No non-integer rational number can be represented as a finite base-φ number. In other words, all finitely representable base-φ numbers are either integers or (more likely) an irrational in a quadratic field Q[√5]. Due to long division having only a finite number of possible remainders, a division of two integers (or other numbers with finite base-φ representation) will have a recurring expansion, as demonstrated above.

Relationship with Fibonacci coding
Fibonacci coding is a closely related numeration system used for integers. In this system, only digits 0 and 1 are used and the place values of the digits are the Fibonacci numbers. As with base-φ, the digit sequence "11" is avoided by rearranging to a standard form, using the Fibonacci recurrence relation Fk+1 = Fk + Fk−1. For example,
 * 30 = 1×21 + 0×13 + 1×8 + 0×5 + 0×3 + 0×2 + 1×1 + 0×1 = 10100010fib.

Practical usage
It is possible to mix base-φ arithmetic with Fibonacci integer sequences. The sum of numbers in a General Fibonacci integer sequence that correspond with the nonzero digits in the base-φ number, is the multiplication of the base-φ number and the element at the zero-position in the sequence. For example:
 * product 10 (10100.0101 base-φ) and 25 (zero position) = 5 + 10 + 65 + 170 = 250
 * base-φ:              1 0 1  0  0. 0  1   0   1
 * partial sequence: ... 5 5 10 15 25 40 65 105 170 275 445 720 1165 ...
 * product 10 (10100.0101 base-φ) and 65 (zero position) = 10 + 25 + 170 + 445 = 650
 * base-φ:                  1  0  1  0  0. 0    1   0   1
 * partial sequence: ... 5 5 10 15 25 40 65 105 170 275 445 720 1165 ...