The meaning of the "weight" of a point or line

Hi everybody. I want to say how much I have enjoyed the SIGGRAPH & GAME talks, as a Geometric Algebra lurker for 20 years, and how useful the forum seems to be for hacking through the thicket of GA. Because, like nature itself, however elegant the underpinnings, it is a jungle. Your lengthy discussion with Eric Lengyal on PGA foundations cleared up many issues for me. Thank you so much.

My first question to you is about the “weight” of a point/line/plane, since in projective geometry all scalar multiples of a point are considered equivalent. My experience in GA is that something like a weight which is lying around like a spare wheel really means something and has perhaps several applications. I have seen a few views expressed on the weight, but nothing very definite, certainly nothing general.

If possible I’d like to collect some opinions here.

There is the notion of associating a mass to a point (due to Franz Moebius in 1827). There is also the comment (in p.38, p.275 of Dorst, Fontijne & Mann) that the weight can represent the “strength of intersection” in the sense that almost parallel intersections are weaker. Another possibility is that it could be used to compute the relative probability of a point in some machine learning or statistical mechanics application of PGA. In all these 3 cases, the sense of “density” seems implicit.

Any ideas, expertise or pointers are most welcome.

1 Like

I completely agree that weight is underutilized. It can be carried consistently within GA, and even if you only use its sign, you already gain extra descriptive power.

All uses you sketched should be possible and useful, and should be developed. For PGA, you find an initial attempt in the PGA4CS writeup. I am writing a piece about Newtonian mechanics by PGA (inspired of course by Gunn) that uses the weight as mass. And indeed, relative importance of data in linear operators is naturally done by weighting them.

In PGA, the neglect of the sign is a sin; it happened in projective geometry by homogeneous coordinates as well, even though it can tell you whether a point ends up in front or behind the camera. We need the signs, and would be hacking them in. Let us treat them structurally.

Leo

3 Likes

PGA has two sides: a projective one and a metric one. The projective world involves the incidence relationships; the metric one the measurements of distances, angles, areas, volumes, etc. Each of these worlds has a different relationship to the weight of its elements.

Consider the simple example of the joining line of two euclidean points \bf{A} \vee \bf{B}. If you’re only interested in that line as a geometric entity and not the relationship of \bf{A} and \bf{B} then you can safely ignore the weights, both in the arguments and in the result. Multiplication by non-zero scalars doesn’t change the identity of that line (ignoring issues of orientation, which depend on the underlying metric).

But if you’re doing metric (for example euclidean) geometry and want to measure the distance d between the two points, then you do care about weight. Pick out the representatives of the points with weight 1 by normalizing them (using the metric!) and apply the formula: d = \| \bf{A} \vee \bf{B} \|. In words: the weight of the joining line of normalized points is the euclidean distance between the points. (Without normalized points one has the more general formula d = \dfrac{\| \bf{A} \vee \bf{B} \|}{\|\bf{A}\|\|\bf{B}\|}.) There are other ways to measure distance between points but they all involve calculating a weight.

That’s just one example of many. Look at the cheat sheets for 2D and 3D PGA and you’ll find many more. For example, the. distance from point to line in 2D or point to plane in 3D is given by the weight of the wedge product \bf{P} \wedge \bf{m} – again, under the assumption of normalized arguments!

My favorite example, since it involves both the standard and the ideal norm, arises in 2D when considering the meet of two lines \bf{m} \wedge \bf{n}. When the two lines meet in a euclidean point, then \| \bf{m} \wedge \bf{n}\| = \sin{\alpha} where \alpha is the signed angle between them. And, when they meet in an ideal point (i. e., they are parallel), then \| \bf{m} \wedge \bf{n}\|_\infty = d where d is the signed euclidean distance between them! (The ideal norm \| x \|_\infty is used in EPGA to normalize ideal elements which satisfy \| x\|=0.) This is an example of what I call PGA polymorphicity – the same formula can yield angles or distances, depending on the arguments.

In kinematics and dynamics, the weight of bivectors carry physical significance. Here the situation is doubly interesting since the natural weights for bivectors are not real numbers (as for points and planes) but dual numbers a + b\bf{I}. This is due to the fact that for a bivector \bf{A}, \bf{A}^2 = a+b\bf{I} where b=0 \leftrightarrow \bf{A} is simple. A normalized bivector is one whose square is a unit dual number. These same dual numbers appear as weighting factors when you calculate the logarithm of a motor.

Suppose the weight of a bivector is a+b\bf{I}. This weight is related to measurement as follows: for a velocity/acceleration bivector (a “plane-wise” bivector or “axis”) the real part a gives the angular speed/acceleration (“rotation”) and the dual part b gives the linear speed/acceleration part (“translation”), whereas for an impulse or force bivector (a “point-wise” bivector or “spear”), it’s reversed: the real part gives the strength of the linear impulse/force and dual part gives the strength of the angular impulse/force (aka force couple).

@bellinterlab, I hope this small sample of results makes clear how wonderfully weights are woven into the fabric of PGA. Further details can be found in the SIGGRAPH course notes and the cited references.

Readers who are aware of novel applications of the weight not covered in the literature: please post them!

4 Likes

It’s very interesting what both of you said, and shows me that this is fruitful issue to study. While reading Charles’ observations perhaps an apple dropped on my head. It will take a few days to see if it is a legitimate insight. I will post here when I get it fleshed out a bit. Meanwhile thanks for replying - Tony

@bellinterlab Hi Tony, I am going to start diving into some GA applied to Machine Learning. I was wondering if you could point me towards some good resources?

I also felt an apple fall on my head after reading. Such an elegant post @cgunn3 @LeoDorst.
Thank you