Hacker News new | ask | show | jobs
by gugagore 1 day ago
The part in this that I most question / deviate from is what I've quoted below about having distinctions (syntactically?) between objects and operations. Conceptually, it's a good distinction. But is it so clearly wise to bake in that distinction into the formal framework when doing calculations or proof?

> Most of the time we think of complex numbers as vectors in R2 or as rotation+scaling operators, but rarely do we actually we want them in both roles at the same time. So it is not very natural to equate the two objects, as opposed to finding a correspondence between them.

> So GA ends up being very stuck because it equates “vectorial objects” and “operators that act on vectorial objects”. It would be better to express all the geometric objects you care about in their most natural forms, and then find isomorphisms between them when it’s necessary to do so. Otherwise all the meanings get blurred together and it’s very confusing. So that’s another problem with geometric algebra: eliding the distinction between vectors and operators is undesirable, confusing, and disingenuous.

2 comments

This is like a type theory question - do you like it untyped or typed?

In physics, values have units too. Analogously, you could say - why incorporate units into the algebra in physics (as is often done)? Why not just add scalars etc. and not bother carrying around the units everywhere?

Well, because doing anything else is mostly nonsensical - it does not make sense to add meters and seconds together. Using unit algebra is the most basic sanity check as to whether your formula makes any sense.

Sometimes it makes sense to convert/cast between representations, but that should be explicit - distinguishing eg. objects and operations is more readable and more safe, and only comes with a bit of notational overhead. Nothing is free, but I think the benefits far outweigh the downsides.

I follow your connection, though I think your unit analogy is a strawman.

Do you want to give two different types to complex numbers, depending on whether a given complex number represents a point versus a transformation (an amplitwist)?

Ideally, yes. Depends on the context. Same way you don't use unit algebra when doing trivial everyday math. At some level of complexity, it becomes worthwhile.
One finds in regular vector algebra that "position vectors" and "displacement vectors" are sort of two distinct types of objects, and that it is never physically valid to add two position vectors together unless you create an affine combination like (a+b)/2. A position vector 'a' is really 'O + a', so [(O+a) + (O + b)]/2 = O + (a+b)/2, another position... but a+b on its own would really be (O +a) + (O + b) = 2O + a + b, which is not geometrically meaningful. So positions and displacements might both be elements of R^2, mathematically speaking, but there is something physically different about them, which physical applications/geometry forces you to contend with. I think it is something like a historical accident that there's not a great notation for expressing this in normal mathematics (or at least, I'm not aware of one!).
https://math.ucr.edu/home/baez/torsors.html

The distinction is whether zero is meaningful independent of a choice of origin. Zero displacement is meaningful. Zero position is arbitrary.

Are you thinking of displacement as an operation? Because it is just as well a vector. I don't see the connection to section I highlighted from the article.

I think of displacement vectors and position vectors as having different "types". Position vectors are geometric objects whose meaning comes from whatever physical system you're studying (this way of thinking is generally useful even if you're not doing physics; for instance if you're talking about a manifold you would think of that as the physical system independent of the coordinates you put on it).

In the same way I think of "vectors as operators" (rotations/scaling) as a displacement vector / torsor, but of a different type than their sense as translations. As far as I can tell, the geometric product between two displacement vectors is not so meaningful, whereas the geometric product between two "operator" vectors is (because it composes them as operators, in some sense). But in practice you're often rapidly switching between these representations so it's hard to tell which object you're actually talking about. For this reason I find it useful to distinguish their types explicitly.