Looking for a clear definition of the geometric product

There is a definition of the geometric product that applies to general multivectors in any Clifford algebra. It follows directly from the definition of the Clifford algebra. To define a Clifford algebra you need a vector space $V$ and a symmetric bilinear form $B(u,v)$ defined for any $u,v\in V$. The Clifford algebra is the quotient of the tensor algebra of $V$ with respect to the two-sided ideal generated by all elements of the form $u\otimes v+v\otimes u -2B(u,v)$ where $u,v\in V$. The geometric product is the product in the quotient algebra. It is standard and you can find the definition of that in any textbook on abstract algebra. Basically, the geometric product is the product in the tensor algebra of $V$ modulo the ideal.


AN EXAMPLE:

To illustrate, consider $\mathbb R^2$ and the bilinear form defined by $B(e_1,e_1)=1$, $B(e_2,e_2)=1$, $B(e_1,e_2)=0$, where $e_1=(1,0)$ and $e_2=(0,1)$. The two-sided ideal generated by $u\otimes v+v\otimes u -2B(u,v)$ is infinite dimensional as the tensor algebra itself. It contain the following elements among others:

$e_1\otimes e_1-1,\quad e_2\otimes e_2-1,\quad \text{and}\quad e_1\otimes e_2+e_2\otimes e_1$.

This can be used to compute the following products:

$e_1e_1 = e_1\otimes e_1=e_1\otimes e_1 -(e_1\otimes e_1-1)=1$,

$e_2e_2 = e_2\otimes e_2=e_2\otimes e_2 -(e_2\otimes e_2-1)=1$,

$e_1e_2=e_1\otimes e_2= \tfrac{1}{2}(e_1\otimes e_2- e_2\otimes e_1)+\tfrac{1}{2}(e_1\otimes e_2+ e_2\otimes e_1)=\tfrac{1}{2}(e_1\otimes e_2- e_2\otimes e_1)$.

In short, $e_1^2=1$, $e_2^2=1$, and $e_1e_2=-e_2e_1$.

Even though the tensor algebra is infinite-dimensional, the quotient algebra is finite-dimensional. See what happens if you try to get to grade 3. For instance, consider this product

$e_1(e_1\wedge e_2)$ where $e_1\wedge e_2=\tfrac{1}{2}(e_1\otimes e_2- e_2\otimes e_1)$.

It is again a straightforward application of the tensor product modulo the ideal:

$e_1(e_1\wedge e_2)=\tfrac{1}{2}(e_1\otimes e_1\otimes e_2 - e_1 \otimes e_2\otimes e_1)$

but $e_1\otimes e_1\otimes e_2=(e_1\otimes e_1-1)\otimes e_2 +e_2=e_2$ and

$e_1\otimes e_2\otimes e_1=(e_1\otimes e_2+e_2\otimes e_1)\otimes e_1 -e_2\otimes e_1\otimes e_1=$

$=e_2\otimes e_1\otimes e_1=e_2+e_2\otimes(e_1\otimes e_1-1)=e_2$.

So, we get $e_1(e_1\wedge e_2)=\tfrac{1}{2}(e_2+e_2)=e_2$, that is we are back to grade 1. Since the quotient algebra is finite-dimensional, every element can be expressed in term of the basis, which consists of $1, e_1, e_2, e_1e_2$ in the example we are considering. So, every multivector $A$ can be expressed as follows:

$A=s+xe_1+ye_2+pe_1e_2$.

If you have two such multivectors you can compute the product simply by using associativity, distributivity, and the properties we have derived above: $e_1^2=1, e_2^2=1, e_1e_2=-e_2e_1$.

You can easily repeat this exercise for other dimensions and for different bilinear forms.


To come back to the definition of the geometric product, here is how you can understand its significance. In geometry, you are dealing with certain geometric structures. For instance, you might want to find a line passing through two points, or you might want to find a point at the intersection of two lines. These kinds of problems can be dealt with efficiently by applying the exterior structure. You also might want to find, say, a line which passes through a given point and is perpendicular to another line. This kind of problem is related to the orthogonal structure. The tensor product is too general. By using the quotient algebra you are effectively eliminating any part of the tensor product which is not related to exterior or orthogonal structure. What is left has a clear geometric significance. In a way, the geometric product does a lot of work for you behind the curtains, so that you can concentrate on the relevant geometric structures. The expression $uv=u\cdot v+u\wedge v$ is not really the definition of the product. It is just a property that the geometric product of two vectors has.

Alan Macdonald does not use the definition of the geometric product I described above because he does not presume his readers are familiar with the tensor algebra, ideals, or quotients. Instead, he wants to concentrate on applications, geometric properties of the algebra, and on computation. If you are not satisfied with his approach, perhaps you need to read another book. This one

Clifford Algebras and Lie Theory, by Meinrenken

is recent and it uses the same definition I used. There are other equivalent ways to define Clifford algebras. If you are interested, check out these books as well

Quadratic Mappings and Clifford Algebras, by Helmstetter and Micali,

Clifford Algebras: An introduction, by Garling.

Perhaps, after trying to read these books you will appreciate Alan's book more.

Clifford algebra is a well-established part of standard mathematics. It is used in differential geometry and Clifford Analysis, not to mention various applications in physics. No one questions its validity. People who refer to it as Geometric algebra simply want to help promote it in engineering, applied mathematics, and physics. The focus is on applications rather than mathematical rigour. As Alan has pointed out, you don't need to know how the algebra is defined in general in order to use it. You can always compute the product in the basis. It gets tedious to do it by hand as the dimension of the underlying vector space increases, but it can be implemented on a computer quite easily.


  1. The book is not intended for high school students. According to the preface it is intended for "the introductory linear algebra course", a sophomore college course. The preface also recommends a calculus course for "mathematical maturity".

  2. Definition 5.9 defines the geometric product of two vectors. The first paragraph of Section 6.1 gives reasons for not giving a definition of the geometric product of arbitrary multivectors. (It also cites a paper which gives a definition.) Instead, Theorem 6.1 gives the fundamental rules for manipulating the geometric product of multivectors.

  3. The answer from Muphrid starts by assuming that for vectors $a, b, c,\, a(bc) = (ab)c$. Of course this is true. But it cannot be used to define the general geometric product. For

$(ab)c$ = (scalar + bivector)(vector)

and (bivector)(vector) has not been defined. The answer from ahala starts by assuming that the geometric product is linear without giving a reason. Of course this is true. But an unjustified assumption cannot be used to define the general geometric product.

I do not think it possible to give a quick definition of the general geometric product.


Here is an attempt at an informal, hand-waving definition. Let's start by defining the relevant terms:

A multivector is an element of a geometric algebra. It can be represented by a linear combination of blades.

Blades are the combined geometric products between scalars and vectors of an orthonormal basis in the associated vector space. The geometric product is defined such that the range of blade products is finite in a given (finite) geometric algebra. Products with $>n$ vectors can always be reduced to a product with $\leq n$ vectors, where $n$ is the dimension of the associated vector space. A blade's grade is the number of basis vectors that are multiplied together (after it is reduced). A blade of grade $k$ is called a $k$-blade. Permutations of the same product end up being scaled versions of each other, so it is possible to define a set of blades as a basis for the vector space of multivectors by choosing one of each permutation set. The standard basis of $\mathbb{R}^3$ $\{e_1,\, e_2,\, e_3\}$ leads to this standard basis of blades for $\mathbb{G}^3$: $\{1,\, e_1,\, e_2,\, e_3,\, e_1e_2,\, e_1e_3,\, e_2e_3,\, e_1e_2e_3\}$.

A $k$-vector is a linear combinations of $k$-blades. Sometimes, $2$-vectors are called bivectors, $3$-vectors are called trivectors, etc. Sometimes $1$-vectors are simply called vectors, since they have a one-to-one correspondence with the vectors in the associated vector space.

Here are some examples of each term, using the standard basis of $\mathbb{R}^3$ as the defining vectors. The second examples are not in reduced form.


  • $0$-blade : $\:2$, $2(2)$
  • $1$-blade : $\:e_1$, $\,3e_3e_1e_1$
  • $2$-blade : $\:4e_1e_3$, $\,e_1e_3e_3e_2$

  • $0$-vector : $\:3$, $\,3 + 2$
  • $1$-vector : $\:4e_1 + 5e_2$, $\,6e_1 + 5e_3 - 2e_3$
  • $2$-vector : $\:-13e_2e_3 + 3e_1e_3$, $\,12e_2e_3 + 3e_1e_3 - 3e_2e_3$
  • $3$-vector : $\:-2e_1e_2e_3$, $\,3e_1e_2e_3 + 5e_1e_2e_3$

  • Multivector : $\:3 + 4e_1 + 4e_3 - 13e_2e_3 + 3e_1e_3 - 2e_1e_2e_3$, $\,8 + 2e_1 + 4e_1e_2 - 2e_1$

The geometric product is distributive over addition. So, to perform a geometric product between multivectors we can just represent them in the same basis of blades and distribute the terms: $$ \begin{align} u &= u_1 + u_2e_1 + u_3e_2 + ... + u_5e_1e_2 + ... \\ v &= v_1 + v_2e_1 + v_3e_2 + ... + v_5e_1e_2 + ... \end{align} $$ $$ \begin{align} uv &= u(v_1 + v_2e_1 + v_3e_2 + ... + v_5e_1e_2 + ...)\\ &= u(v_1) + u(v_2e_1) + u(v_3e_2) + ... + u(v_5e_1e_2) + ...\\ &= (u_1 + u_2e_1 + u_3e_2 + ... + u_5e_1e_2 + ...)(v_1) \\ &\quad + (u_1 + u_2e_1 + u_3e_2 + ... + u_5e_1e_2 + ...)(v_2e_1) \\ &\quad + (u_1 + u_2e_1 + u_3e_2 + ... + u_5e_1e_2 + ...)(v_3e_2) \\ &\quad + ... \\ &\quad + (u_1 + u_2e_1 + u_3e_2 + ... + u_5e_1e_2 + ...)(v_5e_1e_2)\\ &\quad + ... \\ &= (u_1)(v_1) + (u_2e_1)(v_1) + (u_3e_2)(v_1) + ... + (u_5e_1e_2)(v_1) + ...\\ &\quad+ (u_1)(v_2e_1) + (u_2e_1)(v_2e_1) + (u_3e_2)(v_2e_1) + ... + (u_5e_1e_2)(v_2e_1) + ...\\ &\quad + (u_1)(v_3e_2) + (u_2e_1)(v_3e_2) + (u_3e_2)(v_3e_2) + ... + (u_5e_1e_2)(v_3e_2) + ...\\ &\quad + ... \\ &\quad + (u_1)(v_5e_1e_2) + (u_2e_1)(v_5e_1e_2) + (u_3e_2)(v_5e_1e_2) + ... + (u_5e_1e_2)(v_5e_1e_2) + ...\\ &\quad + ... \\ \end{align} $$ We are left with a sum of products of blades. The geometric product is associative, so we don't actually need the parenthesis: $$ \begin{align} &= u_1v_1 + u_2e_1v_1 + u_3e_2v_1 + ... + u_5e_1e_2v_1 + ...\\ &\quad + u_1v_2e_1 + u_2e_1v_2e_1 + u_3e_2v_2e_1 + ... + u_5e_1e_2v_2e_1 + ...\\ &\quad + u_1v_3e_2 + u_2e_1v_3e_2 + u_3e_2v_3e_2 + ... + u_5e_1e_2v_3e_2 + ...\\ &\quad + ...\\ &\quad + u_1v_5e_1e_2 + u_2e_1v_5e_1e_2 + u_3e_2v_5e_1e_2 + ... + u_5e_1e_2v_5e_1e_2 + ...\\ &\quad + ...\\ \end{align} $$ These are just blades that haven't been reduced. To reduce them, we apply the identities that define the geometric product:

  • scalars commute with basis vectors: $ae_i = e_ia$
  • the product of a basis vector with itself is 1: $e_ie_i = 1$
  • basis vectors anticommute with other basis vectors: $e_ie_j = -e_je_i$

Continuing our computation. First we bring the scalars together: $$ \begin{align} &= u_1v_1 + u_2v_1e_1 + u_3v_1e_2 + ... + u_5v_1e_1e_2 + ...\\ &\quad + u_1v_2e_1 + u_2v_2e_1e_1 + u_3v_2e_2e_1 + ... + u_5v_2e_1e_2e_1 + ...\\ &\quad + u_1v_3e_2 + u_2v_3e_1e_2 + u_3v_3e_2e_2 + ... + u_5v_3e_1e_2e_2 + ...\\ &\quad + ...\\ &\quad + u_1v_5e_1e_2 + u_2v_5e_1e_1e_2 + u_3v_5e_2e_1e_2 + ... + u_5v_5e_1e_2e_1e_2 + ...\\ &\quad + ...\\ \end{align} $$ Then we reduce the vector products into our basis blades. We do this by swapping pairs of vectors (and negate the blade every time we do) to match the order of our basis blades. When we have a product between the same vector, we can reduce it to 1 and drop it from the blade: $$ \begin{align} &= u_1v_1 + u_2v_1e_1 + u_3v_1e_2 + ... + u_5v_1e_1e_2 + ...\\ &\quad + u_1v_2e_1 + u_2v_2 - u_3v_2e_1e_2 + ... - u_5v_2e_2 + ...\\ &\quad + u_1v_3e_2 + u_2v_3e_1e_2 + u_3v_3 + ... + u_5v_3e_1 + ...\\ &\quad + ...\\ &\quad + u_1v_5e_1e_2 + u_2v_5e_2 - u_3v_5e_1 + ... - u_5v_5 + ...\\ &\quad + ... \end{align} $$ Finally, after we combine like terms, we are left with a new linear combination of blades that represents our resulting multivector: $$\begin{align} &= (u_1v_1 + u_2v_2 + u_3v_3 + ... + u_5v_5 + ...)\\ &\quad + (u_2v_1 + u_1v_2 + u_5v_3 + ... - u_3v_5 + ...)e_1\\ &\quad + (u_3v_1 + u_1v_3 - u_5v_2 + ... + u_2v_5 + ...)e_2\\ &\quad + ...\\ &\quad + (u_5v_1 - u_3v_2 + u_2v_3 + ... + u_1v_5 + ...)e_1e_2\\ &\quad + ... \end{align} $$ In this way, we only really need to define the product between a set of basis vectors to define the entire geometric product. As Elias said, once you have these identities along with the distributive and associative propreties, the rest of it just sort of falls out. Other definitions in geometric algebra can get away with only defining operations on blades or $k$-vectors because they likewise distribute over addition and so trivially apply to multivectors via the same sort logic we just followed: distribute the operation then apply the definition.

However, some simplified results such as the fact that the geometric product between $1$-vectors equals the sum of the inner and outer product $$ \begin{equation} uv = u\cdot v + u\wedge v \end{equation} $$ do not extend up to multivectors by the same logic. Being unable to see the difference was one of the biggest challenges I had in learning about geometric algebra. I think not finding a reference with full definitions of each term and how they relate to each other contributed to my confusion. It's hard to know when a term is used for convenience or a restrictive reason until you can see the whole picture!