Join and meet in projective geometric algebra

I’m posting this due to a thread on the bivector discord channel that raised the question of what exactly one should associate with the terms “join” and “meet” in PGA, projective geometric algebra. Since I’d like to be able to find this answer again, I’m posting it here and providing a link to this post back on discord.

The answer to this question of “join” and “meet” contains some surprises due to the existence of both plane-based and point-based PGA.

In any GA, the wedge (or “progressive”) product A^B of two (linearly independent) 1-vectors A and B consists of 1-vectors P satisfying P \wedge A \wedge B = 0 (so-called “outer product null space”). This is a 1D family of 1-vectors, the “span” of A and B.

Examples: In a point-based PGA, where 1-vectors are points, this yields the joining line between the two points as a set of points (technical name: “point range”). In a plane-based PGA, such as euclidean PGA, 1-vectors are planes and the wedge yields a set of planes that all pass through the common line of A and B (that’s called a “plane pencil”), the meeting line of the two planes. So the same wedge operation can appear as join or meet depending on whether you are in a point-based or a plane-based algebra. In both cases however, the word “span” would be accurate to describe the resulting subspace.

The following figure shows the two representations of a 3D line: as point range (on the right) and plane pencil (on the left). These are sometimes called spear (point range) and axis (plane pencil).

That’s not all. Every GA also has a regressive product that adds another flip to the logic. The regressive product, unlike the span, gives the intersection of its arguments, considered as sets.

Example: In a 3D point-based PGA, 3-vectors are planes, each thought of as consisting of a 2D extent of points. The regressive product A \vee B of two planes, then, consists of the points common to both, that is, the meeting line (as a point range). Recall that the wedge (or progressive) product of the two planes in the plane-based algebra produced the same line, but as a set of planes (plane pencil). Something similar happens in a 3D plane-based PGA: 3-vectors are points, each considered to consist of all the planes that pass through the point (the so-called “plane bundle” of the point). The set of planes common to both bundles is the “plane pencil” of the common line of the two points, that is, the set of all planes that pass through this common line. Just like “span” was a neutral term for the progressive product, a neutral term for the regressive product would be “intersection”.

Both the common line of two points and the common line of two planes can be obtained with either progressive or regressive product, and as either a “span” or an “intersection”. Care is advised when using the terms “join” and “meet” since their meaning depends on whether the context is point-based or plane-based.

This theme is part of the more encompassing topic of “geometric duality” whereby every geometric primitive appears in projective geometry twice, once in plane-based form and once in point-based form like the line in the example above that can be considered as both a point set (point range) or a plane set (plane pencil). An introduction to geometric duality in PGA can be found in Sec. 8 of the preprint “A bit better: Variants of duality in geometric algebras with degenerate metrics”, [2206.02459] A bit better: Variants of duality in geometric algebras with degenerate metrics.

This was confusing me as well so then this is
describing point based. Hence why most other PGA talks have them flipped.
Is that accurate? The distinction is very confusing to us newcomers!

I’ll give you my opinion. Point based, plane based are just names, but are really R(3,0,1), and it’s dual R*(3,0,1) spaces respectively. Axioms of GA don’t care how you are going to interpret your r
eality. I first went through what they call plane based, a rewrite of chapter 11 by Leo Dorst. It was hard to think that way because everything is flipped. Nevertheless, I derived everything in there and implemented all from scratch. Then, I saw Eric’s approach and studied it. His anti operators are regressive operators from John Browne books, which are based on Grassmann. Then I realized there was no need to flip your mind and work in dual space, but with anti products, you can normally work in R(3,0,1) and use familiar objects from PGA, join and meet, and anti geometric product for rotations. I then derived everything from the rewrite of chapter 11 and there is no difference. All the results are the same. That pretty much was the verdict for me on plane based approach. This approach really comes from Selig’s book Fundamentals of Robotics but I don’t see a point in twisting my mind to imagine flipped objects to do simple operations. Point as a normal vector is what has been done since Grassmann and Gibs in Vector Calculus and I don’t think this will be ever overturned. I’d suggest use Grassmann.jl (which is state of the art, I consider the author the most knowledgeable in GA) to define Eric’s operators and you’ll see how easy it is to do everything with the familiar objects.