Hacker News new | ask | show | jobs
by SonOfLilit 1 day ago
(This is a nitpick and does not argue against your main claim that GA is a better abstraction to represent and solve physics problems with, that I have no way to evaluate because I don't speak GA, though now I'm curious and will maybe spend an afternoon trying to figure out)

I mean, come on, lawyers and biologists don't really spend half a decade studying Latin. You can tell because smart people that spend a year or two studying Latin are conversationally fluent in it, and lawyers aren't.

They spend a month or two memorizing some latin words that could have been in English, and then (for biologists, lawyers just stop there) years memorizing lots of names of things that they'd have to memorize no matter what language they were in, and it's not really any slower in Latin than it would be in English once you spent that O(1) effort to get used to it.

Like us (systems) programmers don't spend decades studying the C language, we spend a year or two getting comfortable in C and then the rest of our careers learning all sorts of interesting ideas like generational GC that come phrased in pseudo-C but might as well have been phrased in English pseudocode with a similar cognitive load to grokking them.

That wonderful popcnt() algorithm that uses 0x33333333 and 0x55555555 constants would be just as hard to decipher if it was written in plain English.

1 comments

To be honest I was struggling to phrase my argument in a cohesive narrative without it turning into a ten page blog post.

The point I’m trying to make is that there are necessarily complexities inherent in all areas of study, and there are incidental complexities because of historical reasons, “culture” within certain fields, or juniors putting out their fields’ equivalent of spaghetti code.

Geometric Algebra sweeps away a lot of the rather messy parts of now century-old physics, but the work of doing that substitution is decidedly non-trivial and thankless, so other than Hestenes, nobody seems to be pushing for it.

It’s like the 2pi versus tau fad on the internet.

Mathematicians argue that they’re “the same”, so it doesn’t matter, and ramble on about their equivalent of “learn the Latin to be smart like me”.

No. It’s stupid. It was an error. Tau is the correct circle constant and eliminates magic constants that don’t belong from literally hundreds of famous formulas!

I and many others simply failed to understand radians until I learnt to treat 2pi as a single ligature instead of “two of something”.

I tried to make it clear that I wasn't arguing against your main point, that was made very clearly, just against a comparison you used that I think was a bit slanderous (tongue in cheek). Yes, obviously Tau is correct, and that's a better comparison to use.

Having dived deeper into the essay, author claims that some of the new notation is obviously better (clifford algebras) and the rest is overzealous unification that obscures rather than clarifies because it mixes types in a weird way (geometric product).

I've never heard of any of this before, but author's second point looks rather convincing. Can you give counterexamples, ideas that are much clearer to think about once represented using GP? I'd love to dive a bit deeper.

I'm a bit pressed for time, but one annoyance I've had with the classic "greek" physics notation is that they represent things from "both ends" of a graded vector space. So for example, they start with a scalar, then a vector, then ... pseudoscalar-1, and finally the pseudoscalar.

It's a shortcut useful only if you need to scribble on paper and your wrists hurt from writing too much, but it obscures the underlying physics.

The programming equivalent is putting abbreviations in identifiers where, sure, it's fewer characters, but then the reader needs to a track a mental lookup table to translate back to the intended meaning.

Pushing things like this too far results in meaningful aspects of the equations getting squeezed out entirely. For example, the generality of GA means that you have to (correctly) track negative signs and multiplications by pseudoscalars such that your formulas work in all dimensions. In traditional vector algebra it's all too tempting to eliminate certain products because in "your chosen dimension" they multiply to 1 or -1 or whatever and just... disappear due to traditional algebraic simplification conventions. But then if you need to work in 4D SR or curved spaces, you can't, because you threw away something essential while "optimising for characters on a page".

You have then "start over", typically reaching for a partial and incomplete subset of GA, reinventing that wheel over and over.

Hence the push for unification onto GA, to break this cycle.