Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Quater-imaginary base
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Non-standard numeral system}} {{numeral systems}} {{Technical|date=January 2023}} The '''quater-imaginary numeral system''' is a [[numeral system]], first proposed by [[Donald Knuth]] in 1960. Unlike standard numeral systems, which use an integer (such as 10 in decimal, or 2 in binary) as their [[radix|bases]], it uses the [[imaginary number]] <math>2i</math> (such that <math>(2i)^2=-4</math>) as its base. It is able to ([[#Converting into quater-imaginary|almost]]) uniquely represent every [[complex number]] using only the digits 0, 1, 2, and 3.<ref name="knuth1960">{{cite journal|title=An imaginary number system|journal=Communications of the ACM|volume=3|issue=4|pages=245β247|date=April 1960|author=Donald Knuth|authorlink1=Donald Knuth | doi = 10.1145/367177.367233 |s2cid=16513137 |doi-access=free}}</ref> 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. ==Decomposing the quater-imaginary== In a [[Positional notation|positional system]] with base <math>b</math>, <math>\ldots d_3d_2d_1d_0.d_{-1}d_{-2}d_{-3}\ldots</math> represents<math>\dots + 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}\dots</math> In this numeral system, <math>b = 2i</math>, and because <math>(2i)^2=-4</math>, the entire series of powers can be separated into two different series, so that it simplifies to <math>\begin{align} &{} [\dots+d_4\cdot(-4)^2 +d_2\cdot(-4)^1+d_0+d_{-2}\cdot(-4)^{-1}+\dots ] \end{align}</math> for even-numbered digits (digits that simplify to the value of the digit times a power of -4), and <math>\begin{align} 2i\cdot[\dots+d_3\cdot(-4)^1+d_1+d_{-1}\cdot (-4)^{-1}+d_{-3}\cdot (-4)^{-2} + \dots] \end{align}</math> for those digits that still have an imaginary factor. Adding these two series together then gives the total value of the number. Because of the separation of these two series, the real and imaginary parts of complex numbers are readily expressed in base β4 as <math>\ldots d_4d_2d_0.d_{-2}\ldots</math> and <math>2\cdot(\ldots d_5d_3d_1.d_{-1}d_{-3}\ldots)</math> respectively. ==Converting from quater-imaginary== {|class="wikitable" style="width:14em;float:right;margin-left:1em;" |+ Powers of 2''i'' |- !''k'' !(2''i'')<sup>''k''</sup> |- |align="center"| β5 ||align="center"| β''i''/32 |- |align="center"| β4 ||align="center"| 1/16 |- |align="center"| β3 ||align="center"| ''i''/8 |- |align="center"| β2 ||align="center"| β1/4 |- |align="center"| β1 ||align="center"| β''i''/2 |- |align="center"| 0 ||align="center"| 1 |- |align="center"| 1 ||align="center"| 2''i'' |- |align="center"| 2 ||align="center"| β4 |- |align="center"| 3 ||align="center"| β8''i'' |- |align="center"| 4 ||align="center"| 16 |- |align="center"| 5 ||align="center"| 32''i'' |- |align="center"| 6 ||align="center"| β64 |- |align="center"| 7 ||align="center"| β128''i'' |- |align="center"| 8 ||align="center"| 256 |} 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 <math>\ldots d_3d_2d_1d_0</math> in base ''b'' can be converted to a decimal number using the formula :<math>\cdots + d_3\cdot b^3+d_2\cdot b^2+d_1\cdot b+d_0</math> For the quater-imaginary system, <math>b = 2i</math>. Additionally, for a given string <math>d</math> in the form <math>d_{w-1}, d_{w-2},\dots d_0</math>, the formula below can be used for a given string length <math>w</math> in base <math>b</math> :<math>Q2D_w \vec d \equiv \sum_{k=0}^{w-1} d_k \cdot b^k</math> ===Example=== To convert the string <math>1101_{2i}</math> to a decimal number, fill in the formula above: :<math>1\cdot(2i)^3 + 1\cdot(2i)^2 + 0\cdot(2i)^1 + 1\cdot(2i)^0 = -8i - 4 + 0 + 1 = -3 - 8i</math> Another, longer example: <math>1030003_{2i}</math> in base 10 is :<math>1\cdot(2i)^6 + 3\cdot(2i)^4 + 3\cdot(2i)^0 = -64 + 3\cdot 16 + 3 = -13</math> ==Converting into quater-imaginary== 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 [[0.999...|1 = 0.{{overline|9}}]] in decimal notation, so, because of 0.{{overline|0001}}<sub>2''i''</sub> = {{sfrac|1|15}}, the number {{sfrac|1|5}} has the two quater-imaginary representations 0.{{overline|0003}}<sub>2''i''</sub> = 3Β·{{sfrac|1|15}} = {{sfrac|1|5}} = 1 + 3Β·{{sfrac|β4|15}} = 1.{{overline|0300}}<sub>2''i''</sub>. 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+4''i'' is equal to −1 plus 4''i'', the quater-imaginary representation of β1+4''i'' is the quater-imaginary representation of −1 (namely, 103) plus the quater-imaginary representation of 4''i'' (namely, 20), which gives a final result of −1+4''i'' = 123<sub>2''i''</sub>. To find the quater-imaginary representation of the imaginary component, it suffices to multiply that component by 2''i'', 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 2''i''). For example, the quater-imaginary representation of 6''i'' is calculated by multiplying 6''i'' Γ 2''i'' = −12, which is expressed as 300<sub>2''i''</sub>, and then shifting by one place to the right, yielding: 6''i'' = 30<sub>2''i''</sub>. 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, but there are faster methods for both real and imaginary integers, as shown in the [[Negative base#To negaquaternary|negative base]] article. ===Example: Real number=== As an example of an integer number we can try to find the quater-imaginary counterpart of the decimal number 7 (or 7<sub>10</sub> since the [[radix|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: :<math> \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} </math> Since 7 is a real number, it is allowed to conclude that ''d<sub>1</sub>'', ''d<sub>3</sub>'' and ''d<sub>5</sub>'' should be zero. Now the value of the coefficients ''d<sub>0</sub>'', ''d<sub>2</sub>'' and ''d<sub>4</sub>'', must be found. Because d<sub>0</sub> β 4 d<sub>2</sub> + 16 d<sub>4</sub> = 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: ''d<sub>0</sub>'' = 3, ''d<sub>2</sub>'' = 3 and ''d<sub>4</sub>'' = 1. This configuration gives the resulting digit string for 7<sub>10</sub>. :<math>7_{10} = 010303_{2i} = 10303_{2i}.</math> ===Example: Imaginary number=== Finding a quater-imaginary representation of a purely imaginary integer number {{math|β ''i'''''Z'''}} is analogous to the method described above for a real number. For example, to find the representation of 6''i'', 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 6''i'' it is easily seen by looking at the formula that if ''d<sub>1</sub>'' = 3 and all other coefficients are zero, we get the desired string for 6''i''. That is: :<math>\begin{align}6i_{10} = 30_{2i}\end{align}</math> ===Another conversion method=== 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 number#fractions|binary fractions]] we can use the following algorithm using repeated [[Euclidean division]]: For example: 35+23i=121003.2<sub>2i</sub> 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 2<small>0</small>0<small>0</small>3 + 1<small>0</small>1<small>0</small>0<small>0</small> + 0.2 = 121003.2 32i+16Γ2β8iβ4Γ0+2iΓ0+1Γ3β2Γi/2=35+23i ==Radix point "."== A [[radix point]] in the decimal system is the usual '''.''' (dot) which marks the separation between the [[integer]] part and the [[fraction (mathematics)|fraction]]al part of the number. In the quater-imaginary system a radix point can also be used. For a digit string <math>\dots d_{5}d_{4}d_{3}d_{2}d_{1}d_{0} . d_{-1}d_{-2}d_{-3} \dots</math> the radix point marks the separation between non-negative and negative powers of ''b''. Using the radix point the general formula becomes: :<math>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}</math> or :<math>\begin{align} 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} \end{align}</math> ===Example=== 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: :<math> \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} </math> for certain coefficients ''d<sub>k</sub>''. Then because the real part has to be zero: ''d''<sub>4</sub> = ''d''<sub>2</sub> = ''d''<sub>0</sub> = ''d''<sub>β2</sub> = 0. For the imaginary part, if ''d''<sub>5</sub> = ''d''<sub>3</sub> = ''d''<sub>β3</sub> = 0 and when ''d''<sub>1</sub> = 1 and ''d''<sub>β1</sub> = 2 the digit string can be found. Using the above coefficients in the digit string the result is: :<math>i = 10.2_{2i}.</math> ==Addition and subtraction== It is possible to [[addition|add]] and [[subtraction|subtract]] numbers in the quater-imaginary system. In doing this, there are two basic rules that have to be kept in mind: # Whenever a number exceeds 3, ''subtract'' 4 and "carry" β1 two places to the left. # 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=== Below are two examples of adding in the quater-imaginary system: <pre> 1 β 2i 1031 1 β 2i 1031 ------ + <=> ---- + 2 β 4i 1022 3 β 4i 1023 1 β 8i 1001 ------ + <=> ----- + 4 β12i 12320 </pre> 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 "2''i''s 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 <math>12320_{2i}</math>. ===Example: Subtraction=== Subtraction is analogous to addition in that it uses the same two rules described above. Below is an example: <pre> β 2 β 8i 1102 1 β 6i 1011 ------- <=> ----- β 3 β 2i 1131 </pre> In this example we have to subtract <math>1011_{2i}</math> from <math>1102_{2i}</math>. 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 <math>1131_{2i}</math>. ==Multiplication== 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: <pre> 11201 20121 Γ --------------- 11201 ββββ 1 Γ 11201 12002 ββββ 2 Γ 11201 11201 ββββ 1 Γ 11201 00000 ββββ 0 Γ 11201 12002 + ββββ 2 Γ 11201 --------------- 120231321 </pre> This corresponds to a multiplication of <math>(9-8i)\cdot(29+4i) = 293-196i</math>. ==Tabulated conversions== Below is a table of some decimal and complex numbers and their quater-imaginary counterparts. {{col-begin}} {{col-break}} {| class="wikitable" style="text-align:right" |- !Base 10!!Base 2''i'' |- |1||'' ''1 <!-- Note: '' '' required for proper vertical spacing --> |- |2||'' ''2 |- |3||'' ''3 |- |4||'' ''10300 |- |5||'' ''10301 |- |6||'' ''10302 |- |7||'' ''10303 |- |8||'' ''10200 |- |9||'' ''10201 |- |10||'' ''10202 |- |11||'' ''10203 |- |12||'' ''10100 |- |13||'' ''10101 |- |14||'' ''10102 |- |15||'' ''10103 |- |16||'' ''10000 |} {{col-break}} {| class="wikitable" style="text-align:right" |- !Base 10!!Base 2''i'' |- |β1||'' ''103 |- |β2||'' ''102 |- |β3||'' ''101 |- |β4||'' ''100 |- |β5||'' ''203 |- |β6||'' ''202 |- |β7||'' ''201 |- |β8||'' ''200 |- |β9||'' ''303 |- |β10||'' ''302 |- |β11||'' ''301 |- |β12||'' ''300 |- |β13||'' ''1030003 |- |β14||'' ''1030002 |- |β15||'' ''1030001 |- |β16||'' ''1030000 |} {{col-break}} {| class="wikitable" style="text-align:right" |- !Base 10!!Base 2''i'' |- |1''i''||10.2 |- |2''i''||10.0 |- |3''i''||20.2 |- |4''i''||20.0 |- |5''i''||30.2 |- |6''i''||30.0 |- |7''i''||103000.2 |- |8''i''||103000.0 |- |9''i''||103010.2 |- |10''i''||103010.0 |- |11''i''||103020.2 |- |12''i''||103020.0 |- |13''i''||103030.2 |- |14''i''||103030.0 |- |15''i''||102000.2 |- |16''i''||102000.0 |} {{col-break}} {| class="wikitable" style="text-align:right" |- !Base 10!!Base 2''i'' |- |β1''i''||0.2 |- |β2''i''||1030.0 |- |β3''i''||1030.2 |- |β4''i''||1020.0 |- |β5''i''||1020.2 |- |β6''i''||1010.0 |- |β7''i''||1010.2 |- |β8''i''||1000.0 |- |β9''i''||1000.2 |- |β10''i''||2030.0 |- |β11''i''||2030.2 |- |β12''i''||2020.0 |- |β13''i''||2020.2 |- |β14''i''||2010.0 |- |β15''i''||2010.2 |- |β16''i''||2000.0 |} {{col-end}} ==Examples== Below are some other examples of conversions from decimal numbers to quater-imaginary numbers. :<math>5 = 16 + (3\cdot-4) + 1 = 10301_{2i}</math> :<math>i = 2i + 2\left(-\frac{1}{2}i\right) = 10.2_{2i}</math> :<math>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}</math> ==Z-order curve== The representation :<math>z = \sum_{k\ge n} z_k \cdot (2i)^{-k}</math> of an arbitrary complex number <math>z\in \Complex</math> with <math>z_k\in \{0,1,2,3\}</math> gives rise to an [[Injective function|injective]] mapping :<math>\textstyle \begin{array}{llcl} \varphi \colon & \Complex & \to & \R \\ & \sum_{k \ge n} z_k \cdot (2i)^{-k} & \mapsto & \sum_{k \ge n} z_k \cdot r^{-k}\\ \end{array} </math> with some suitable <math>r \in \Z</math>. Here <math>r = 4</math> cannot be taken as base because of :<math>\textstyle \sum_{k>0} 3\cdot (2i)^{-k} = \tfrac{-3-6i}5 \; \; \; \; \ne \; \; \; \; 1 = \sum_{k>0} 3 \cdot 4^{-k}.</math> The [[Image of a function|image]] <math>\varphi(\Complex) \subset \R</math> is a [[Cantor set]] which allows to linearly order <math>\Complex</math> similar to a [[Z-order curve]]. Since the image is disconnected, <math>\varphi</math> is not [[Continuous function|continuous]]. ==See also== * [[Quaternary numeral system]] * [[Complex-base system]] * [[Negative base]] ==References== {{Reflist}} ==Further reading== *{{cite book |first=Donald Ervin |last=Knuth |author-link=Donald Ervin Knuth |title=The Art of Computer Programming |title-link=The Art of Computer Programming |volume=2 |edition=3 |publisher=[[Addison-Wesley]] |page=205 |chapter=Positional Number Systems}} *{{cite book |title=Hacker's Delight |title-link=Hacker's Delight |first=Henry S. |last=Warren Jr. |date=2013 |orig-year=2002 |edition=2 |publisher=[[Addison Wesley]] - [[Pearson Education, Inc.]] |isbn=978-0-321-84268-8 |id=0-321-84268-5 |page=309}} {{Donald Knuth navbox}} [[Category:Non-standard positional numeral systems]] [[Category:Donald Knuth]] [[Category:Complex numbers]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Ambox
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Col-begin
(
edit
)
Template:Col-break
(
edit
)
Template:Col-end
(
edit
)
Template:Donald Knuth navbox
(
edit
)
Template:Math
(
edit
)
Template:Numeral systems
(
edit
)
Template:Overline
(
edit
)
Template:Reflist
(
edit
)
Template:Sfrac
(
edit
)
Template:Short description
(
edit
)
Template:Sidebar with collapsible groups
(
edit
)
Template:Technical
(
edit
)