When we are working on Geometric algebras based on a 3 dimensional vector algebra, what choices do we have? For instance, we can try changing the following aspects of the algebra:
- Do the basis vectors square to +ve, -ve or zero?
- Choosing the order of the bivector and trivector basis vectors (e1^e2 or e2^e1 etc.)?
- Do the components, not on the leading diagonal, anti-commute?
Choosing the order of the bivector and trivector basis vectors
When we looked at the 2D case the order of the dimensions was reasonably obvious, we just used e,e1,e2,e12 which corresponds with counting in binary code order: 00,01,10,11. This gives a scalar, then 2 vectors then a bivector.
We can also do that with Clifford algebras based on 3D vectors, in which case we get the following order:
000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
e | e1 | e2 | e12 | e3 | e13 | e23 | e123 |
scalar | vector | vector | bivector | vector | bivector | bivector | trivector |
This bit order has a lot of advantages, but it also has disadvantages, in that it mixes up the vectors with the bivectors. If we want to keep all the vectors together and all the bivectors together in scalar, vector, bivector, trivector order then we need to modify the order slightly:
000 | 001 | 010 | 100 | 011 | -101 | 110 | 111 |
e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
scalar | vector | vector | vector | bivector | bivector | bivector | trivector |
There are advantages to both of these:
- bit order is better for computer generation, especially for generating the type (but not sign) of table from Kronecker product as explained here.
- blade order is better for relating to existing algebras like vector cross product.
So unfortunately we will need to use both of these orderings on this site, therefore please be sure to check which is being used. The Cayley tables for both types are:
bit order | blade order | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Further Issues for Blade Order
The bases are the vectors e1, e2 and e3, however the higher level products such as e2^e3, e1^e3 and e1^e2 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 bivector 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 |
|
To choose bivectors for 3D multivectors we start with the psudoscalar e1^e2^e3 which represents the whole determinant. We then split it up, taking into account the sign, as above:
e1^e2^e3 = e1 * e2^e3 - e2 * e1^e3 + e3 * e1^e2
Where the sign is negative then we invert the order, which gives the basis bivectors as follows:
- e2^e3 is the minor of e1
- e3^e1 is the minor of e2
- e1^e2 is the minor of e3
Do the basis vectors square to +ve, -ve or zero?
Lets try out the following combinations:
category | isomorphic to | |
G 3,0,0 | Vectors square to +ve. | |
G+ 3,0,0 | Even subalgebra | quaternions |
G 0,3,0 | Vectors square to -ve. | |
G 0,0,3 | Vectors square to zero. |
The multiplication table for each of these is derived below:
Vectors square to +ve: G 3,0,0
This corresponds to normal 3 dimensional space. It can be fully defined by the multiplication table as follows:
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | e | e12 | -e31 | e2 | -e3 | e123 | e23 |
a.e2 | e2 | -e12 | e | e23 | -e1 | e123 | e3 | e31 |
a.e3 | e3 | e31 | -e23 | e | e123 | e1 | -e2 | e12 |
a.e12 | e12 | -e2 | e1 | e123 | -e | e23 | -e31 | -e3 |
a.e31 | e31 | e3 | e123 | -e1 | -e23 | -e | e12 | -e2 |
a.e23 | e23 | e123 | -e3 | e2 | e31 | -e12 | -e | -e1 |
a.e123 | e123 | e23 | e31 | e12 | -e3 | -e2 | -e1 | -e |
how these results were generated.
As the above link explains, the table was generated by a computer program from the laws of vector algebra, that is: non-equal vector bases anti-commute and equal vector bases square to scalars (+,- or 0 as required). We could have done this manually as follows:
e1 e1 = 1 |
because we have chosen to let vectors square to a positive scalar value. |
e1 e2 = e12 e2 e3 = e23 e3 e1 = e31 |
because we need vector multiplication to anticommute so that the vectors will cancel out when a general vector is squared: (a e1 + b e2+ c e3)2 = a2 + b2+ c2. |
e1 e12 = e2 e2 e12 = -e1 e3 e12 = -e132= e123 |
these are derived from the results above using these rules. |
e12 e1 = -e2 e12 e2 = e1 e12 e3 = e123 |
these are derived from the results above using these rules. |
e12 e12 = -e1221= -1 e31 e12 = e32= -e23 e23 e12 = e3221= e31 |
these are derived from the results above using these rules. |
e123 e12 = e13221= e131= -e3 |
Even Subalgebra of G 3,0,0 (quaternion): G+ 3,0,0
To take the even sub-algebra we take the even grades: 0=scalars, 2=bivectors and remove the other grades to give:
a*b | b.e | b.e12 | b.e31 | b.e23 |
a.e | e | e12 | e31 | e23 |
a.e12 | e12 | -e | e23 | -e31 |
a.e31 | e31 | -e23 | -e | e12 |
a.e23 | e23 | e31 | -e12 | -e |
how these results were generated.
This is the algebra of quaternions where:
- e = 1 = scalar part
- e12=i
- e31=j
- e23=k
Vectors square to -ve: G 0,3,0
This can be fully defined by the multiplication table as follows:
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | -e | e12 | -e31 | -e2 | e3 | e123 | -e23 |
a.e2 | e2 | -e12 | -e | e23 | e1 | e123 | -e3 | -e31 |
a.e3 | e3 | e31 | -e23 | -e | e123 | -e1 | e2 | -e12 |
a.e12 | e12 | e2 | -e1 | e123 | -e | -e23 | e31 | -e3 |
a.e31 | e31 | -e3 | e123 | e1 | e23 | -e | -e12 | -e2 |
a.e23 | e23 | e123 | e3 | -e2 | -e31 | e12 | -e | -e1 |
a.e123 | e123 | -e23 | -e31 | -e12 | -e3 | -e2 | -e1 | e |
how these results were generated.
As the above link explains, the table was generated by a computer program from the laws of vector algebra, that is: non-equal vector bases anti-commute and equal vector bases square to scalars (+,- or 0 as required). We could have done this manually as follows:
e1 e1 = -1 |
because we have chosen to let vectors square to a negitive scalar value. |
e1 e2 = e12 e2 e3 = e23 e3 e1 = e31 |
because we need vector multiplication to anticommute so that the vectors will cancel out when a general vector is squared: (a e1 + b e2+ c e3)2 = -a2 - b2- c2. |
e1 e12 = -e2 e2 e12 = e1 e3 e12 = -e132= e123 |
these are derived from the results above using these rules. |
e12 e1 = e2 e12 e2 = -e1 e12 e3 = e123 |
these are derived from the results above using these rules. |
e12 e12 = -e1221= -1 e31 e12 = -e32= e23 e23 e12 = e3221= -e31 |
these are derived from the results above using these rules. |
e123 e12 = e13221= -e131= -e3 |
Vectors square to 0: G 0,0,3
This can be fully defined by the multiplication table as follows:
a*b | b.e | b.e1 | b.e2 | b.e3 | b.e12 | b.e31 | b.e23 | b.e123 |
a.e | e | e1 | e2 | e3 | e12 | e31 | e23 | e123 |
a.e1 | e1 | 0 | e12 | -e31 | 0 | 0 | e123 | 0 |
a.e2 | e2 | -e12 | 0 | e23 | 0 | e123 | 0 | 0 |
a.e3 | e3 | e31 | -e23 | 0 | e123 | 0 | 0 | 0 |
a.e12 | e12 | 0 | 0 | e123 | 0 | 0 | 0 | 0 |
a.e31 | e31 | 0 | e123 | 0 | 0 | 0 | 0 | 0 |
a.e23 | e23 | e123 | 0 | 0 | 0 | 0 | 0 | 0 |
a.e123 | e123 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
how these results were generated.
As the above link explains, the table was generated by a computer program from the laws of vector algebra, that is: non-equal vector bases anti-commute and equal vector bases square to scalars (+,- or 0 as required). We could have done this manually as follows:
e1 e1 = 0 |
because we have chosen to let vectors square to zero. |
e1 e2 = e12 e2 e3 = e23 e3 e1 = e31 |
because we need vector multiplication to anticommute so that the vectors will cancel out when a general vector is squared: (a e1 + b e2+ c e3)2 =0. |
e1 e12 =0 e2 e12 = 0 e3 e12 = -e132= e123 |
these are derived from the results above using these rules. |
e12 e1 = 0 e12 e2 = 0 e12 e3 = e123 |
these are derived from the results above using these rules. |
e12 e12 = 0 e31 e12 = 0 e23 e12 = 0 |
these are derived from the results above using these rules. |
e123 e12 = 0 |