Maths - bases - 4D

Choosing bases - 4D

The bases are the vectors e1, e2, e3 and e4, however the higher level products such as: e1^e2, e3^e1, e2^e3, e1^e4, e4^e2 and e3^e4 is also as a basis for the bivectors.

The question is what order do we choose for this (which is equivalent to saying what sign do we use since e1^e2=-e2^e1).

The methodology used for choosing the order of these indexes is explained here.

We calculate the tri-vector by drawing the matrix formed by putting the basis vectors side-by-side, then taking its minor by removing the row associated with its own coordinate type and removing the column of the basis vector not associated with.

We have to be very careful with signs as the sign alternates with terms as follows:

e1x e2x e3x e4x
e1y e2y e3y e4y
e1z e2z e3z e4z
e1w e2w e3w e4w
e2y e3y e4y
e2z e3z e4z
e2w e3w e4w
e1y e3y e4y
e1z e3z e4z
e1w e3w e4w
e1y e2y e4y
e1z e2z e4z
e1w e2w e4w
e1y e2y e3y
e1z e2z e3z
e1w e2w e3w

To choose tri-vectors for 4D multivectors we start with the psudoscalar e1^e2^e3^e4 which represents the whole determinant. We then split it up, taking into account the sign, as above:

e1^e2^e3^e4 = e1 * e2^e3^e4 - e2 * e1^e3^e4 + e3 * e1^e2^e4 - e4 * e1^e2^e3

Where the sign is negative then we invert the order, which gives the basis tri-vectors as follows:

In order to remove the minus terms from the 2nd and 4th terms we can just swap any two of the terms, but which two do we swap?

how about:

I'm not an expert at suduko, so I cant get one number in each row, but the above seems to have a patern. Can anyone tell me a better way to choose the order?

What are the properties of these under the dual function?

dual(e1) = - e2^e3^e4
dual(e2) = +e4^e3^e1
dual(e3) = - e1^e2^e4
dual(e4) = - e3^e2^e1

What about the other way round:

dual(e2^e3^e4) = - e1
dual(e4^e3^e1) = - e2
dual(e1^e2^e4) = - e3
dual(e3^e2^e1) = + e4

Almost symmetrical, taking the dual function converts between vectors and trivectors and inverts the sign (except for two cases). This also has the disadvantage that its not a superset of 3D multivectors, for example, it uses e321 instead of e123.

So this is the best I can do to get the order for the tri-vectors.

What about the bivectors? we can reduce the deteminant in two stages, but how does that correspond to the clifford algebra functions?

I think I will try finding the minors of the above tri-vectors as follows:

The minor of e1

The minor of e2

The minor of e3

The minor of e4
e2^e3^e4 e4^e3^e1 e1^e2^e4 e3^e2^e1

Now take the minor of e2:

which gives: e3^e4

Now take the minor of e4:

which gives: e3^e1

Now take the minor of e1:

which gives: e2^e4

Now take the minor of e3:

which gives: e2^e1

Or take the minor of e3:

which gives: e4^e2

Or take the minor of e3:

which gives: e1^e4

Or take the minor of e2:

which gives: e4^e1

Or take the minor of e2:

which gives: e1^e3

Or take the minor of e4:

which gives: e2^e3

Or take the minor of e1:

which gives: e4^e3

Or take the minor of e4:

which gives: e1^e2

Or take the minor of e1:

which gives: e3^e2


so to summarise:

minor of e1 followed by e2 gives: e3^e4
minor of e1 followed by e3 gives: e4^e2
minor of e1 followed by e4 gives: e2^e3
minor of e2 followed by e4 gives: e3^e1
minor of e2 followed by e3 gives: e1^e4
minor of e2 followed by e1 gives: e4^e3
minor of e3 followed by e1 gives: e2^e4
minor of e3 followed by e2 gives: e4^e1
minor of e3 followed by e4 gives: e1^e2
minor of e4 followed by e3 gives: e2^e1
minor of e4 followed by e2 gives: e1^e3
minor of e4 followed by e1 gives: e3^e2

replacing minor of x followed by y with x^y

e1^e2 e3^e4 dual(e1^e2) = -e3^e4
e1^e3 e4^e2 dual(e1^e3) = -e4^e2
e1^e4 e2^e3 dual(e1^e4) = -e2^e3
e2^e4 e3^e1 dual(e2^e4) = -e3^e1
e2^e3 e1^e4 dual(e2^e3) = -e1^e4
e2^e1 e4^e3 dual(e2^e1) = -e4^e3
e3^e1 e2^e4 dual(e3^e1) = -e2^e4
e3^e2 e4^e1 dual(e3^e2) = -e4^e1
e3^e4 e1^e2 dual(e3^e4) = -e1^e2
e4^e3 e2^e1 dual(e4^e3) = -e2^e1
e4^e2 e1^e3 dual(e4^e2) = -e1^e3
e4^e1 e3^e2 dual(e4^e1) = -e3^e2

There seem to be two options here, the ones with the green background or reverse the order to get the yellow background. I cant think of anything to choose between them. I therefore chose the green values because the indexes are in order (except one) and the dual function is symmetrical.

So the full multivector and its dual is:

dual(Ar) = Ar* = e1234 Ar
1 e1234
e1 e1234e1= -e234
e2 e1234e2 = -e431
e3 e1234e3 = -e124
e4 e1234e4 = -e321
e12 e1234e12= -e34
e13 e1234e13= -e42
e14 e1234e14= -e23
e23 e1234e23= -e14
e42 e1234e42= -e13
e34 e1234e34=-e12
e321 e1234e321= -e4
e124 e1234e124= -e3
e431 e1234e431= -e2
e234 e1234e234= -e1
e1234 e1234e1234= 1

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.

flag flag flag flag flag flag Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics (Fundamental Theories of Physics). This book is intended for mathematicians and physicists rather than programmers, it is very theoretical. It covers the algebra and calculus of multivectors of any dimension and is not specific to 3D modelling.


Terminology and Notation

Specific to this page here:


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

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