# 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
=e1x*
 e2y e3y e4y e2z e3z e4z e2w e3w e4w
-e2x*
 e1y e3y e4y e1z e3z e4z e1w e3w e4w
+e3x*
 e1y e2y e4y e1z e2z e4z e1w e2w e4w
-e4x*
 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:

• e2^e3^e4 is the minor of e1
• -e1^e3^e4 is the minor of e2
• e1^e2^e4 is the minor of e3
• -e1^e2^e3 is the minor of e4

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?

• e2^e3^e4 is the minor of e1
• e4^e3^e1 is the minor of e2
• e1^e2^e4 is the minor of e3
• e3^e2^e1 is the minor of e4

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.

• e1^e2
• e1^e3
• e1^e4
• e2^e3
• e4^e2
• e3^e4

So the full multivector and its dual is:

 Ar 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

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.

 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.