Maths - Creating 4D Cayley Table from 2 2D tables

We want to take two complex numbers (each represented by 2x2 tables) and create a 4 dimentional object (represented by a 4x4 table).

So we start with a complex number represented by the following table,

a b
a a b
b b -a

Then we add a second table also representing a complex number:

c d
c c d
d d -c

So how do we combine them? One way would be to put the two tables together as follows:

a b c d
a a b    
b b -a    
c     c d
d     d -c

But the information that we have so far does not tell us how the two complex numbers interact. We know that any multiplcation involving the real part will commute and two imaginary values anticommute as follows:

ij =k=-ji

So using the notation on this page, we get:

ac = ca
ad = da
bc = cb
bd = -db

So we can fill in the table as follows:

a b c d
a a b ac ad
b b -a bc bd
c ac bc c d
d ad -bd d -c

This table is not very useful and it is not a group (it is not closed and there is no identity element).

What we really want to do is combine the complex numbers so that the elements of the first complex number are themselves complex numbers. To do this, instead of using the original elements a, b, c and d we need to use the products ac, bc, ad and bd since:

(a + b)*(c + d) = ac + bc + ad + bd

Which gives a table as follows:

ac bc ad bd
ac        
bc        
ad        
bd        

In order to fill in the etries for this table we can multiply out the terms as follows, to simplify the terms we swap the middle two setting the sign according to whether they commute or anti-commute:

acac = aacc = ac
acbc = abcc = bc
acad = aacd = ad
acbd = abcd = bd
bcac = bacc = bc
bcbc = bbcc = -ac
bcad = bacd = bd
bcbd = bbcd = -ad
adac = aadc = ad
adbc = -abdc = -bd
adad = aadd = -ac
adbd = -abdd = bc
bdac = badc = bd
bdbc = -bbdc = ac
bdad = badd = -bc
bdbd = -bbdd = -ac

Putting these terms into the table gives:

ac bc ad bd
ac ac bc ad bd
bc bc -ac bd -ad
ad ad -bd -ac bc
bd bd ad -bc -ac

This table is equivalent to the quaternion multiplication table which is what we want.

Now we can derive the result for complex numbers we can try the same with dual numbers


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Mathematics for 3D game Programming - Includes introduction to Vectors, Matrices, Transforms and Trigonometry. (But no euler angles or quaternions). Also includes ray tracing and some linear & rotational physics also collision detection (but not collision response).

Terminology and Notation

Specific to this page here:

 

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2026 Martin John Baker - All rights reserved - privacy policy.