Classification of Clifford Algebras
This will be of limited interest to most people; I just wanted to have this posted online for my own use. This is from a spreadsheet I created in 2011, there may be errors.
If you want to know more about this field, I would avoid Wikipedia and mathemeticians (an infallible tell is if they mention “quadratic forms” Avoid!). Nevertheless: WP on Classification of Clifford Algebras, Bott periodicity, Split-complex numbers, Dual numbers, Quaternions, Biquaternions, Split-biquaternions, Dual quaternions. (The basic definitions are given below; one can nearly always find a way to avoid using the exotic number types, though one may have to use a subalgebra of a larger algebra.) The good papers on Clifford Algebra all refer to it as Geometric Algebra and nearly all start from first principles, without assuming prior knowledge and are much more comprehensible than Wikipedia's “Bourbaki virus” Hestenes’ term) -infected obscurantist pseudo-rigor.
Try: Slehar's visual introduction to start with, then:
Cambridge Geometric Algebra group for the Cambridge group's papers, e.g.: “Imaginary Numbers Are Not Real”.
Top authors: Hestenes, Doran, Dorst (esp. GA Viewer SW), Lasenby & their co-authors - if none of these names are cited, the paper is in a different field.
John Denker also has a good intro which gets into actual calculations - also see his EM in GA pages elsewhere on his site: John Denker's intro to Geometric Algebra
***
First, here are the notes from below the spreadsheet.
Matrix dimension: number of elements on the side of a square matrix
Element type: 1=Real; 2=Complex, 4=Quaternion
Split:1=no, 2=yes
Real Coefficients: = 2^(number of dimensions) = {(matrix dimension)^2 * (element type) * (split)} . This will also equal 2^(p+q).
Algebra Type: arbitrary numbering, ordered first by element type, then by matrix dimension, then by split
Matrix description: R = Real; C = Complex; H = Quaternion; R2 = Split-complex; H2 = Split-biquaternion; Number in parentheses = Matrix dimension
p: number of dimensions squaring to +1
q: number of dimensions squaring to -1
In the literature, algebras will usually be denoted G(p,q) or Cl(p,q)
p+q: total number of dimensions
A standard orthonormal basis {e_i} for R(p,q) consists of n = p + q mutually orthogonal vectors, p of which have norm +1 and q of which have norm −1. The algebra Cl(p,q)(R) will therefore have p vectors which square to +1 and q vectors which square to −1.
R2(4) indicates the direct sum of two 4x4 matrices of reals = 4x4 matrix of "split-complex numbers" (form: x + yj , j^2=1, j not= +/-1)
H2(4) indicates the direct sum of two 4x4 matrices of quaternions = 4x4 matrix of "split-biquaternions"(quaternions with 4 split-complex coefficients)
As an algebra over the reals, the split-complex numbers are related to the direct sum of algebras R⊕R (under the isomorphism sending x + y j to (x + y, x − y) ). (1+1 Minkowski / hyperbolic plane) The name split comes from this characterization: as a real algebra, the split-complex numbers split into the direct sum R⊕R.
Because of Bott periodicity,higher dimensional algebras can be represented as the direct product of the basic 20 algebra types.
The minimum number of base algebras will be the ceiling of the base-8 logarithm of the total number of dimensions.
The total p and q of the base algebras must equal the p and q of the product algebra.
This can be done with a number of copies of type 8 or 19 (R(16) or H(8)) times one additional algebra, or for dimensions mod 8, 10, 12, or 14 with a symmetrical split.
For (+,-): there are 9 8D, 8 7D, 7 6D, 6 5D, 5 4D, 4 3D, 3 2D, 2 1D, and 1 0D algebras, for a total of 45 algebras, but only 20 different matrix representations.
To determine the product of any number of basis vectors, or product of "blades" (which are themselves the product of basis vaectors), no multiplication table is needed. If two identical basis vector terms are next to each other, and they square to 1, then eliminate them; if they square to -1, flip the sign of the product. If no such terms are next to each other, then swap neighboring terms (orthogonal vectors) in the product, as many times as is needed to get two identical terms to be next to each other, flipping the sign of the whole product each time you do a swap. When all the vectors in the product are different from each other, then, if needed, put the basis vectors in numerical order by swapping them with sign changes.