Quater-imaginary base

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The quater-imaginary numeral system was first proposed by Donald Knuth in 1955, in a submission to a high-school science talent search. It is a non-standard positional numeral system which uses the imaginary number 2i as its base. It is able to (almost) uniquely represent every complex number using only the digits 0, 1, 2, and 3.[1] (Numbers less than zero, which are ordinarily represented with a minus sign, are representable as digit strings in quater-imaginary; for example, the number −1 is represented as "103" in quater-imaginary notation.)

Decompose the quater-imaginary[edit]

\ldots d_3d_2d_1d_0.d_{-1}d_{-2}d_{-3}\ldots means

\ldots + d_3\cdot b^3+d_2\cdot b^2+d_1\cdot b+d_0+d_{-1}\cdot b^{-1}+d_{-2}\cdot b^{-2}+d_{-3}\cdot b^{-3}\ldots
b = 2i.

as we know,

(2i)^2=-4.

so,

\ldots + d_3\cdot (2i)^3+d_2\cdot (2i)^2+d_1\cdot (2i)+d_0+d_{-1}\cdot (2i)^{-1}+d_{-2}\cdot (2i)^{-2}+d_{-3}\cdot (2i)^{-3}\ldots
=[...d_4\cdot(-4)^2+d_2\cdot(-4)^1+d_0+d_{-2}\cdot(-4)^{-1}+\ldots ]+2i\cdot[...+d_5\cdot(-4)^2+d_3\cdot(-4)^1+d_1+d_{-1}\cdot (-4)^{-1}+d_{-3}\cdot (-4)^{-2}+\ldots].

The real and imaginary parts of this complex number are thus readily expressed in base −4 as \ldots d_4d_2d_0.d_{-2}\ldots and \ldots d_5d_3d_1.d_{-1}d_{-3}\ldots respectively.

Converting from quater-imaginary[edit]

k (2i)k
-5 −1/32i
-4 1/16
-3 1/8i
-2 −1/4
-1 −1/2i
0 1
1 2i
2 −4
3 −8i
4 16
5 32i
6 −64
7 −128i
8 256
Powers of 2i

To convert a digit string from the quater-imaginary system to the decimal system, the standard formula for positional number systems can be used. This says that a digit string \ldots d_3d_2d_1d_0 in base b can be converted to a decimal number using the formula

\cdots + d_3\cdot b^3+d_2\cdot b^2+d_1\cdot b+d_0

For the quater-imaginary system, b = 2i.

Example[edit]

To convert the string 1101_{2i} to a decimal number, fill in the formula above:

1\cdot(2i)^3 + 1\cdot(2i)^2 + 0\cdot(2i)^1 + 1\cdot(2i)^0 = -8i - 4 + 0 + 1 = -3 - 8i

Another, longer example: 1030003_{2i} in base 10 is

1\cdot(2i)^6 + 3\cdot(2i)^4 + 3\cdot(2i)^0 = -64 + 3\cdot 16 + 3 = -13

Converting into quater-imaginary[edit]

It is also possible to convert a decimal number to a number in the quater-imaginary system. Every complex number (every number of the form a+bi) has a quater-imaginary representation. Most numbers have a unique quater-imaginary representation, but just as 1 has the two representations 1 = 0.999... in decimal notation, so 1/5 has the two quater-imaginary representations 1.(0300)…2i = 0.(0003)…2i.

To convert an arbitrary complex number to quater-imaginary, it is sufficient to split the number into its real and imaginary components, convert each of those separately, and then add the results by interleaving the digits. For example, since –1+4i is equal to –1 plus 4i, the quater-imaginary representation of –1+4i is the quater-imaginary representation of –1 (namely, 103) plus the quater-imaginary representation of 4i (namely, 20), which gives a final result of –1+4i = 1232i.

To find the quater-imaginary representation of the imaginary component, it suffices to multiply that component by 2i, which gives a real number; then find the quater-imaginary representation of that real number, and finally shift the representation by one place to the right (thus dividing by 2i). For example, the quater-imaginary representation of 6i is calculated by multiplying 6i • 2i = –12, which is expressed as 3002i, and then shifting by one place to the right, yielding: 6i = 302i.

Finding the quater-imaginary representation of an arbitrary real integer number can be done manually by solving a system of simultaneous equations, as shown below.

Example: Real number[edit]

As an example of an integer number we can try to find the quater-imaginary counterpart of the decimal number 7 (or 710 since the base of the decimal system is 10). Since it is hard to predict exactly how long the digit string will be for a given decimal number, it is safe to assume a fairly large string. In this case, a string of six digits can be chosen. When an initial guess at the size of the string eventually turns out to be insufficient, a larger string can be used.

To find the representation, first write out the general formula, and group terms:


\begin{align}
7_{10}& = d_{0}+d_{1}\cdot b+d_{2}\cdot b^{2}+d_{3}\cdot b^{3}+d_{4}\cdot b^{4}+d_{5}\cdot b^{5} \\
& = d_{0}+2id_{1}-4d_{2}-8id_{3}+16d_{4}+32id_{5} \\
& = d_{0}-4d_{2}+16d_{4}+i(2d_{1}-8d_{3}+32d_{5}) \\
\end{align}

Since 7 is a real number, it is allowed to conclude that d1, d3 and d5 should be zero. Now the value of the coefficients d0, d2 and d4, must be found. Because d0 − 4 d2 + 16 d4 = 7 and because—by the nature of the quater-imaginary system—the coefficients can only be 0, 1, 2 or 3 the value of the coefficients can be found. A possible configuration could be: d0 = 3, d2 = 3 and d4 = 1. This configuration gives the resulting digit string for 710.

\begin{align} 7_{10} = 010303_{2i} = 10303_{2i}.\end{align}

Example: Imaginary number[edit]

Finding a quater-imaginary representation of a purely imaginary integer number iZ is analogous to the method described above for a real number. For example, to find the representation of 6i, it is possible to use the general formula. Then all coefficients of the real part have to be zero and the complex part should make 6. However, for 6i it is easily seen by looking at the formula that if d1 = 3 and all other coefficients are zero, we get the desired string for 6i. That is:

\begin{align}6i_{10} = 30_{2i}\end{align}

Another conversion method[edit]

For real numbers the quater-imaginary representation is the same as negative quaternary (base −4). A complex number x+iy can be converted to quater-imaginary by converting x and y/2 separately to negative quaternary. If both x and y are finite binary fractions we can use the following algorithm using repeated Euclidean division:

For example: 35+23i=121003.22i

                35                                 23i÷2i=11.5    11=12-0.5
            35÷(-4)=-8, remainder 3                12÷(-4)=-3, remainder 0         (-0.5)*(-4)=2
            -8÷(-4)= 2, remainder 0                -3÷(-4)= 1, remainder 1
             2÷(-4)= 0, remainder 2                 1÷(-4)= 0, remainder 1
               20003                    +              101000                         +  0.2 = 121003.2
                         32i+16*2-8i-4*0+2i*0+1*3-2*i/2=35+23i

Radix point "."[edit]

A radix point in the decimal system is the usual . (dot) which marks the separation between the integral part and the fractional part of the number. In the quater-imaginary system a radix point can also be used. For a digit string ...d_{5}d_{4}d_{3}d_{2}d_{1}d_{0} . d_{-1}d_{-2}d_{-3}... the radix point marks the separation between positive and negative powers of b. Using the radix point the general formula becomes:

d_5 b^5 + d_4 b^4 + d_3 b^3 + d_2 b^2 + d_1 b + d_0 + d_{-1} b^{-1} + d_{-2} b^{-2} + d_{-3} b^{-3}

or


32id_{5}+16d_{4}-8id_{3}-4d_{2}+2id_{1}+d_{0}+\frac{1}{2i}d_{-1}+\frac{1}{-4}d_{-2}+\frac{1}{-8i}d_{-3}

=32id_{5}+16d_{4}-8id_{3}-4d_{2}+2id_{1}+d_{0}-\frac{i}{2}d_{-1}-\frac{1}{4}d_{-2}+\frac{i}{8}d_{-3}

Example[edit]

If the quater-imaginary representation of the complex unit i has to be found, the formula without radix point will not suffice. Therefore the above formula should be used. Hence:


\begin{align}i & = 32id_{5}+16d_{4}-8id_{3}-4d_{2}+2id_{1}+d_{0}+\frac{1}{2i}d_{-1}+\frac{1}{-4}d_{-2}+\frac{1}{-8i}d_{-3}\\
& = i(32d_{5}-8d_{3}+2d_{1}-\frac{1}{2}d_{-1}+\frac{1}{8}d_{-3})+16d_{4}-4d_{2}+d_{0}-\frac{1}{4}d_{-2}\\
\end{align}

For certain coefficients dk. Then because the real part has to be zero: d4 = d2 = d0 = d-2 = 0. For the imaginary part, if d5 = d3 = d -3 = 0 and when d1=1 and d-1=2 the digit string can be found. Using the above coefficients in the digit string the result is:

\begin{align}i = 10.2_{2i}\end{align}.

Addition and subtraction[edit]

It is possible to add and subtract numbers in the quater-imaginary system. In doing this, there are two basic rules that have to be kept in mind:

  1. Whenever a number exceeds 3, subtract 4 and "carry" −1 two places to the left.
  2. Whenever a number drops below 0, add 4 and "carry" +1 two places to the left.

Or for short: "If you add four, carry +1. If you subtract four, carry -1". This is the opposite of normal long addition, in which a "carry" in the current column requires adding 1 to the next column to the left, and a "borrow" requires subtracting. In quater-imaginary arithmetic, a "carry" subtracts from the next-but-one column, and a "borrow" adds.

Example: Addition[edit]

Below are two examples of adding in the quater-imaginary system:

  1 - 2i                1031             3 - 4i                 1023
  1 - 2i                1031             1 - 8i                 1001
  ------- +     <=>     ----- +          ------- +      <=>     ----- +
  2 - 4i                1022             4 - 12i               12320

In the first example we start by adding the two 1s in the first column (the "ones' column"), giving 2. Then we add the two 3s in the second column (the "2is column"), giving 6; 6 is greater than 3, so we subtract 4 (giving 2 as the result in the second column) and carry −1 into the fourth column. Adding the 0s in the third column gives 0; and finally adding the two 1s and the carried −1 in the fourth column gives 1.

In the second example we first add 3+1, giving 4; 4 is greater than 3, so we subtract 4 (giving 0) and carry −1 into the third column (the "−4s column"). Then we add 2+0 in the second column, giving 2. In the third column, we have 0+0+(−1), because of the carry; −1 is less than 0, so we add 4 (giving 3 as the result in the third column) and "borrow" +1 into the fifth column. In the fourth column, 1+1 is 2; and the carry in the fifth column gives 1, for a result of 12320_{2i}.

Example: Subtraction[edit]

Subtraction is analogous to addition in that it uses the same two rules described above. Below is an example:

        - 2 - 8i                       1102
          1 - 6i                       1011  
          ------- -         <=>        ----- -
        - 3 - 2i                       1131

In this example we have to subtract 1011_{2i} from 1102_{2i}. The rightmost digit is 2−1 = 1. The second digit from the right would become −1, so add 4 to give 3 and then carry +1 two places to the left. The third digit from the right is 1−0 = 1. Then the leftmost digit is 1−1 plus 1 from the carry, giving 1. This gives a final answer of 1131_{2i}.

Multiplication[edit]

For long multiplication in the quater-imaginary system, the two rules stated above are used as well. When multiplying numbers, multiply the first string by each digit in the second string consecutively and add the resulting strings. With every multiplication, a digit in the second string is multiplied with the first string. The multiplication starts with the rightmost digit in the second string and then moves leftward by one digit, multiplying each digit with the first string. Then the resulting partial products are added where each is shifted to the left by one digit. An example:

             11201
             20121  x
             --------
             11201      <--- 1 x 11201
            12002       <--- 2 x 11201
           11201        <--- 1 x 11201
          00000         <--- 0 x 11201
         12002      +   <--- 2 x 11201
         ------------
         120231321

This corresponds to a multiplication of (9-8i)\cdot(29+4i) = 293-196i.

Tabulated conversions[edit]

Below is a table of some decimal and complex numbers and their quater-imaginary counterparts.

Examples[edit]

Below are some other examples of conversions from decimal numbers to quater-imaginary numbers.

5 = 16 + (3\cdot-4) + 1 = 10301_{2i}
i = 2i + 2\left(-\frac{1}{2}i\right) = 10.2_{2i}
7 \frac{3}{4} - 7 \frac{1}{2}i = 1(16) + 1(-8i) + 2(-4) + 1(2i) + 3\left(-\frac{1}{2}i\right) + 1\left(-\frac{1}{4}\right) = 11210.31_{2i}

See also[edit]

References[edit]

  • D. Knuth. The Art of Computer Programming. Volume 2, 3rd Edition. Addison-Wesley. pp. 205, "Positional Number Systems"
  1. ^ Donald Knuth (April 1960). "An imaginary number system". Communications of the ACM 3 (4).