Simplest self-contained numeral system for complex numbers?

In summary, The simplest possible self-contained numeral system for complex numbers would be a+ib where a and b follow your favorite simple representation of real numbers. This is simpler than the quarter-imaginary base and can be converted between the two relatively easily. Other options include balanced ternary with nine complex digits or base i√2 with two digits.
  • #1
cuallito
95
1
TL;DR Summary
Like balanced ternary for complex numbers.
Anyone know what the simplest possible self-contained numeral system for complex numbers would be, analogous to signed ternary for integers? My guess would be quarter-imaginary base (https://en.wikipedia.org/wiki/Quater-imaginary_base.)
 
Mathematics news on Phys.org
  • #2
Define "simple". You can use a+ib where a and b follow your favorite simple representation of real numbers. I would consider that simpler than the quarter-imaginary base. You can convert between these two relatively easily, as the quarter-imaginary base has purely imaginary and purely real digits that you can separate.
 
  • Like
Likes pbuk and sysprog
  • #3
Here's how it's commonly done in PL/1 (from https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.ceea300/ceea30016.htm):

COMPLEX8Short floating-point complex hex number: an 8-byte complex number, whose real and imaginary parts are each 4-byte single-precision floating-point numbersCOMPLEX FLOAT DECIMAL (6)
COMPLEX16Long floating-point complex hex number: a 16-byte complex number, whose real and imaginary parts are each 8-byte double-precision floating-point numbersCOMPLEX FLOAT DECIMAL (16)
COMPLEX32Extended floating-point hex number: a 32-byte complex number, whose real and imaginary parts are each 16-byte extended-precision floating-point numbersCOMPLEX FLOAT DECIMAL (33)
 
  • Like
Likes Delta2
  • #4
cuallito said:
Anyone know what the simplest possible self-contained numeral system for complex numbers would be, analogous to signed ternary for integers? My guess would be quarter-imaginary base (https://en.wikipedia.org/wiki/Quater-imaginary_base.)
I assume by signed ternary you are referring to what is more commonly called balanced ternary?
mfb said:
Define "simple".
Indeed. I think it is hard to come up with a definition in which balanced ternary is judged simpler than, say, 2's complement binary.

Quater-imaginary is an interesting curiosity, but again it is difficult to see it as 'simple', and it lacks the desirable feature of compactness that other representation systems (including balanced ternary) have. By compactness for Gaussian integers I mean that the set of all values which can be expressed by a string of ## n ## symbols of a system with ## m ## symbols should lie in a square with sides ## m^{n/2} ## on the Gaussian plane.

In my view, the simplest such system can be achieved by interleaved two's complement binary digits: ## ...b_2a_2b_1a_1b_0a_0 ## where ## z = a +ib ##. In this system we have (using the notation 0bxx to represent 2's complement binary):
Code:
0000 => 0 + 0i = 0
0001 => 1 + 0i = 1
0010 => 0 + 1i = i
0011 => 1 + 1i = 1 + i
0100 => 0b10 + 0i = -2
0101 => 0b11 + 0i = -1
0111 => 0b11 + 1i = -1 + i
...
and so all numbers represented by the 16 possible strings lie in the rectangle with corners at (-2, -2) and (1, 1).
mfb said:
You can convert between these two relatively easily.
## 7_{10} = ?_{2i} ##? (show your workings) :-p
 
Last edited:
  • Like
Likes sysprog
  • #5
pbuk said:
## 7_{10} = ?_{2i} ##? (show your workings) :-p
The imaginary part is 0 and there is no fractional part, so we already know the result will be ?0?0?. From here on everything is working with real numbers only.
We just need to express 7 in base -4, which is awkward but possible: 16 = 100-4, 8 = 120-4, 7 = 133-4, which means our final result is 103032i. Most of the work went into base 10 -> base -4 conversion, not into anything that would be related to imaginary numbers.
If you know real and imaginary part separately you can keep them separate, and only merge them for the final result. That's similar to the interleaved binary system you showed. A bit more complicated because the imaginary part has an offset (2i and 1/2i digits, no 1i digit).
 
  • Like
Likes sysprog and pbuk
  • #6
I think we have different concepts of 'relatively easy' @mfb :wink:
 
  • Like
Likes sysprog
  • #7
It's much easier than base ##1+i## or even more obscure angles like ##1+2i##.
 
  • Like
Likes sysprog
  • #8
mfb said:
Define "simple". You can use a+ib where a and b follow your favorite simple representation of real numbers. I would consider that simpler than the quarter-imaginary base. You can convert between these two relatively easily, as the quarter-imaginary base has purely imaginary and purely real digits that you can separate.
If the symmetry of balanced ternary is attractive then one could extend it to the complex numbers by using base 3 with nine complex digits: (-1-i), (-1), (-1+i), (-i), (0), (+i), (1-i), (1), (1+i). This is a bit unsatisfactory since it is obviously just a cheesy way of taking the balanced ternary expansions a and b of (a+bi) and interleaving their digits.

If the economy of digits of base -2 is attractive then one could use base ##i \sqrt 2## with two digits: 0 and 1.
 
  • Like
Likes pbuk
  • #9
jbriggs444 said:
If the economy of digits of base -2 is attractive then one could use base ##i \sqrt 2## with two digits: 0 and 1.
Great idea - and to make it really simple you could implement the arithmetic routines in a symbolically economical language like brainf**k :wink:
 
  • Haha
Likes sysprog

FAQ: Simplest self-contained numeral system for complex numbers?

1. What is a self-contained numeral system for complex numbers?

A self-contained numeral system for complex numbers is a way of representing complex numbers using only a limited set of symbols or digits. This system should be able to express all possible complex numbers without the need for external symbols or operations.

2. Why is a self-contained numeral system important for complex numbers?

A self-contained numeral system is important because it allows for a more efficient and concise way of representing complex numbers. It also eliminates the need for additional symbols or operations, making it easier to perform calculations and understand complex numbers.

3. How does a self-contained numeral system work for complex numbers?

A self-contained numeral system works by assigning specific symbols or digits to the real and imaginary parts of a complex number. These symbols can be combined to express any complex number, and the operations of addition, subtraction, multiplication, and division can be performed using these symbols alone.

4. Can a self-contained numeral system be used for all types of complex numbers?

Yes, a well-designed self-contained numeral system can be used for all types of complex numbers, including real and imaginary numbers, as well as complex numbers with different magnitudes and angles.

5. Are there any disadvantages to using a self-contained numeral system for complex numbers?

One potential disadvantage of using a self-contained numeral system for complex numbers is that it may be less intuitive for those who are used to traditional methods of representing complex numbers. Additionally, the symbols used in the system may be more complex or difficult to remember compared to the standard symbols used for complex numbers.

Similar threads

Replies
7
Views
2K
Replies
2
Views
2K
Replies
17
Views
3K
Replies
41
Views
5K
Replies
1
Views
345
Back
Top