Here are my notes on Clifford algebras. They are from a mathematical perspective, but motivated by their presumed application to physics. I find that there are quite a number of technical matters that are collectively not much more complicated than ordinary arithmetic, yet unfamiliar and confusing. Clifford algebras are associative algebras whose properties are assumed here. There are several styles of definition for Clifford algebras. If you like axiomatic definitions such as these axioms for vector spaces, then you might like these axioms for Clifford algebras. Some things to know about Clifford algebras. My way of understanding mathematical structures is to model them with programming constructs, when I can. My programs generate hypotheses which can usually be easily proven. They often refute conjectures.

There is a finite series of division algebras each of which can be produced from the previous one—just as one proceeds from the reals to the complex numbers. This mechanism is called the Cayley-Dickson construction. There is a very similar construction for the infinite series of Clifford algebras which I implement in Scheme with analogous code described here. Scheme and ocaml are two computer languages beautifully suited to express these ideas. In the following Scheme jargon is in this color.

The two Scheme programs are almost identical. A value from a rank n algebra is a dotted pair of values from the rank n−1 algebra. A rank zero value is a real in each case and in my code such values are Scheme’s native numbers. (Scheme does exact rationals as well as floating point.)

The key strategy for Scheme here is to implement an algebra as a list of tools and values from that algebra. The tools are the addition multiplication operators etc., and the values are constants such as one and zero, and a zero predicate. The Scheme value G is a function that takes as an argument such a tool list and returns another tool list for the next higher algebra. (G (G reals)) yields quaternions in both cases but thereafter the yields diverge.

For ocaml the strategy is to use a Functor to map a module which defines arithmetic operators for one algebra to the next. Ocaml functors are compile time things (whereas the G function in Scheme is dynamic) but that seems OK for our immediate purposes. I have not done an ocaml version of the Clifford algebras but it should be straight forward and rather efficient—within a factor of a few of the fastest implementation.


A record of my exploration, written mostly as I went along. It has considerable detail that is still organized only chronologically.

Below is a chronological development of some of the detailed answers to these questions. I have tried to go back and remove errors but not the sense of exploration. Here is a synopsis of what I have found.

Quaternions and Rotations
Mathematicians often construct vector spaces from others. Here are some general observations on this.
companion notes (to be consolidated with above?)
Here is a conventional and the most concrete definition of the Clifford algebra.
and a Platonic variation of the above.
dead end for now.
Simple Reflections
Curious confluence
Only reals commute with all of V.
Some progress on the Clifford Group, Short-cut to the Group
Clifford group as Lie group

Quadratic forms and bilinear functions
A simple program to compute Clifford numbers
with exploratory tools added
Dividing Clifford numbers (usually possible)
The Clifford Group—computing the orthogonal matrix
Clifford algebras based on indefinite quadratic forms
Changing the basis of V
Thrashing
zero divisors
Synthesis
Connection with Pauli Matrices

Remaining questions are:

This paper relates Clifford algebras to indefinite orthogonal matrices.