logoalt Hacker News

jdw64today at 12:17 PM5 repliesview on HN

With my limited knowledge, I read through it stumbling along, and from what I gather, this GA is not Clifford Algebra, and the argument is that the GA movement itself is misguided, and that combining operators and geometric objects without distinguishing between them is problematic.

From a programmer's perspective, it seems like they're saying it's a flawed abstraction, while the GA stance is different. I'd like to hear the other side of the argument too. I'm sure HN will get a long GA comment thread, so from their standpoint, what would it feel like? I agree that merging objects and operators is problematic, but I'm curious what the GA camp would say


Replies

jdw64today at 12:49 PM

Reading this article, I think there are quite a few interesting points to consider further. C started as a DSL for the Unix kernel. JavaScript is also a DSL, and successful languages are often described as DSLs in certain respects. Then, as they grow and gain broader adoption, they evolve into general purpose languages.

But if you think about it the other way around, since all programs are ultimately about data transformation, you could argue that UIs should essentially be drawn in SQL, but that would sound strange. That's because the tools we use have moved away from that mental model. (Though React's FRP premise does lean in that direction.)

And when I think about why languages split apart, it seems to me that it's because the word 'programming' covers so many different things at once. Languages end up diverging because they serve different purposes. In fact, as a programmer, I see programming languages as a collection of tools that essentially decide what to give up. C gives you safety and low-level hardware access through its ABI. Python gives you expressiveness. They exist because their target goals are fundamentally different.

In that sense, though I'm not an expert in this field, from my limited perspective this debate feels like it's just the noise that arises when Algebra tries to encompass too much and inevitably splits apart. I imagine these kinds of cases will only increase in the future. As things become more specialized, there will be more situations where existing frameworks don't fit, and new systems will be needed. Is there a term for this phenomenon? At that point, we might say we need to change the old system to fit the new one.

Personally, I wonder if there isn't a general purpose language at the bottom that models the entire world, with other languages layered on top of it.

eigenspacetoday at 12:51 PM

> this GA is not Clifford Algebra

What makes you say that?

show 1 reply
QuesnayJrtoday at 1:06 PM

GA is Clifford algebra plus a bunch of new terminology plus advocacy that it should replace linear algebra.

TimorousBestietoday at 1:02 PM

Mathematician here.

> As I see it, GA is not so much a subject as an ideological position, consisting of basically two ideological claims about the world:

> Claim 1: That the concepts of EA (so, wedge products, multivectors, duality, contraction) are incredibly powerful and ought to be used everywhere, starting at a much lower level of math pedagogy—basically rewriting classical linear algebra and vector calculus.

I support this claim, so I suppose I’m a proponent of geometric algebra.

I think it’s more or less been carried out for vector calculus by Spivak’s “classical” Calculus on Manifolds, which is somewhat widely taught.

> Claim 2: That the Geometric Product (henceforth: GP) should be added to that list as the most fundamental operation, where by “fundamental” I mean that other operations should be constructed in terms of it, and theorems should be stated using it.

Like the author, I also believe this claim is nonsense.

“Rewriting classical linear algebra” is a honored pastime but it’s very difficult to make any headway doing it—the classical texts are classical for a reason, we more or less know how to teach them as an “80% solution” and it’s unclear that the investment in a new pedagogy would get us to an “81% solution.”

Especially with today’s undergrads. If you’re not churning arithmetic, they’re not into it.

show 3 replies
jiggawattstoday at 12:57 PM

As someone who studies physics and then went into a long IT career (but kept reading papers casually), my view is that this whole GA saga is very reminiscent of how after decades of experience, I still can't convince juniors of the benefits of what I now consider obvious best practices. No amount of demonstrations of the blindingly obvious improvement of some better technique seems to work on someone who "finally got the thing to work".[1]

Certain kinds of perfect correctness are like pure and shining crystallised bits of refined knowledge created by the greatest wizards. "Parse, don't validate" or "Make invalid states unrepresentable." ought to be familiar to the better programmers here, the ones with decades of experience built on iterative, collaborative foundations with real consequences for error.

Theoretical physics doesn't have those same consequences, because there is no real punishment for their equivalent of "spaghetti code". Perversely, there's cachet to be gained for gaining understanding of its unnecessarily esoteric knowledge, much like how biologists and lawyers spend half a decade or more studying... Latin.[2]

Introducing Geometric Algebra to physics is like that wizard coder who sweeps away reams of spaghetti code and replaces it all with a call to a single standard library function. It's that "cheff's kiss" of cleanup. Meanwhile the juniors are screaming about how the senior "deleted all their hard work!"

Meanwhile, I never understood where Pauli and Dirac matrices came from! It's like they were pulled from fat air.

You've seen this in code, I bet. Some junior worked really hard on solving a problem and wrote a solid screen-filling wall of "a && b || c || !d && e && (f || g)..." continuing up to "ba, bc, bd", etc.. as they ran out single letters until they're well into the alphabet in double-character symbols.[3]

That's what those matrices are. Someone's hacky attempt at "making things work".

The problem is that we gave those people Nobel prizes and told everyone they're geniuses.

They are, but they were like that brilliant junior. Brilliant.. but junior.

Geometric Algebra sweeps all of that into one beautiful, consistent, crystal clear abstraction that is widely applicable. The magic matrix constants vanish. Bugs in 100-year-old textbook formulas suddenly come to light. Dozens of formulas, one set for each of the 1D, 2D, 3D, and 4D cases collapse into a single formula valid for any number of dimensions.

It's like watching someone struggle with "catching every possible instance of JavaScript injection".

No son, no. Just no. Stop enumerating badness. Stop. Just stop. Escape everything at the boundary instead, enforced by the type system. You'll thank me later.

I know it might be obvious to you, and you always use properly parameterised SQL queries or whatever. This is not the norm everywhere! I still get arguments, long drawn out arguments from people convinced that this is unnecessary and just one more search & replace is all they need to be safe from the bad hackers.

Physicists (and mathematicians) are still making that argument against GA.

"It's isomorphic!"

"That isn't the point!"

[1] You can't convince someone to climb Everest if they struggled to hike up to the top of one of its foothills.

[2] Let me be crystal clear: They're spending their precious time on this Earth learning a dead language instead of learning about the law or bugs. No amount of arguments will sway me. The bugs don't care what you call them. Criminals are guilty or innocent whether or not you speak funny in court. You've just made a simple thing harder for no good reason, that is all. Please stop.

[3] Yes, I've seen this. Twice, from two different people whom have never met. Aliens are amongst us.

show 4 replies