I don't get it. The GA community seems to be ignoring the most beautiful GA out there – one that gets close to meeting Hestenes's overblown claims for GA.
Various authors in GA have bemoaned the absence of a known GA that contains the projective transformations, expresses quadrics, etc. [
Chris Doran & Anthony Lasenby (2003) Geometric Algebra for Physicists. p. 413; Leo Dorst, Daniel Fontijne, Stephen Mann (2007) Geometric Algebra for Computer Science – An Object-oriented Approach to Geometry, pp. 369, 499; Christian Perwass (2009) Geometric Algebra with Applications in Engineering] Yet such a beast is known, and has been for a while – before their lamentations [
e.g. José María Pozo & Garret Sobczyk (2002) Geometric Algebra in Linear Algebra and Geometry, p. 4].
Okay, so let me back up. Consider what I will call the natural Clifford algebra of (the direct sum of) a vector space
V and its dual
V*: Cl(
V⊕
V*,
q).
V and
V* come with a natural pairing, namely ⟨
a,
x⟩ =
a(
x),
a ∈
V*,
x ∈
V, and the natural quadratic form is
q(
a+
x) = ⟨
a,
x⟩. This algebra has all sorts of magic when it comes to a natural interpretation. You might object that this algebra has dimension 2^2
n (
n = dim
V) in place of a GA of dimension 2^
n, but ... look at the list of magic below.
- This construction works for any free module of finite dimension over a commutative ring (which includes characteristic 2): it is very general.
- We can choose any basis of V and its dual basis in V*. Together these constitute a null basis, which makes manipulation particularly convenient and efficient (many products of terms vanish).
- We do not need a multitude of awkward constructs that we usually tack onto GAs, since these objects and operations are now within the algebra (i.e. we need only addition, multiplication and inverse):
- The geometrically natural ΛV and ΛV* are subalgebras of the algebra. No need for an additional product ∧.
- Any invertible linear map on V or V* is expressible within the algebra: T Y T^−1. The stress–energy tensor is an example.
- The main involution has a simple algebraic form: J Y J^−1, where J is the top element, which can always be normalized so that J^2 = 1.
- We can represent the contraction of a ∈ V* onto ΛV within the algebra. Apparently no need for the additional contractive products ⌋ and ⌊.
- Every linear map on the entire algebra (not only V or V*) is expressible within the algebra. Hence, non-algebraic operations like grade projection are unneeded. (Consider that the main involution is not algebraically expressible in Cl(R^{1,0}) and Cl(R^{0,1}))
- Any quadric is expressible as a single element D: the solutions y ∈ V such that y D y = 0.
- We can simultaneously represent as elements of the algebra multiple nondegenerate bilinear forms (e.g. metrics) on V.
- It is highly intuitive. Geometric objects are k-vectors and k-covectors, and invertible transformations are a elements of a particular group, all separate sets. Having separate sets allows us to identify geometrically nonsensical operations like contracting a covector onto a k-covector or onto a transformation, and to prohibit this say at compilation in C++.
- The exterior derivative and divergence operators are straightforward (with an explicit metric element G needed in the latter).
- Projective geometry with its transforms in any dimension is easily expressible (this is obvious, given the general linear transforms).
- Counter-intuitively, due to the null basis, the algebra seems to be very efficient computationally, despite its high dimension (2^2n). For example, a general linear transform in 2D has 6 coefficients, and in 3D has 20 coefficients. Because of the null basis, linear transformations T y T^−1 simplify (e.g. to exactly n^2 multiplications on 1-vectors with pre-calculation on T).
I'm hoping someone will tell me this is all well-known – just to go and look in this or that text or paper.
Manfred