I am studying the book Linear and Geometric Algebra (Macdonald), and I've been stuck on a couple related, seemingly-elementary problems for a couple of days.

5.3.4. Suppose that $\mathbf{a} \bot \mathbf{b}$. Show that $\mathbf{a} \cdot (\mathbf{a} \land \mathbf{b}) = |\mathbf{a}|^2\mathbf{b}$.

5.3.5. Show that $\mathbf{e_1} \cdot (\mathbf{e_2} \land \mathbf{e_3}) = 0$

This early in the text, $\cdot$ has only been defined for vectors, not for multivectors. The only relevant identities seem to be:

  • $\mathbf{a}\mathbf{b} = \mathbf{a} \cdot \mathbf{b} + \mathbf{a} \land \mathbf{b}$ for pure vectors $\mathbf{a}$ and $\mathbf{b}$ (presented as the fundamental identity)
  • The geometric product distributes over addition and is associative.
  • Identities for the geometric product of vectors: $$ \mathbf{a} \parallel \mathbf{b} \Rightarrow \mathbf{a} \mathbf{b} = \mathbf{b} \mathbf{a}$$ $$\mathbf{a} \bot \mathbf{b} \Rightarrow \mathbf{a} \mathbf{b} = - \mathbf{b} \mathbf{a}$$
  • Scalar multiplication identities for $\land$ and the geometric product

I tried assuming that fundamental identity was not limited to 1-vectors, and applied to vector-bivector multiplication as well:

$$ \begin{align} aB & = a \cdot B + a \land B && \text{unmotivated generalization} \\ Ba & = B \cdot a + B \land a && \text{unmotivated generalization} \\ aB + Ba & = a \cdot B + B \cdot a + a \land B + B \land a && \text{add and rearrange} \\ aB + Ba & = a \cdot B + a \cdot B + a \land B - a \land B && \text{assume} \cdot \text{commutes and} \land \text{anticommutes}\\ a \cdot B& = \frac 12 (aB + Ba) && \text{}\\ \end{align} $$

But this doesn't work; as Guillermo Angeris shows in his answer, the correct form of $\cdot$ is actually $a \cdot B = \frac 12 (aB - Ba)$.

Both these problems seem to require a rule governing how $\cdot$ applies to vectors and bivectors (incorrect strawman: $\mathbf{a} \cdot (\mathbf{b}\mathbf{c}) = (\mathbf{a} \cdot \mathbf{b})\mathbf{c}$). However, this more-general $\cdot$ is not presented until the next chapter.

These two problems seem designed to teach or motivate something, but I don't see how they're soluble given the minimal set of definitions presented, at least not without the student trying to define their own generalization of the geometric product, $\cdot$, and/or $\land$ operators.

Is a solution derivable given what's already been presented?

  • $\begingroup$ I once asked mark green at ucla if you could generalize the dot product and the curl to higher dimensions, and he said that's when you get into the grassmanian and things like that. .. $\endgroup$
    – user403337
    Commented Aug 25, 2017 at 18:15
  • 1
    $\begingroup$ Perhaps you meant for " the correct form $\cdot$ is actually..." that $a\cdot B = \frac{1}{2}(aB - Ba)$, instead of $aB + Ba$? $\endgroup$ Commented Aug 26, 2017 at 2:38
  • 1
    $\begingroup$ Yes, that was a typo; thanks! $\endgroup$ Commented Aug 26, 2017 at 2:46

3 Answers 3


The rule you mentioned is actually $a\cdot(b\wedge c) = (a\cdot b) c - (a\cdot c) b$, which is (only kind of) derivable from the given rule.

Essentially you should just check (5.3.4) directly by finding both the antisymmetrized product and the symmetrized one, individually. We know that the product of a vector and a bivector can only have two results: one which is a trivector and one which is a vector. I'm not quite sure how Macdonald defines this, but essentially it boils down to showing the symmetric product vanishes $$ a(ab) + (ab)a = (aa)b + a(ba) = |a|^2b - a(ab) = |a|^2b - |a|^2b = 0 $$ which we define as twice the wedge product between a vector and a bivector, and we have, for the antisymmetric part $$ a(ab) - (ab)a = |a|^2b + |a|^2b = 2|a|^2b $$ by the same argument as above. Hence we define, since it lowers the grade of the bivector $B$, the dot product as $$ a\cdot B \equiv \frac{1}{2}(aB - Ba). $$

I'm not familiar with the Macdonald book, so I may be missing something he does define in the chapter, but this is usually how the grade-lowering product is motivated.

A similar, direct argument works for (5.3.5).

  • $\begingroup$ Thanks for this; the motivation for the generalization of ^ as "that product which vanishes when a is in the plane of B" is illuminating. In Macdonald, section 5.3 is barely into GA (the first 4 chapters are all about LA). The only GA covered thus far is directed areas/volumes, G3 as a vector space, the standard scalar/vector/bivector/pseudoscalar basis for G3, and the very restricted form of the geometric product. Not a lot to work with! $\endgroup$ Commented Aug 26, 2017 at 2:07
  • $\begingroup$ @PaulDuBois Ah, okay! Then it's perfect. Since you know the symmetric part vanishes, and $a$ is in the $a\wedge b$ plane, then it must be the wedge product; on the other hand, the dot product is the only remaining alternative (e.g. the antisymmetric part). Again, it's not obvious that you should do this at all, to be honest, until you've seen it at least once before. $\endgroup$ Commented Aug 26, 2017 at 2:36

My error: The problem cannot be solved at this point in the book. Add a Hint: In Chapter 6 we will learn that (vector inner bivector) is the vector part of (vector)(bivector). -- Alan Macdonald


I don't have that book by MacDonald (although I recall liking the preprint of that I read eons ago), and I don't remember the lingo that he uses.

Define a k-vector as a quantity having a single grade.

Examples of a 2-vector:

$$\begin{aligned} &\mathbf{e}_1 \mathbf{e}_2 + \mathbf{e}_3 \mathbf{e}_4 \\ &\mathbf{e}_1 \mathbf{e}_3\end{aligned}$$

The general dot product formula for two k-vectors $ a_r, b_s $, of grades r and s respectively, is typically defined as a grade selection of the following sort:

$$a_r \cdot b_s={\left\langle{{ a_r b_s }}\right\rangle}_{{\left\lvert {r - s} \right\rvert}}.$$

For 5.3.4 we have $$\begin{aligned} \mathbf{a} \cdot (\mathbf{a} \wedge \mathbf{b}) &= {\left\langle{{ \mathbf{a} (\mathbf{a} \wedge \mathbf{b}) }}\right\rangle}_{1} \\ &= {\left\langle{{ \mathbf{a} (\mathbf{a} \mathbf{b} - \mathbf{a} \cdot \mathbf{b}) }}\right\rangle}_{1} \\ &= {\left\langle{{ \mathbf{a} \mathbf{a} \mathbf{b} }}\right\rangle}_{1} -{\left\langle{{ \mathbf{a} }}\right\rangle}_{1} (\mathbf{a} \cdot \mathbf{b}) \\ &= \mathbf{a}^2 {\left\langle{{ \mathbf{b} }}\right\rangle}_{1} -{\left\langle{{ \mathbf{a} }}\right\rangle}_{1} (\mathbf{a} \cdot \mathbf{b}) \\ &= \mathbf{a}^2 \mathbf{b} -\mathbf{a} (\mathbf{a} \cdot \mathbf{b}) ,\end{aligned}$$

but $ \mathbf{a} \cdot \mathbf{b} = 0 $ for this problem, proving the desired result.

The dot product of a multivector is typically defined of the dot products of all the grade components of the multivector, as in

$$\begin{aligned}A &= \sum_k {\left\langle{{A}}\right\rangle}_{{k}} \\ B &= \sum_k {\left\langle{{B}}\right\rangle}_{{k}} \\ A \cdot B&=\sum_{r, s} {\left\langle{{A}}\right\rangle}_{{r}} \cdot {\left\langle{{B}}\right\rangle}_{{s}},\end{aligned}$$


$$\begin{aligned} \mathbf{a} \cdot ( \mathbf{b} \mathbf{c} ) &= \mathbf{a} \cdot ( \mathbf{b} \cdot \mathbf{c} + \mathbf{b} \wedge \mathbf{c} ) \\ &= {\left\langle{{\mathbf{a} ( \mathbf{b} \cdot \mathbf{c})}}\right\rangle}_{{1-0}} + {\left\langle{{\mathbf{a} ( \mathbf{b} \wedge \mathbf{c})}}\right\rangle}_{{2-1}} \\ &= (\mathbf{b} \cdot \mathbf{c}) \mathbf{a} + (\mathbf{a} \cdot \mathbf{b}) \mathbf{c} - (\mathbf{a} \cdot \mathbf{c}) \mathbf{b}.\end{aligned}$$

This is not generally equal to $ (\mathbf{a} \cdot \mathbf{b}) \mathbf{c} $.

  • $\begingroup$ Thanks for the correction regarding my proposed "a . (bc)" identity. I'll modify the question to note that it's incorrect and to clarify the point I'm confused on. The generalized multivector dot product is introduced many sections ahead of this problem: is there some more-elementary way to solve this problem? $\endgroup$ Commented Aug 26, 2017 at 1:03
  • 2
    $\begingroup$ @PeeterJoot As I'm sure you're aware, there are several generalizations of the inner product on $\Bbb R^n$ possible for multivectors in $\mathcal G^n$ (for anyone interested, see "The Inner Products of Geometric Algebra" by Leo Dorst). In Macdonald's case, the one used is left contraction. I.e. the inner product of multivectors $a_r$ and $b_s$ used in his book is given by $$a_r \cdot b_s = \langle a_rb_s\rangle_{s-r}$$ where, by definition, all negative grade projections are $0$. $\endgroup$
    – user137731
    Commented Aug 26, 2017 at 21:29
  • $\begingroup$ What would (A . B) be in coordinates, as an example? I saw a video on PGA, that extensively uses dot products of mixed multivectors. Like: $\vec3 A \dot \vec2 B$ $\endgroup$
    – Rob
    Commented Aug 25, 2023 at 22:09
  • $\begingroup$ @rob -- in general, it would be messy. However, for your specific example for 3D Euclidean space, with $ A = \mathbf{e}_{123} \alpha $, $ B = \mathbf{e}_{12} a + \mathbf{e}_{23} b + \mathbf{e}_{31} c $, the dot product of the two is $ A \cdot B = \alpha ( -\mathbf{e}_3 a - \mathbf{e}_1 b -\mathbf{e}_2 c )$ $\endgroup$ Commented Aug 26, 2023 at 2:10
  • $\begingroup$ Is it even possible to express a general multi-vector in terms of Geometric product only, and have a rule to split out dot and wedge, so that it's well-defined? ie: Imagine that none of the parts are exactly zero (maybe all +/- a small floating point error): $a = a_0 + (a_1 e_1 + a_2 e_2 + a_3 e_3) + (a_{12} e_{12} + a_{23} e_{23} + a_{31} e_{31}) + a_{123} e_{123} $, and similarly for $b$. This isn't something you can write in Python? Geometric products is a doubly nested for-loop; sorting items to get -1,0,1 for the $e_?$ values. Maybe this can be found in ganja.js code? $\endgroup$
    – Rob
    Commented Aug 26, 2023 at 2:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .