Tuesday 11 March 2014

3D Complex Numbers - Why Not?

The Mandelbrot and Julia fractals are flat 2-dimensional objects, because the are derived from 2-dimensional complex numbers.

It's natural to want to extend the complex numbers to 3-dimensions, to form hypercomplex numbers, to see what kinds of Mandelbrot-like objects might emerge.

How would we do this? Is it possible? Impossible?

The eminent mathematician William Rowan Hamilton tried to do exactly this for quite some time, and failed. The reasons why this fails are not well explained in many guides to mathematics, so we'll have a go here. Myself I struggled to find a convincing but easy to understand explanation until I found the venerable Numbers which has a good explanation at the start of Chapter 7, even if the style is a little old school.

http://www.amazon.co.uk/Numbers-Graduate-Texts-Mathematics-Readings/dp/0387974970/
 A key thing to realise about mathematics is that you're free to invent any kind of universe of objects and the rules that govern how they interact. You can play mathematics god. However, if you want others to be interested in your creations they have to be useful, or actually interesting, in some way.

We know the complex numbers are remarkably useful across many fields of real world science, as well as pure mathematics. They're useful because they behave in ways that conform to many norms of familiar number systems. For example, complex numbers are commutative. That means it doesn't matter which order you multiply two complex numbers together. Just like normal numbers 3 x 2 is the same as 2 x 3, for complex numbers (2+3i) x (3+5i) is the same as (3+5i) x (2+3i) = (-9 + 19i). For some invented schemes, or algebras, the assumption of commutativity is not safe.

So we'll proceed in small steps, and remain cautious about which behaviours of normal number systems we want to preserve, or can prove remain true.

Let's start by extending the complex numbers from the 2-dimensional form (a+bi) to 3-dimensional by adding a new "axis" or basis. Let's call it j, but keeping in mind it's not the j used by the engineering community to mean the imaginary i. So we have hypercomplex numbers of the form (a+bi+cj). The parameters a, b and c are simple normal real numbers, not complex numbers. Writing (a+bi) is an easy way of talking about all possible complex numbers because we're committing to any particular a or b.

Let's make a small step forward and see if a very common mathematical operation works as we expect. Remember that with complex numbers addition works by adding the real and imaginary parts of the complex numbers independently. This works because the real and imaginary parts are independent. If they weren't then such simple addition wouldn't work. If you think of complex numbers as being composed of apples and oranges, instead of real and imaginary parts, you can see that you can collect all the apples into a new sum pile, and the same for oranges, but you can't mix the apples with the oranges. It should be straightforward to see that for our hypercomplex numbers, addition works the same, with the real, i and j parts being added independently. The usual behaviours of commutativity (A+B = B+A) and associativity (A+(B+C) = (A+B)+C) work as expected. Importantly, no inconsistencies or incompleteness appears to arise from our addition rules for these hypercomplex numbers.

Addition for our invented hypercomplex numbers isn't problematic. Now let's consider multiplication.

Let's try multiplying a general hypercomplex number by itself, that is, squaring it.

(a + bi + cj)2 = (a2 + abi + acj + abi + b2ii + bcij + acj + bcji + c2jj)
= (a2 - b2 - c2) + (2ab)i + (2ac)j + bcij + bcji

We assumed j2 = -1 just as i2 = -1. Why? Because we want the j basis to behave as the i basis and not have an unnerving asymmetry. We collected similar terms but we were cautious about the ij and ji terms, taking care not to equate them because we don't yet know if they are commutative. That is, we don't equate ij with ji to collect the last two terms.

Great! It seems we now need to find a reasoned way to see if ij and ji can be decomposed or simplified into a combination of basis terms, real, i and j. Why? Because we want multiplication of these hypercomplex numbers to result in new hypercomplex numbers that stay within the same space and not break out, needing new dimensions to describe them.

How can we do this? Well let's apply another constraint derived from another desirable quality. That quality is this - that hypercomplex numbers, when multiplied, results in a new one whose Euclidean magnitude is the same as the Euclidean magnitudes of the factors multiplied. That is, |AB| = |A||B| as the illustrated by the following diagram. Note: this isn't vector multiplication, its multuplying complex or hypercomplex numbers.


We didn't have to ask for this but we want to because it is a normal behavior we do want to see in our invented hypercomplex numbers. So lets apply this to a hypercomplex number multiplied by itself:

| (a + bi + cj)| = | (a + bi + cj) | | (a + bi + cj) | = a2 + b2 + c2

That last expression is simple because the Euclidean magnitude is the square root of each component squared and summed, and the square roots cancel out. But we have that other longer expression for the hypercomplex number multiplied by itself, so we can apply the sum of each component squared to that expression, where each independent components is the scale of the real, i and j parts. also, we don't like square roots so square everything to get rid of them to the algebra clearer:

(a2 + b2 + c2)2 = (a2 - b2 - c2)2 + (2ab)2 + (2ac)2 + ... and the bits with ij and ji.

For the above expression to work, the ji and ij bits need to cancel out to zero. This means ji = -ij. That is, we don't have commutativity, ij does not equal ji.

That's not a bad result! We've shown that by insisting on a natural feature, we must lose commutativity.

Hang on! What if we set ij = 0 and ji = 0 that would seem to work. Hamilton did consider this. But it seems a little too harsh to get rid of terms like that - we don't really have a good reason to make them zero. In fact you could argue that neither ij nor ji can be zero because the magnitudes |ij| must be |i|x|j| which is 1x1 = 1, not zero!

Instead, let's say ij = -ji = k. Now, k can't be a normal number otherwise it would be absorbed into the real part we already have. It must be equivalent but different to the existing bases ... k is a new basis, alongside i and j.

This is what led Hamilton to conclude that you needed a 4th basis for a well behaved algebra of hypercomplex numbers. Three doesn't work, as we have shown. He called these 4-dimensional hypercomplex numbers, quaternions, and they have proved immensely well behaved and useful.

Wow - what a long stretch. But it's the best and most accessible explanation I've found for why naive extensions of complex numbers to 3 dimensions don't work, but 4-dimensional quaternions do.