Geometric Algebra Proving Grounds

To keep our stories moving, we glossed over details, which we now atone for by supplying some missing proofs, or at least sketches of proofs. See Alan Macdonald, An elementary construction of the geometric algebra, which also positions geometric algebra as the rightful successor to the reals in mathematical education: after \(\mathbb{N}\), we should learn \(\mathbb{Z}\), then \(\mathbb{Q}\), then \(\mathbb{R}\), and then geometric algebra, because it includes \(\mathbb{C}\), \(\mathbb{H}\) (quaternions), and even more exotic species like dual quaternions.

Uniqueness of canonical form

Let \(B = \{ \newcommand{\a}{\mathbf{a}} \newcommand{\b}{\mathbf{b}} \newcommand{\e}{\mathbf{e}} \newcommand{\v}{\mathbf{v}} \newcommand{\x}{\mathbf{x}} \newcommand{\vv}[1]{\mathbf{#1}} \e_1,…​,\e_n\}\) be an orthonormal basis. Recall we can repeatedly apply \(\e_i \e_i = 1\) and \(\e_i \e_j = -\e_j \e_i\) for \(i \ne j\) to reduce any given product of basis vectors to the form:

\[ \pm \e_{i_1}…​\e_{i_k} \]

where \(i_1 < …​ < i_k\)

We implicitly assumed this form is unique, no matter which order we apply the equalities. We can prove this by considering the inversion number of the sequence of subscripts. A number may appear more than once as a subscript; this has no effect on the inversion count.

The rule \(\e_i \e_j = -\e_j \e_i\) flips the sign and swaps adjacent unequal indices, which changes the inversion number by \(\pm 1\). The rule \(\e_i \e_i = 1\) leaves the sign unchanged and eliminates or introduces two adjacent identical indices, which changes the inversion number by an even amount. Thus the sign faithfully records the parity of the inversion number.

We leave it as an exercise to generalize to the case when each \(\e_i \e_i\) equals one of \(-1, 0, 1\). We need this for conformal geometric algebra and projective geometric algebra.

Choice of orthonormal basis

We implicitly assumed that any orthonormal basis will do, that is, the algebra resulting from one orthonormal basis is isomorphic to the algebra resulting from any other orthonormal basis.

For example, we assumed that a \(k\)-vector with respect to one orthonormal basis is a \(k\)-vector with respect to any orthonormal basis, and we assumed defining \(\v\v = \v \cdot \v\) with respect to one orthonormal basis means this equation holds with respect to any orthonormal basis.

MacDonald proves this with reflection transformations. We use rotations instead, along with specific reflections: those that change the sign of a coordinate.

Given any orthonormal basis \(B' = \{\e'_1,...,\e'_n\},\) write \(\e'_1 = \sum_i a_i \e_i\) and \(\e'_2 = \sum_i b_i \e_i.\) We find \(\e'_1 \e'_1 = 1\) and \(\e'_1 \e'_2 = -\e'_2 \e'_1\) using orthogonality, normality, and the relations between the \(\e_i\). This generalizes to the other \(\e'_i\) vectors, so we have at most \(2^n\) linearly independent products of the \(\e'_i\) vectors, which can all be written as \(\e'_{i_1}...\e'_{i_k}\) for some \(i_1 < …​ < i_k\).

Conversely, writing \(\e_i\) in terms of \(\e'_i\) shows the products of \(\e'_i\) span the entire geometric algebra vector space, so at least \(2^n\) of them are linearly independent. As the upper and lower bounds coincide, the products of the \(\e'_i\) vectors form a geometric algebra basis.

Next, if \(B'\) is the same as \(B\) up to permutation and sign, then we can view them as the same basis by relabeling and appropriate negations.

Otherwise, for some \(\e' \in B'\), with suitable relabeling we have \(\e' = a \e_1 + b \e_2 + \v\) for nonzero \(a, b\), where \(\v\) is the rest of the decomposition with respect to \(B\). Rewrite the first two terms in polar form:

\[ a \e_1 + b \e_2 = (r \cos \theta)\e_1 + (r \sin \theta)\e_2 \]

Define \(\vv{R} = e^{-\i \theta /2} = \cos(\theta/2) + \e_1\e_2\sin(\theta/2)\) and let \(\vv{R}'\) be its inverse. We find:

\[ \vv{R}\e_1\vv{R}' = \e_1 \cos \theta + \e_2 \sin \theta \]

and

\[ \vv{R}\e_2\vv{R}' = - \e_1 \sin \theta + \e_2 \cos \theta \]

which we can check are orthonormal. Also, \(\vv{R}\e_i\vv{R}' = \e_i\) for the other basis vectors. Hence \(\vv{R}B\vv{R}' = \{ \vv{R}\e_1\vv{R}', …​, \vv{R}\e_n\vv{R}' \}\) is an orthonormal basis, and by construction:

\[ \e' = r (\vv{R}\e_1\vv{R}') + 0 (\vv{R}\e_2\vv{R}') + \v \]

That is, \(\e'\) has one nonzero coefficient less with respect to \(\vv{R}B\vv{R}'\). By repeating this process, we can eliminate all but one nonzero coefficient from \(\e'\) with respect to some basis \(T\); the sole nonzero coefficient must be \(\pm{1}\) by normality, and the other basis vectors must have a corresponding zero coefficient by orthogonality.

We iterate to eliminate all but one nonzero coefficient from all basis vectors. Once reduced to one nonzero coefficient, a basis vector stays that way; it is never involved in future rotations because all other vectors have a zero in its direction. Eventually our basis will change to a permutation of \(B'\) up to sign, and by construction there is some rotor \(\vv{R}\) such that \(\x \mapsto \vv{R}' \x \vv{R}\) describes \(\x\) with respect to the basis \(B'\).

Let \(T\) be the linear map representing the change of orthonormal basis from \(B\) to \(B'\). We extend it to the geometric algebra by defining:

\[T(ab) = T(a) T(b)\]

and extending linearly. This is well-defined, that is, \(ab = cd\) implies \(T(a)T(b) = T(c)T(d)\) because \(T(\e_i) = \vv{R}' \e_i \vv{R}\) for some rotor \(\vv{R}\) for all \(\e_i\). Thus \(T\) is an algebra isomorphism.

We prove \(T\) maps \(k\)-vectors to \(k\)-vectors by multiplying out all the cases. Let \(\v = \e_{i_1}…​\e_{i_k}\), and \(\vv{R} = e^{-\e_1\e_2\theta/2}\), so \(\vv{R}'\v\vv{R}\) describes \(\v\) with respect to the basis \(\vv{R}B\vv{R}' = \{\vv{R}\e_1\vv{R}',\vv{R}\e_2\vv{R}',\e_3,…​,\e_n\}\).

Then:

  • If neither \(\e_1\) or \(\e_2\) appear, then \(\vv{R}'\v\vv{R} = \v\).

  • If exactly one of them appear, say \(i_1 = 1\), then \(\vv{R}'\v\vv{R} = (\cos\theta \vv{R}\e_1\vv{R}' - \sin\theta \vv{R}\e_2\vv{R}') \e_{i_2} …​ \e_{i_k}\); the case \(i_1 = 2\) is similar.

  • If both appear, namely \(i_1 = 1, i_2 = 2\), then \(\vv{R}'\v\vv{R} = \v\).

We get \(k\)-vectors in all cases.

For the general situation when \(\e_i \e_i\) can also be 0 or -1, we use Sylvester’s law of inertia to show the \(\e'_i\) behave the same way.

The meet product

Let \(A\) be a unit \(m\)-blade, let \(B\) be a unit \(n\)-blade, and let \(C\) be the unit \(k\)-blade representing their intersection.

Then we can find some orthonormal basis for the union of \(A\) and \(B\):

\[ \e_1,…​,\e_k, \a_1,…​,\a_{m-k}, \b_1,…​,\b_{n-k}, \]

such that

\[ \begin{align} C &=& \e_1…​\e_k \\ A &=& \e_1…​\e_k \a_1…​\a_{m-k} \\ B &=& \e_1…​\e_k \b_1…​\b_{n-k} \end{align} \]

Suppose the union of \(A\) and \(B\) is the entire space, then we have:

\[ \begin{align} A^* &=& \b_1…​\b_{n-k} \\ B^* &=& \a_1…​\a_{m-k} \end{align} \]

because the dual of a blade is its orthogonal complement. Thus:

\[ A^* B^* = \a_1...\a_{m-k} \b_1...\b_{n-k} \]

and therefore:

\[ C = (A^* B^*)^* \]

This is the motivation for defining the meet product of blades \(A\) and \(B\) by:

\[ A \vee B = (A^* \wedge B^*)^* \]

Grassmann called this the regression product, which is perhaps less confusing because we use the word "meet" to mean the largest subspace contained in both blades \((\cap).\)

If the union of \(A\) and \(B\) is smaller than the entire space, then their duals have a nonzero intersection, so their outer product is zero, leading to a meet product that represents the entire space.


Ben Lynn blynn@cs.stanford.edu 💡