A taste of geometric algebra

David Hestenes’ goal for geometric algebra is to subsume under one umbrella many different kinds of mathematics used by scientists and engineers (see the Hestenes web site, and especially his Oersted Medal Lecture). The key to this unification is to provide powerful geometrical representations for all kinds of mathematical topics, many of which are typically learned without a strong connection to a good geometrical representation. Consider the benefit ordinary 3D vectors provide compared to dealing with components individually. Vectors and vector notation not only simplify many mathematical operations but also provide a richer conceptual space for thinking about geometry. Geometric algebra has the same goals and stands in relation to ordinary vectors as vectors stand in relation to operating with components individually.

My goal for this article is to give a small taste of geometric algebra to give a sense of its structure and to illustrate how it can span diverse branches of mathematics that physicists currently study in isolation from each other.

The fundamental entity in geometric algebra is the “multivector” consisting in 3D of four elements: scalar, vector, bivector (a 2D surface with a directed normal), and trivector (a 3D solid). Geometric algebra can also be used in 2D, or in dimensions higher than 3D, but for purposes of a brief introduction we’ll stick with the 3D context. One writes a multivector as a sum: scalar + vector + bivector + trivector. This may look odd, since one is taught that “you can’t add a scalar and a vector,” but note that one often writes a vector in the form x\hat{\imath} + y\hat{\jmath} + z\hat{k} where three very different things are added together. From a computer programming point of view, one might think of a multivector as a heterogeneous list: [scalar, vector, bivector, trivector], with methods for operating on such lists.

Fundamental to geometric algebra is the “geometric product,” where a and b are multivectors. This product is defined in such a way that multiplication is associative, abc = (ab)c = a(bc), but it is not necessarily commutative; ba is not necessarily equal to ab. If a and b are ordinary vectors, the geometric product is a\cdot b + a\wedge b, where a\wedge b is a bivector that is (only in 3D) closely related to the ordinary vector cross product (\wedge is pronounced “wedge”). For vectors a and b the geometric product ba will not be equal to ab if the wedge product is nonzero, since b\wedge a = -a\wedge b.

The dot product a\cdot b (the scalar part of ab) measures how parallel the two vectors are, while a\wedge b (the bivector part of ab) measures how perpendicular they are. Together these two measures provide all the information there is about the relationship between the two vectors and thereby captures important information that neither the dot product nor cross product alone provide. Another way of saying this is that the dot product is the symmetric part of ab and the wedge product is the antisymmetric part of ab.

One way to represent the wedge product of two vectors a\wedge b geometrically is to draw the two vectors tail to tail and make these two vectors the sides of a parallelogram. The area of the parallelogram is the magnitude of the bivector. Compare with the magnitude of the vector cross product |a||b|\sin{\theta} and you’ll see that this is equal to the area of the parallelogram associated with the two vectors.

We’ll investigate some basic aspects of geometric algebra by starting with three ordinary vectors \sigma_1, \sigma_2, and \sigma_3 that are unit vectors in the x, y, and z directions. The geometric product \sigma_1\sigma_1 = 1, because the wedge product of a vector with itself has no area, so the bivector part of \sigma_1\sigma_1 is zero; similarly for the other two unit vectors.

The quantity \sigma_1\sigma_2 = 0 + \sigma_1\wedge\sigma_2 is a unit bivector which can be represented as a 1 by 1 square in the xy plane (the dot product is zero because the two vectors are perpendicular to each other). Similarly \sigma_2\sigma_3 is a unit bivector in the yz plane and \sigma_3\sigma_1 is a unit bivector in the zx plane. The wedge product is antisymmetric, so \sigma_2\sigma_1 = -\sigma_1\sigma_2; similarly for the other unit vectors.

Next, consider the geometric product of these bivectors with the unit vectors, using the fact that the geometric product is associative and that \sigma_2\sigma_1 = -\sigma_1\sigma_2:

\sigma_1\sigma_2\sigma_1 = \sigma_1(\sigma_2\sigma_1) = \sigma_1(-\sigma_1\sigma_2) = -(\sigma_1\sigma_1)\sigma_2 = -\sigma_2
\sigma_1\sigma_2\sigma_2 = \sigma_1(\sigma_2\sigma_2) = \sigma_1

We have similar results for other products of the bivectors and the vectors.

What is \sigma_1\sigma_2\sigma_3? This is a “trivector,” a cube 1 by 1 by 1. Something surprising results if we multiply this unit trivector by itself:

(\sigma_1\sigma_2\sigma_3)(\sigma_1\sigma_2\sigma_3) = \sigma_1\sigma_2\sigma_3\sigma_1(\sigma_2\sigma_3)
= \sigma_1\sigma_2\sigma_3\sigma_1(-\sigma_3\sigma_2)
= -\sigma_1\sigma_2\sigma_3(\sigma_1\sigma_3)\sigma_2
= -\sigma_1\sigma_2\sigma_3(-\sigma_3\sigma_1)\sigma_2
= \sigma_1\sigma_2(\sigma_3\sigma_3)\sigma_1\sigma_2
= \sigma_1\sigma_2\sigma_1\sigma_2
= \sigma_1\sigma_2(\sigma_1\sigma_2)
= \sigma_1\sigma_2(-\sigma_2\sigma_1)
= -\sigma_1\sigma_2\sigma_2\sigma_1
= -\sigma_1(\sigma_2\sigma_2)\sigma_1
= -\sigma_1\sigma_1
= -1

This result justifies identifying the trivector \sigma_1\sigma_2\sigma_3 with the imaginary number i. Now consider this:

(\sigma_1\sigma_2\sigma_3)\sigma_1 = \sigma_1\sigma_2(\sigma_3\sigma_1)

i\sigma_1 = \sigma_1\sigma_2(-\sigma_1\sigma_3)
= -\sigma_1(\sigma_2\sigma_1)\sigma_3)
= -\sigma_1(-\sigma_1\sigma_2)\sigma_3)
= (\sigma_1\sigma_1)\sigma_2\sigma_3
= \sigma_2\sigma_3

The bivector \sigma_2\sigma_3 lies in the yz plane. The standard vector cross product of \sigma_2 and \sigma_3 points in the +x direction, which is \sigma_1. The familiar cross product vector is the normal to the associated bivector (in 3D only), and evidently the bivector is i times the cross product vector. Similarly, you can show that i\sigma_2 = \sigma_3\sigma_1 and i\sigma_3 = \sigma_1\sigma_2. It turns out that bivectors are more useful and better behaved than their “duals,” the cross products. For example, in the old vector world one must sometimes make subtle distinctions between “polar” vectors (the ordinary kind) and “axial” vectors which behave differently under reflection (examples are magnetic field vectors). In geometric algebra there is no such distinction.

When I first saw these relationships among the \sigma_1, \sigma_2, and \sigma_3, I was amazed. As a physics student I was introduced to the 2 by 2 “Pauli spin matrices” used to describe electron spin. The matrices, and their various product and commutation relationships, were taught as something special and particular to quantum mechanical spin systems. I was astonished to find that those 2 by 2 matrices behave exactly like the unit vectors in the geometric algebra context, as discussed above. This is an example of Hestenes’ argument that the mathematical education of physicists fails to bring together diverse branches of mathematics that can be unified in the geometric algebra context.

Another example of a need for unification is that as a physics student one encounters many different schemes for handling rotations. There is a beautiful representation of rotations in geometric algebra. Consider the geometric product abb = a(bb) = a if b is a unit vector. If we write this as (ab)b = a, and consider ab to be a rotation operator, you see that ab can be thought of as a rotor that rotates b into a (there is also scaling if one doesn’t use unit vectors).

For extensive treatments of geometric algebra, see for example the textbooks “Geometric Algebra for Physicists” and “Geometric Algebra for Computer Science.”

Bruce Sherwood

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *