Geometric Algebra Books – Eric Lengyel

Klenance
20 Min Read

Eric Lengyel   •   February 27, 2025

This post is a follow-up to a previous post called Poor Foundations in Geometric Algebra, which angrily describes how and why inner products,
contractions, and duals are frequently defined incorrectly in the geometric algebra literature. Here, I take a look at several popular books in the field and talk about what they got
right and what they got wrong. Inner products, contractions, and duals are all related to each other and satisfy many nice properties when they’re defined correctly. A couple
basic requirements, specifically that the inner product preserve the structure of the exterior algebra and that the contraction reduce to the inner product for operands of the same grade,
limit each of their definitions to exactly the one possibility shown in the following table. Any other definitions that end up producing different results are provably wrong and lead to
things like broken norms. (Here, (mathbf G) is the vector space metric extended by exomorphism to the entire exterior algebra.)

Operation Definition Identities
Inner product (mathbf A mathbin{smallunicode{x2022}} mathbf B = mathbf A^{mathrm T} mathbf{GB}) (mathbf A mathbin{smallunicode{x2022}} mathbf B = langlemathbf{A mathbin{unicode{x27D1}} widetilde B}rangle_0 = langlemathbf{widetilde A mathbin{unicode{x27D1}} B}rangle_0 = langlemathbf{B mathbin{unicode{x27D1}} widetilde A}rangle_0 = langlemathbf{widetilde B mathbin{unicode{x27D1}} A}rangle_0)
Right dual
(Hodge dual)
(mathbf A^{smallunicode{x2605}} = overline{mathbf{GA}}) (mathbf A^{smallunicode{x2605}} = mathbf{tilde A} mathbin{unicode{x27D1}} unicode{x1D7D9})
(mathbf A wedge mathbf B^{smallunicode{x2605}} = (mathbf A mathbin{smallunicode{x2022}} mathbf B)unicode{x1D7D9}), when (operatorname{gr}(mathbf A) = operatorname{gr}(mathbf B))
Left dual (mathbf A_{smallunicode{x2605}} = underline{mathbf{GA}}) (mathbf A_{smallunicode{x2605}} = unicode{x1D7D9} mathbin{unicode{x27D1}} mathbf{tilde A})
(mathbf A_{smallunicode{x2605}} wedge mathbf B = (mathbf A mathbin{smallunicode{x2022}} mathbf B)unicode{x1D7D9}), when (operatorname{gr}(mathbf A) = operatorname{gr}(mathbf B))
Right contraction (mathbf B unicode{x230A} mathbf A = mathbf B vee mathbf A^{smallunicode{x2605}}) (mathbf B unicode{x230A} mathbf A = langlemathbf{widetilde A mathbin{unicode{x27D1}} B}rangle_{operatorname{gr}(mathbf B) – operatorname{gr}(mathbf A)})
Left contraction (mathbf A unicode{x230B} mathbf B = mathbf A_{smallunicode{x2605}} vee mathbf B) (mathbf A unicode{x230B} mathbf B = langlemathbf{B mathbin{unicode{x27D1}} widetilde A}rangle_{operatorname{gr}(mathbf B) – operatorname{gr}(mathbf A)})

And now for the books. This is an objective evaluation of what is or is not consistent with the above definitions. In several instances, these books are wrong in the same way as other books
because the botched mathematics has been copied without actually checking to see if it’s correct. Let me know if there are any additional books you’d like me to take a look at.


Geometric Algebra for Computer Science

Leo Dorst, Daniel Fontijne, and Stephen Mann, 2007

Inner ProductsCorrect • The inner product between blades (mathbf A) and (mathbf B) of the same grade is rather implicitly
defined by Equation (3.5) on page 68 as (mathbf A ast mathbf{tilde B}), where (ast) is the scalar product defined by Equation (3.2). While technically producing the correct
results, the use of this scalar product and reverse operation are unnecessary complications that really shouldn’t be there.

ContractionsWrong • The left contraction is defined by a list of axioms on page 73. The Leibniz product rule given by Equation (3.10)
is incorrect, and as a result, this definition of the contraction fails to reduce to the inner product when the operands have the same grade. However, that is a required property of
the both the left and right contraction, so this definition is most certainly wrong.

DualsWrong • The dual (mathbf A_k^*) of a k‑blade (mathbf A_k) is defined by the formula
(mathbf A_k^* = mathbf A_k unicode{x230B} mathbf I_n^{-1}) given on page 80. Since the volume element (mathbf I) is not invertible when the metric is degenerate (as it is in PGA),
this formula obviously cannot be universally valid. More importantly, this dual satisfies neither the identity (mathbf A wedge mathbf B^* = (mathbf A cdot mathbf B) mathbf I)
nor the identity (mathbf A^* wedge mathbf B = (mathbf A cdot mathbf B) mathbf I) when (mathbf A) and (mathbf B) have the same grade, which is required for the dual to have
the proper relationship with the left or right contraction.


Linear and Geometric Algebra

Alan Macdonald, 2010

Contractions, Inner ProductsWrong • This book conflates contractions and inner products, and it defines them both in Equation (6.8) on page 101.
For a j‑vector A and a k‑vector B, the definition given for a left contraction is (A unicode{x230B} B = langle A mathbin{unicode{x27D1}} B rangle_{k – j}),
where I have updated the notation. This definition does not produce the correct results, and it does not reduce to a true inner product when the operands have the same grade.
The correct formula for the left contraction in terms of grade selection from a geometric product is (A unicode{x230B} B = langle B mathbin{unicode{x27D1}} tilde{A} rangle_{k – j}).

DualsWrong • The definition of the dual (A^*) is stated at the top of page 109 as (A^* = A mathbin{unicode{x27D1}} I^{-1}), where
I have clarified the operations. This formula is wrong for the same reasons that it’s wrong in Geometric Algebra for Computer Science. The author acknowledges in a footnote on the
same page that there have been several different definitions of the dual that differ only by sign on a per-grade basis and then observes that “There is no natural choice among them to
be the dual.” What he didn’t realize was that the reason for there being no natural choice among those particular formulas is that they are all incorrect. There is indeed
a natural choice for the dual, but it is given by the formula (A^* = tilde{A} mathbin{unicode{x27D1}} I) in terms of the geometric product. This is equivalent to the Hodge dual,
which is mentioned at the bottom of page 111. The author makes the claim that the Hodge dual “cannot be defined directly algebraically” in the exterior algebra, but that is
obviously incorrect since we can define it very simply as (A^* = overline{mathbf G A}).


Geometric Algebra for Physicists

Chris Doran and Anthony Lasenby, 2003

Contractions, Inner ProductsWrong • This book also conflates contractions and inner products. The problems begin with the definition of
an “inner product”, though it’s really giving the left contraction, between a vector (a) and a grade‑r multivector (A_r) in Equation (4.33) on page 91.
With updated notation, the definition states (a unicode{x230B} A_r = frac{1}{2} (a mathbin{unicode{x27D1}} A_r – (-1)^r A_r mathbin{unicode{x27D1}} a)), which has the effect of selecting
either the symmetric or antisymmetric part of the two grades produced by (a mathbin{unicode{x27D1}} A_r) depending on the value of r. This formula is not correct, and it does not produce
the correct contraction for all grades r. It’s equivalent to selecting the components of (a mathbin{unicode{x27D1}} A_r) with grade (r – 1), which we know to be wrong.
The correct left contraction (a unicode{x230B} A_r) is actually given by the grade-((r – 1)) components of (A_r mathbin{unicode{x27D1}} a) in the case that (a) is a vector.

DualsWrong • At the bottom of page 96, this book identifies the expression (I mathbin{unicode{x27D1}} A_r) as “a” duality
transformation, where (I) is the volume element, apparently acknowledging that several different kinds of duals have been in use, but it also says it returns “the” orthogonal
complement of (A_r). It’s a shame that the authors discuss consistent orientations in the paragraph right before this one, but then immediately fail to apply the concept to duality
transformations. If they had, they might have realized that only the Hodge dual produces consistently oriented results. The book discusses the Hodge dual later on page 220, where the Hodge dual
(ast) of an r‑vector (A_r) is given by Equation (6.306) as (ast A_r = (I^{-1} mathbin{unicode{x27D1}} A_r)^dagger). (The dagger represents the reverse operation here.)
The book then states that “It is a straightforward exercise to prove the main results for the Hodge (ast) operation”, but we can easily find a counterexample. In the spacetime algebra
(mathrm{Cl}(3,1)) with (I = mathbf e_{0123}), Equation (6.306) gives (ast mathbf e_0 = mathbf e_{123}), which means that (mathbf e_0 wedge ast mathbf e_0 = I). But since
(mathbf e_0 cdot mathbf e_0 = -1), the Hodge dual must satisfy the identity (mathbf e_0 wedge ast mathbf e_0 = -I) in this case. Equation (6.306) is not correct, and it has the
effect of introducing an extra factor of the reciprocal of the metric signature, which is (-1) in this example. (Of course, any formula for the Hodge dual involving the inverse of (I)
must be wrong because it fails whenever the metric signature is zero.)


New Foundations for Classical Mechanics

David Hestenes, 1986

Contractions, Inner ProductsWrong • When it comes to the inner product or contraction, the mistakes made in many other books can be traced
back to errors in Hestenes’ work. This book arbitrarily defines the “inner product” between a vector (mathbf a) and any k‑blade (mathbf A_k) in
Equation (7.12a) on page 36 as (mathbf a unicode{x230B} mathbf A_k = frac{1}{2} (mathbf a mathbin{unicode{x27D1}} mathbf A_k – (-1)^k mathbf A_k mathbin{unicode{x27D1}} mathbf a)),
which was clearly copied by Geometric Algebra for Physicists. Both books actually use a dot notation instead of the left contraction notation used here, and this book says
“it is to be regarded as a generalization of the inner product of vectors” at the top of page 33. However, using the formula given by Equation (1.18) on page 43 to
calculate the inner product just for operands of the same grade, the given definition does not correctly generalize the inner product of vectors because it produces the wrong sign for
operands having grade 2 or 3 modulo 4. Despite the long established requirement that inner products always yield scalar results, Hestenes continues using the term “inner product”
when the operands don’t have the same grade and the result is thus not a scalar. He should have realized that it is a “contraction” or “interior product”
in this case. Regardless, it does not produce the correct results, with the first example being the wrong sign given by Equation (6.15) on page 33.

DualsWrong • On pages 56 and 57, this book defines the dual of any multivector (A) to be (iA), where (i) is the volume element.
This is incorrect because it does not produce results with a consistent orientation or satisfy either the identity (A wedge iB = (A cdot B) i) or the identity
(iA wedge B = (A cdot B)i) when (A) and (B) have the same grade.


Understanding Geometric Algebra

Kenichi Kanatani, 2015

Contractions, Inner ProductsWrong • This book also conflates contractions and inner products. On page 62, this book states a general rule
that the contraction is calculated by alternately changing signs as a dot product is distributed through a wedge product, but it gets the order of the factors wrong. The right sides of
Equations (5.20), (5.22), (5.25), and (5.28) should be negated. However, Equation (5.23) for the contraction of a vector and trivector actually gives the correct result. The incorrect
order of factors raises the need to add a reversal the the norm calculations for bivectors and trivectors in Equations (5.44) and (5.46) on page 67. When the inner product is defined
correctly, these reversals disappear.

DualsWrong • The dual (boldsymbol a^*) of a k‑vector (boldsymbol a) is defined by the formula
(boldsymbol a^* = -boldsymbol a unicode{x230B} I) given on page 69. This dual satisfies neither the identity (mathbf A wedge mathbf B^* = (mathbf A cdot mathbf B) mathbf I)
nor the identity (mathbf A^* wedge mathbf B = (mathbf A cdot mathbf B) mathbf I) when (mathbf A) and (mathbf B) have the same grade, which is required for the dual to have
the proper relationship with the left or right contraction.


Clifford Algebras and Spinors

Pertti Lounesto, 2001

Inner ProductsCorrect • Though it doesn’t address inner products in general, this book does provide definitions of the inner
product based on Gram determinants for bivectors and trivectors on pages 36 and 37. These produce the correct results, and they are reiterated on pages 94 and 95 for the cross product.

DualsMostly Correct • On pages 38 and 39, this book gives the customary definition for the Hodge dual in which two elements (mathbf A)
and (mathbf B) of the same grade must satisfy (mathbf B wedge starmathbf A = (mathbf B cdot mathbf A)I), where (I) is the volume element and some generalization has been applied.
(We now know this to be a theorem that can be derived from a simpler explicit definition.) In the footnote on page 39, the book also gives the correct identity (star u = tilde u mathbin{unicode{x27D1}} I)
involving the geometric product. It then states that the “Clifford dual” given by (star u = u mathbin{unicode{x27D1}} I) is more convenient, but the Hodge dual is properly used in later
places like page 112 anyway. Had the author been aware of the connection between the Hodge dual and contractions, I think he might have realized that the Clifford dual has problems and
just avoided it altogether.

ContractionsWrong • On page 46, the left contraction is defined in two equivalent ways, but both are incorrect. The first definition is a
formula in the middle of the page that reads (u unicode{x230B} v = [u wedge (v mathbin{unicode{x27D1}} I)]I^{-1}), where I have again generalized to arbitrary dimensions. The author is
apparently unaware that this describes an antiproduct with a dual, and if he had used the Hodge dual instead of the Clifford dual, it would have been a correct definition, at least when the
metric is nondegenerate. However, as stated, the definition does not reduce to the inner product for operands of the same grade and thus cannot be correct. The second definition, immediately
following the first, describes three properties that the left contraction must satisfy, but the second property stating the Leibniz product rule is incorrect. This also causes the contraction
not to reduce to the inner product for operands of the same grade.


Grassmann Algebra, Volume 1: Foundations

John Browne, 2012

Inner ProductsCorrect • This book defines the inner product of two elements (mathbf A) and (mathbf B) having the same grade with
the formula (mathbf A mathbin{smallunicode{x2022}} mathbf B = mathbf A vee mathbf B^{smallunicode{x2605}}) in Equation (6.1) on page 373. (The notation has been updated to
avoid confusion). This formula produces the correct results in all cases despite not being the simplest definition with the fewest dependencies.

ContractionsMostly Correct • The right contraction of (boldsymbol alpha) and (boldsymbol beta), always called the interior
product in this book, is defined by Equation (6.5) on page 374 to be (boldsymbol alpha vee mathbf {boldsymbol beta}^{smallunicode{x2605}}). This definition is correct, and
it reduces to the inner product when (boldsymbol alpha) and (boldsymbol beta) have the same grade, as required. Importantly, the Leibniz product rule for the right contraction
given by Equation (6.100) on page 409 is correct. Left contractions are avoided in the book, but Equation (6.7) does supply the definition (mathbf {boldsymbol alpha}^{smallunicode{x2605}} vee boldsymbol beta).
This formula is subtly wrong because no distinction is made between right duals and left duals, and the author thus did not realize that the left contraction should instead be given by
(mathbf {boldsymbol alpha}_{smallunicode{x2605}} vee boldsymbol beta). The error led to a dependency on dimension showing up in Equation (6.9), as pointed out at the top of page 376.
With the correct definition of of left contraction, this dependency disappears, and the left contraction properly reduces to the inner product just as the right contraction does.

DualsMostly Correct • Duals are called complements in this book, and they are developed through a long process in Chapter 5. The explicit
formulas for the dual contain a division by the square root of the determinant of the metric, so they don’t work when the metric is degenerate. Otherwise, they appear to produce the
correct results.

Additional Resources

Source link

Share This Article
Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *