Complex-base system

In arithmetic, a complex-base system is a positional numeral system whose radix is an imaginary (proposed by Donald Knuth in 1955) or complex number (proposed by S. Khmelnik in 1964 and Walter F. Penney in 1965).

In general

Let D be an integral domain ⊂ℂ, and |⋅| the (Archimedean) absolute value on it.

A number X∈D in a positional number system is represented as an expansion

X=±∑νxνρν,

where

ρ∈Dis the radix (or base) with |ρ|>1,
ν∈ℤis the exponent (position or place),
xνare digits from the finite set of digits Z⊂D, usually with |xν|<|ρ|.

The cardinality R:=|Z| is called the level of decomposition.

A positional number system or coding system is a pair

⟨ρ,Z⟩

with radix ρ and set of digits Z, and we write the standard set of digits with R digits as

ZR:={0,1,2,…,R−1}.

Desirable are coding systems with the features:

In the real numbers

In this notation our standard decimal coding scheme is denoted by

⟨10,Z10⟩,

the standard binary system is

⟨2,Z2⟩,

the negabinary system is

⟨−2,Z2⟩,

and the balanced ternary system is

⟨3,{−1,0,1}⟩.

All these coding systems have the mentioned features for ℤ and ℝ, and the last two do not require a sign.

In the complex numbers

Well-known positional number systems for the complex numbers include the following (i being the imaginary unit):

⟨±2i,Z4⟩, the quater-imaginary base, proposed by Donald Knuth in 1955.
⟨2e±3π4i=−1±i,Z2⟩ (see also the section Base −1 ± i below).
⟨−1+i72,Z2⟩.
⟨−2,{0,1,i,1+i}⟩.

Binary systems

Binary coding systems of complex numbers, i.e. systems with the digits Z2={0,1}, are of practical interest. Listed below are some coding systems ⟨ρ,Z2⟩ (all are special cases of the systems above) and resp. codes for the (decimal) numbers −1, 2, −2, i. The standard binary (which requires a sign, first line) and the "negabinary" systems (second line) are also listed for comparison. They do not have a genuine expansion for i.

Some bases and some representations
Radix –1 ← 2 ← –2 ← i ← Twins and triplets
2–110–10i1 ←0.1 = 1.0
–21111010i⁠1/3⁠ ←0.01 = 1.10
i21011010010010.101010100...13+13i2 ←0.0011 = 11.1100
−1+i72111101011011.110001100...3+i74 ←1.011 = 11.101 = 11100.110
ρ21011010010010⁠1/3⁠ + ⁠1/3⁠i ←0.0011 = 11.1100
–1+i1110111001110011⁠1/5⁠ + ⁠3/5⁠i ←0.010 = 11.001 = 1110.100
2i 103210210.2⁠1/5⁠ + ⁠2/5⁠i ←0.0033 = 1.3003 = 10.0330 = 11.3300

As in all positional number systems with an Archimedean absolute value, there are some numbers with multiple representations. Examples of such numbers are shown in the right column of the table. All of them are repeating fractions with the repetend marked by a horizontal line above it.

If the set of digits is minimal, the set of such numbers has a measure of 0. This is the case with all the mentioned coding systems.

The almost binary quater-imaginary system is listed in the bottom line for comparison purposes. There, real and imaginary part interleave each other.

Base −1 ± i

The complex numbers with integer part all zeroes in the base i – 1 system

Of particular interest are the quater-imaginary base (base 2i) and the base −1 ± i systems discussed below, both of which can be used to finitely represent the Gaussian integers without sign.

Base −1 ± i, using digits 0 and 1, was proposed by S. Khmelnik in 1964 and Walter F. Penney in 1965.

Connection to the twindragon

The rounding region of an integer – i.e., a set S of complex (non-integer) numbers that share the integer part of their representation in this system – has in the complex plane a fractal shape: the twindragon (see figure). This set S is, by definition, all points that can be written as ∑k≥1xk(i−1)−k with xk∈Z2. S can be decomposed into 16 pieces congruent to 14S. Notice that if S is rotated counterclockwise by 135°, we obtain two adjacent sets congruent to 12S, because (i−1)S=S∪(S+1). The rectangle R⊂S in the center intersects the coordinate axes counterclockwise at the following points: 215←0.00001100‾, 115i←0.00000011‾, and −815←0.11000000‾, and −415i←0.00110000‾. Thus, S contains all complex numbers with absolute value ≤⁠1/15⁠.

As a consequence, there is an injection of the complex rectangle

[−815,215]×[−415,115]i

into the interval [0,1) of real numbers by mapping

∑k≥1xk(i−1)−k↦∑k≥1xkb−k

with b>2.

Furthermore, there are the two mappings

Z2ℕ→S(xk)k∈ℕ↦∑k≥1xk(i−1)−k

and

Z2ℕ→[0,1)(xk)k∈ℕ↦∑k≥1xk2−k

both surjective, which give rise to a surjective (thus space-filling) mapping

[0,1)→S

which, however, is not continuous and thus not a space-filling curve. But a very close relative, the Davis-Knuth dragon, is continuous and a space-filling curve.

See also

References

  1. 1 2 Knuth, D.E. (1960). "An Imaginary Number System". Communications of the ACM. 3 (4): 245–247. doi:10.1145/367177.367233. S2CID 16513137.
  2. 1 2 3 Knuth, Donald (1998). "Positional Number Systems". The art of computer programming. Vol. 2 (3rd ed.). Boston: Addison-Wesley. p. 205. ISBN 0-201-89684-2. OCLC 48246681.
  3. 1 2 3 Khmelnik, S.I. (1964). "Specialized digital computer for operations with complex numbers". Questions of Radio Electronics (In Russian). XII (2).
  4. 1 2 W. Penney, A "binary" system for complex numbers, JACM 12 (1965) 247-248.
  5. 1 2 Jamil, T. (2002). "The complex binary number system". IEEE Potentials. 20 (5): 39–41. Bibcode:2002IPot...20e..39J. doi:10.1109/45.983342.
  6. 1 2 Duda, Jarek (2008-02-24). "Complex base numeral systems". arXiv:0712.1309 [math.DS].
  7. ↑ Khmelnik, S.I. (1966). "Positional coding of complex numbers". Questions of Radio Electronics (In Russian). XII (9).
  8. 1 2 Khmelnik, S.I. (2004). Coding of Complex Numbers and Vectors (in Russian) (PDF). Israel: Mathematics in Computer. ISBN 978-0-557-74692-7.
  9. 1 2 Khmelnik, S.I. (2001). Method and system for processing complex numbers. Patent USA, US2003154226 (A1).
  10. ↑ William J. Gilbert, "Arithmetic in Complex Bases" Mathematics Magazine Vol. 57, No. 2, March 1984
  11. 1 2 infinite non-repeating sequence
  12. ↑ Knuth 1998 p.206
  13. ↑ Base b=2 cannot be taken because both, 2−1=0.1bin=0.5dec and ∑k≥22−k=0.01‾bin=0.1bin=0.5dec. However, (i−1)−1=−0.1bin−0.1bini=−0.5dec−0.5deci   is unequal to   ∑k≥2(i−1)−k=0.1dec+0.3deci.