# Maths - Clifford / Geometric Algebra - Representing Linear Algebra

We want to do linear transformations such as rotations, translations, etc. We can do this by using Geometric Algebra or by other mathematical tools such as matrices, the advantage of Geometric Algebra is that such operations can be handled in a general way without the need to specify an arbitrary coordinate system and without all the index notation involved with matrices. However no one type of algebra is perfect and so it might be good if we can work out a way to transfer back and forward between the these representations.

Imagine that there is an absolute coordinate system and the basis vectors are defined in terms of these absolute coordinates so, taking a 3D case we get,

e1 = (e1x,e1y,e1z)

where:

• e1x = x coordinate, in absolute coordinates, of e1.
• e1y = y coordinate, in absolute coordinates, of e1.
• e1z = z coordinate, in absolute coordinates, of e1.

and similarly for the other basis vectors:

e2 = (e2x,e2y,e2z)

e3 = (e3x,e3y,e3z)

So what is e1^e2 or e1?e2 ?

Bi vectors

Starting with the 2D case there is only one bivector, this represents the volume enclosed by the two vectors:

e1^e2 = e1x e2y - e2x e1y = det[matrix formed from basis vectors]

This can be extended to the general n-dimensional case where the pseudoscalar is the determinant of the matrix formed from all the basis vectors.

So what about the bivectors of 3D vectors? I would like to try to relate this to the minor of the determinant, that is the determinant left when an element (together with its row and column) is removed.

e1^e2 = (e1x,e1y,e1z)^(e2x,e2y,e2z)

In the geometric interpretation we can see that in 3D the bivector represents the volume enclosed by the two vectors in the plane of the vectors, since we are in 3D, this is equivalent to the cross product so,

(e1^e2)x = e1y * e2z - e2y * e1z = minor of e3x
(e1^e2)y = e1z * e2x - e2z * e1x = minor of e3y
(e1^e2)z = e1x * e2y - e2x * e1y = minor of e3z

So, perhaps 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 e1y e2y e3y e1z e2z e3z
=e1x
 e2y e3y e2z e3z
-e2x
 e1y e3y e1z e3z
+e3x
 e1y e2y e1z e2z

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

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.      New Foundations for Classical Mechanics (Fundamental Theories of Physics). This is very good on the geometric interpretation of this algebra. It has lots of insights into the mechanics of solid bodies. I still cant work out if the position, velocity, etc. of solid bodies can be represented by a 3D multivector or if 4 or 5D multivectors are required to represent translation and rotation.      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.