Not a fan of the article. It resorts to ad hominem attacks like
> GA had gotten a bad reputation because of its tendency to attract bad mathematicians and full-on crackpots. Hestenes honestly sounds like one a lot of the time, and I’m not really sure whether he is or isn’t. It makes sense, really.
> GA ended up appealing to a lot of fringes: people who only had undergraduate degrees, people who had dropped out of PhDs, people with PhDs from unrigorous programs, people who had been good at math but were perhaps going a bit senile, random passerbies from engineering or computer programming, run-of-the-mill circle-squarers, people who had a bone to pick with establishment mathematics and felt like all dissenting views were being unfairly suppressed
> It didn’t help that a lot of the texts by the actually-competent GA people, like the Cambridge group, tended to say things that sounded and still sound kind of crackpotty as well.
After reading the article, the main "case against geometric algebra" I could find in there was that the author does not like the people using/doing research in geometric algebra, such as the ostensibly failed academics from a Cambridge research group [1] which the article links to.
I was expecting in the "An Actual Case Against GA" section that the author would demonstrate something like "Geometric Product actually does not work if you apply it to xyz domain". Rather, the section just ended up being mostly about the type of bikeshedding you see about naming of variables in programming.
There is I guess merit to the core "there is no good general interpretation or usage for the geometric product or mixed-grade multivectors" thesis of the article but calling other academics crackpots really subtracts from that message.
I meant it more as an assessment of the state of affairs, not as an ad hominem (I have no opinion about the people at all). IMO the crackpottery is impossible to ignore, and if you don't talk about it everyone feels like they're going crazy. It's a very widely-noticed thing that is distinct and bizarre compared to other parts of math.
Crackpot really has connotations like "flat earther" and "aliens built the pyramids". It's one thing to say "I believe GA proponents' claims regarding the usefulness of the geometric product are overstated". It's another to say "GA proponents are crackpots".
especially the part about duals -- made me feel like I was going crazy when I was trying to figure out degenerate metrics: every source deals with it in a slightly different (often sloppy) way; you're sure it all must be possible to resolve and get something beautiful and consistent, but not while you're trying to apply it to a specific problem you need to solve
It does starts to sound a bit like chortling about what a weird asshole Semmelweis is. ISTR to recall that US students of linguistics were slow to adopt the International Phonetic Alphabet because it North America it had become associated with elocutionists, and no proper academic linguist wanted to look like an elocutionist grubby.
> After reading the article, the main "case against geometric algebra" I could find in there was that the author does not like the people using/doing research in geometric algebra
Mathematics is a social activity. The research cultures of different branches matter.
How is the geometric product any less motivated than any other notation? Ultimately the value of a notation is how easy it makes it to work and think. I'm not sure if GA achieves that or not, but what's the harm in trying a new approach?
AFAIK nobody is proposing to replace all of geometry with GA, only 3+1 spacetime.
META: Pulling this out of its original context because I think more readers would find the code amusing. I am breaking the rules, but hopefully for a good/pardonable reason.
> 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.
I can give one counterexample.
I was asked to comment on a piece of code that did 2D geometry in Python. There was one piece that was a tangle of trigonometry to find the angular bisector of an angle subtended at the origin by two points.
Using the fact that points can be represented by complex numbers and that rotation is just multiplication one can make that function into a one liner.
sqrt(z1 * z2)
The geometric mean of the two points as represented by complex numbers gives you the bisector. Python has native support for complex numbers so all the computation is handled by the runtime.
This is like how one often wants to distinguish the points of an affine space from the vectors representing displacements in that space (there is no distinguished origin for the physical world, but there is a distinguished concept of zero displacement), such that one can add a vector to a point to get a point, or a vector to a vector to get a vector, but cannot add a point to a point to get another point. Yet it is meaningful to treat a linear combination of points in an affine space as yielding another point in the same space when the weights of the linear combination sum to 1.
The exact same thing is happening here, only multiplicatively, where z1^(1/2) * z2^(1/2) is like a linear combination with two weights of 1/2 (thus, summing to 1). It is geometrically meaningful to treat vectors in a plane as complex numbers, raise them to exponents summing to 1, and then multiply the result together to get another vector in the same plane. But it is not generally meaningful to just multiply one vector by another vector to get a third vector in the same plane (because this would require distinguishing some particular direction and magnitude as "1").
From a mathematician's point of view, yes, you should write the Maxwell field equations, at least to see it once, that way because you're showing a very low-level symmetry that even the differential forms approach doesn't get all the way to. Differential forms is a standard approach for general relativity, e.g. MTW.
I guess the people pushing this are a little pushy, but this reminds me of the whole pie fight over the Rust community. OK, so they're pushy. Nothing to do with the merits or demerits of the language (or of C for that matter).
If you're a baby duck about linear algebra and geometry, there's no need to care about different formalisms. Do whatever works. But it's interesting to see how all of this stuff comes together at different levels, whether it's the geometric product, differential forms, or just linear algebra.
> From a mathematician's point of view, yes, you should write the Maxwell field equations, at least to see it once, that way because you're showing a very low-level symmetry that even the differential forms approach doesn't get all the way to. Differential forms is a standard approach for general relativity, e.g. MTW.
While it's neat to write them all as one equation, I disagree that it's an enlightening perspective to learn. While it seems like writing Maxwell's equations in one equation instead of two is a step forward with even more symmetry, what is actually going on is that you are obscuring the most important part of Maxwell's equations: the gauge structure. Without this, it actually becomes much more hidden just how geometric electromagnetism is.
When you write Maxwell's equations as the pair `dF = 0`, `d*F = J`, the first of those two equations is exactly what tells you that this is a gauge theory, and thus may write `F = dA` where `A` is a vector potential. This vector potential then becomes the connection which defines a covariant derivative in a fibre bundle, and one then sees that charged particles follow geodesics now in spacetime, but in an enclosing fibre bundle. This is foundationally important to modern physics, and IMO obscured by writing Maxwell's equations as `∇F = J`
____
n.b. I'm not a particularly big fan of differential forms either, I think it leaves a lot to be desired, and it's super awkward to constantly have to pull out Hodge Duals every time you want to do something that involves the metric, but I'm also unconvinced that geometric algebra is the answer here.
What interests a mathematician isn't 100% the same as what interests the physicist. All I'm saying is there is some math there that's interesting and people should see it once for the math.
And then there are us engineers. I don't care much either way whether Maxwell's equations are ∇F = J or some other form, as long as it makes the problem easier to solve.
If I were in the GA Marketing Committee I'd publish a paper with suitably hand-picked worked examples where the vector approach is long and tedious, and GA version is short and sweet.
I guess I'd say my point though is that the gauge structure is the mathematically interesting part of Maxwell's equations. (i.e. the fact that `F` is a closed differential form).
Without it, I think it'd be of significantly less mathematical interest because it'd lose almost all of its geometric properties.
There isn't just ONE interesting facet of this. There isn't just ONE mathematical formalism of a lot of these things. GA is just one of those approaches and you should see it just once, just like you should see the group structure and all of that as well. For most applications, the standard vector calculus approach is fine. But the math underlying all of this is full of richness and no one approach is the skeleton key.
Same with programming languages. Some people are like RUST RUST RUST and some are like C C C! I'm like, you guys only use one language?
The space time approach with E as t wedge x and B as x wedge y is purely linear algebra, not differential forms.
As opposed to the weird GA form it actually makes the physically most meaningful symmetry (Lorentz transformations) explicit. That's why it's actually used in Physics.
Anti symmetric space time tensors are the absolute standard. Further formulations that reveal other aspects, dualities, symmetries are much more niche and specialized subjects and not how the subject should be taught when first encountering it.
Note that by introducing the co-differential δ, you can write the Maxwell equations as a single expression (δ + d)F = J in the differential forms approach.
However, from the perspective of Yang-Mills theory, that's rather questionable as you're stitching together the Bianchi identity and the Yang-Mills equation for no particular reason.
The basic issue with geometric algebra is that geometric vectors generally do not have a distinguished notion of unit magnitude (is unit magnitude 1 meter? 1 mile? 1 inch?), so it is silly to work in a framework that requires pretending they do (since the definition of the geometric product of two vectors is dependent upon this choice). Dimensional analysis (a very handy way of tracking mathematical symmetries and thus sanity checking results) goes out the window when working with mixed grade multivectors.
This is not an issue when working with non-mixed-grade multivectors, for which dimensional analysis works just fine in the ordinary way. As the linked article notes, exterior algebra/the wedge product is great. Thinking about exterior powers of vector spaces is great. It's the further move of forcing everything into a Procrustean bed of Clifford algebra that is misguided for almost any application other than some spinor stuff.
100 percent agree with the article. Wedge products are fundamental, GA is weird ideology.
I had the bad fortune of reviewing some GA research articles once upon a time. It was almost embarrassing. Everything of substance had been published in a conceptually cleaner bivector language previously. The only "contribution" was writing everything in terms of weirder, more convoluted concepts that contributed neither technical clarity nor conceptual parsimony.,
> It was already widely understood that projective geometry allowed one to represent rotations and translations in R^3
with a single linear operator on R^4.
I think it's projection operators (in linear algebra) that allow one to do that, not projective geometry [1]. The latter, AIUI, studies projective spaces and projective transformations on them (which differ from vector spaces and their transformations by including "points at infinity"), contains no concepts of length or angle (and therefore no equivalent of translations and rotations) and is in some sense "geometry with only the straightedge, no compass".
Curious if I'm just missing something there, though. I'm no expert on any of this.
As you say, projections and rotations are easily accounted for in linear algebra. The issue is that translations are not a linear transformation. For instance, consider f(x) = 2 + x. It's certainly not the case that f is linear -- that is, that f(cx + y) = c f(x) + f(y) -- because on the one hand we'd expect 2 + cx + y, and on the other we'd expect (2 + cx) + (2 + y), which is 4 + cx + y.
However, translation is an affine transformation, which is a particular case of a projective transformation [0]. It turns out that we can represent 3D affine (and general projective) transformations using a 4x4 matrix -- that is, as linear transformations in one dimension up, in a similar sense as how we can represent complex numbers as particular 2x2 matrices [1]. So yes, projective geometry is the right theoretical lens, even if we're usually able to forget about it (somewhat) when we use matrix representations.
Ah, interesting. I see "homogeneous coordinates" are covered later in the book I've just started reading (Projective Geometry, Coxeter) as a way of representing projective space. I think that's the link I couldn't see.
It's one and the same, or rather, one is a special case of the other.
The homogeneous coordinate system used to represent affine transforms in R^n using linear transforms in R^(n+1) is exactly the same as what is used to represent projective transforms in the projective space P(R^n). This is famously exploited in 3D graphics where 4x4 matrices can represent linear and affine transforms and perspective projections (modulo the final w-division normalization step).
Affine transforms are a special case of projective transforms where the last row (or column depending on convention) vector is (0, ..., 0, 1).
Those quadratic forms loop in some nice structure for modeling all kinds of geometric problems with high level control that's hard to articulate so concisely otherwise. Conformal geometric algebra is awesome to work with, have you tried it?
But mostly the broad strokes points about the community are exactly the kind of hostility that makes geometric algebra communities so refreshing for curious young people. Geometric algebra is a welcoming pedagogy and community as much as it is a mathematical framework. If only mathematics as a whole was more welcoming.
I started out on with shaky linear algebra despite years of undergraduate education, but plenty of curiosity and intuition. The geometric algebra community schooled me and me prepared me for all kinds of "real math".
Yes the attitude that geometric algebra is the best language for everything is misguided and welcomes a lot of confusion, but most serious geometric algebra people I've met don't actually think that or say that. They're just off doing cool stuff.
It's a very fun framework when you're learning it. It constantly feels like you're learning something extremely profound and useful, but I've also found that feeling to be a bit of a mirage.
Despite trying many times to make greater use of it, I've found that it often just makes a lot of actual physics work less clear, and with very little practical benefit.
There's times where it affords quite pretty notation, but often you have to actually unpeel all that notation before you actually do something with it. And what's the point of nice notation if none of your colleagues can even read it? The only time I ever really found that GA was actually a benefit to me was performing rotations.
Is there another mathematician (likely an analyst) out there that finds this debate even more absurd with the existence of geometric measure theory? GMT bypasses all of these algebraic constructions; it finds very similar objects (currents and varifolds), but it just makes more sense to me. I never found the exterior algebra (or the Clifford algebra) to be a natural way of thinking geometrically. I do not agree that the exterior product is more natural than Jacobians and determinants. I was relieved to find that GMT cut through all of it at higher generality, at least for my purposes anyway. I don't think this belief is shared by many, since GMT is apparently notoriously incomprehensible, but hey, maybe there's someone else out there?
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 it doesn't mean it's necessarily 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.
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
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.
> 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.
I get why it is interesting and useful to write complex numbers in '+' notation rather than the conventional way to denote a 2d vector. Th benefit is that multiplication and distributive property is a beauty in the '+' notation, no special rules need to be memorized for multiplying 2d vectors, i*i = -1 takes care of it.
On the other hand I never understood what the benefit, of writing the tuple of wedge and dot products like that, is.
Perhaps I am not being fair, that it is the same idea and I have not used it as much as I have used complex numbers.
More or less agreed. I think though that one reason the geometric product is so tempting is that if you take matrix representations of all of these objects, then the geometric product is literally just straightforward matrix multiplication.
Because of that, it just becomes so tempting to try and phrase everything you can in terms of this geometric product. I'm very sympathetic to the temptation, and I even think the geometric product has some great uses (it shows up a lot in some physics I do), and using it makes writing rotations a treat, but I think it's still vastly overemphasized by GA people.
I still don't really know what my favoured notation for differential geometry is, I find myself switching around so much.
Interesting. To summarize your argument: the current state of Algebra is like an 80 point solution, but to push it a few points higher requires an enormous cognitive load, and the question is whether that's really worth it, even from an educational perspective. As mentioned in another comment, this is exactly the kind of issue that comes up in Rust discussions. It seems the argument from the GA camp is that top tier mathematicians are already using these tools just fine without needing to talk about it in that way, so there's no reason for it to become general purpose. Thank you for explaining it in a way that's easy to understand. But on the other hand, maybe anomalies like these could actually become generally useful concepts. Thanks for the comment. upvoted!
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.
We run into these kinds of issues quite often. I also majored in physics, but unlike you, I dropped out of my master's program (I just didn't have the talent. Given my generally limited intelligence, it was probably an inevitable outcome). From what I've read, the article seems to be arguing against the claim that because so many anomalies have accumulated in the field of GA, it's now ready to become a general purpose tool. Your argument appears to be that GA has been nicely organized as a standard library, essentially defining invalid states. So it's a high level abstraction perspective, but on the other hand, I think it could also be framed as a case against excessive abstraction. Interesting
How dare you remove all that assembly code and write in a higher level abstractions and dream of a compiler that will write the assembly from the higher level description.
That said, we do not have, or I am not aware of such a compiler that can match the decades of optimization of linear algebraic routines.
And my comment ended up being pretty long, so I will TL;DR it:
1. The social critique doesn’t match my experience and seems under-supported?
2. The technical critique is interesting, looks like a mix of good points, and some that need more work put into it. I think GA is legitimately cool in my opinion, but if there are better abstractions, we should find/define them and use them.
Longer version:
I hear people bring up the conspiracy/crackpot side of GA a lot, but I learned about Geometric Algebra a few years ago and am currently learning it alongside standard linear algebra.
I think GA is pretty cool. The author seems to have some decent points about its limitations and some ontological smells (like, maybe there is a cleaner representation hiding somewhere). But a lot of the criticism is aimed at the social side of the movement, and maybe I am just blind to it, but I have not really run into that much.
The author says things like:
Basically, GA is considered a kooky, crackpotty sideshow. And because it is so dubious and un-self-aware, the movement ends up alienating most people, except for a particular type of… zealous individual… who write about it with a sort of pseudoreligious zeal, and are prone to conspiracy, as if the only reason GA is not mainstream is that they are being oppressed by close-minded traditionalism.
and:
In practice GA always refers to the particular platform and social movement which descends from the work of David Hestenes from the 1960s. It specifically does not refer to the underlying material of Clifford Algebras
Maybe this is true in some parts of the internet or in some older discourse, but from the material I have read, people seem pretty explicit about the roots of Geometric Algebra.
Trying to build a unifying framework seems pretty normal to me. Lots of math is trying to expose common structure across different domains. Category theory, abstract algebra, topology, and, to a much bigger extent, the Langlands program all have that flavor. Obviously some unifications are more successful than others, but “this gives a unified language for a bunch of things” does not seem like a red flag by itself.
Some of the actual technical criticisms of GA are interesting, e.g. the proliferation of operations, but at this point I'm more interested in a formal accounting of the complexity of both theories rather than opinions or vibes. It would be nice to have description-length / complexity-accounting comparison of the formalisms.
Disclaimer: I have not read Hestenes’s original work, so maybe I am missing some of the historical baggage. But the modern resources I have seen seem mostly grounded in their claims.
I'm also learning both GA and linear algebra at the same time, GA has definitely helped me understand the linear algebra more deeply. In my opinion, alternative representations like GA gives your brain more structure to grab onto, even if they aren't perfect.
Also... math pedagogy does have a lot of inertia that hurts students. Doesn't Lockhart's Lament famously resonate with anyone who fell in love with math?
> GA had gotten a bad reputation because of its tendency to attract bad mathematicians and full-on crackpots. Hestenes honestly sounds like one a lot of the time, and I’m not really sure whether he is or isn’t. It makes sense, really.
> GA ended up appealing to a lot of fringes: people who only had undergraduate degrees, people who had dropped out of PhDs, people with PhDs from unrigorous programs, people who had been good at math but were perhaps going a bit senile, random passerbies from engineering or computer programming, run-of-the-mill circle-squarers, people who had a bone to pick with establishment mathematics and felt like all dissenting views were being unfairly suppressed
> It didn’t help that a lot of the texts by the actually-competent GA people, like the Cambridge group, tended to say things that sounded and still sound kind of crackpotty as well.
After reading the article, the main "case against geometric algebra" I could find in there was that the author does not like the people using/doing research in geometric algebra, such as the ostensibly failed academics from a Cambridge research group [1] which the article links to.
I was expecting in the "An Actual Case Against GA" section that the author would demonstrate something like "Geometric Product actually does not work if you apply it to xyz domain". Rather, the section just ended up being mostly about the type of bikeshedding you see about naming of variables in programming.
There is I guess merit to the core "there is no good general interpretation or usage for the geometric product or mixed-grade multivectors" thesis of the article but calling other academics crackpots really subtracts from that message.
[1] https://corde.phy.cam.ac.uk/
especially the part about duals -- made me feel like I was going crazy when I was trying to figure out degenerate metrics: every source deals with it in a slightly different (often sloppy) way; you're sure it all must be possible to resolve and get something beautiful and consistent, but not while you're trying to apply it to a specific problem you need to solve
Mathematics is a social activity. The research cultures of different branches matter.
The start of the article makes a specific technical claims:
> Hestenes’ Geometric Product is not a very good operation and we should not be rewriting all of geometry in terms of it
Later he explains why:
> there is no good general interpretation or usage for the geometric product or mixed-grade multivectors
AFAIK nobody is proposing to replace all of geometry with GA, only 3+1 spacetime.
> 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.
I can give one counterexample.
I was asked to comment on a piece of code that did 2D geometry in Python. There was one piece that was a tangle of trigonometry to find the angular bisector of an angle subtended at the origin by two points.
Using the fact that points can be represented by complex numbers and that rotation is just multiplication one can make that function into a one liner.
The geometric mean of the two points as represented by complex numbers gives you the bisector. Python has native support for complex numbers so all the computation is handled by the runtime.The exact same thing is happening here, only multiplicatively, where z1^(1/2) * z2^(1/2) is like a linear combination with two weights of 1/2 (thus, summing to 1). It is geometrically meaningful to treat vectors in a plane as complex numbers, raise them to exponents summing to 1, and then multiply the result together to get another vector in the same plane. But it is not generally meaningful to just multiply one vector by another vector to get a third vector in the same plane (because this would require distinguishing some particular direction and magnitude as "1").
I guess the people pushing this are a little pushy, but this reminds me of the whole pie fight over the Rust community. OK, so they're pushy. Nothing to do with the merits or demerits of the language (or of C for that matter).
If you're a baby duck about linear algebra and geometry, there's no need to care about different formalisms. Do whatever works. But it's interesting to see how all of this stuff comes together at different levels, whether it's the geometric product, differential forms, or just linear algebra.
While it's neat to write them all as one equation, I disagree that it's an enlightening perspective to learn. While it seems like writing Maxwell's equations in one equation instead of two is a step forward with even more symmetry, what is actually going on is that you are obscuring the most important part of Maxwell's equations: the gauge structure. Without this, it actually becomes much more hidden just how geometric electromagnetism is.
When you write Maxwell's equations as the pair `dF = 0`, `d*F = J`, the first of those two equations is exactly what tells you that this is a gauge theory, and thus may write `F = dA` where `A` is a vector potential. This vector potential then becomes the connection which defines a covariant derivative in a fibre bundle, and one then sees that charged particles follow geodesics now in spacetime, but in an enclosing fibre bundle. This is foundationally important to modern physics, and IMO obscured by writing Maxwell's equations as `∇F = J`
____
n.b. I'm not a particularly big fan of differential forms either, I think it leaves a lot to be desired, and it's super awkward to constantly have to pull out Hodge Duals every time you want to do something that involves the metric, but I'm also unconvinced that geometric algebra is the answer here.
If I were in the GA Marketing Committee I'd publish a paper with suitably hand-picked worked examples where the vector approach is long and tedious, and GA version is short and sweet.
Without it, I think it'd be of significantly less mathematical interest because it'd lose almost all of its geometric properties.
Same with programming languages. Some people are like RUST RUST RUST and some are like C C C! I'm like, you guys only use one language?
As opposed to the weird GA form it actually makes the physically most meaningful symmetry (Lorentz transformations) explicit. That's why it's actually used in Physics.
Anti symmetric space time tensors are the absolute standard. Further formulations that reveal other aspects, dualities, symmetries are much more niche and specialized subjects and not how the subject should be taught when first encountering it.
https://en.wikipedia.org/wiki/Covariant_formulation_of_class...
However, from the perspective of Yang-Mills theory, that's rather questionable as you're stitching together the Bianchi identity and the Yang-Mills equation for no particular reason.
This is not an issue when working with non-mixed-grade multivectors, for which dimensional analysis works just fine in the ordinary way. As the linked article notes, exterior algebra/the wedge product is great. Thinking about exterior powers of vector spaces is great. It's the further move of forcing everything into a Procrustean bed of Clifford algebra that is misguided for almost any application other than some spinor stuff.
I had the bad fortune of reviewing some GA research articles once upon a time. It was almost embarrassing. Everything of substance had been published in a conceptually cleaner bivector language previously. The only "contribution" was writing everything in terms of weirder, more convoluted concepts that contributed neither technical clarity nor conceptual parsimony.,
> It was already widely understood that projective geometry allowed one to represent rotations and translations in R^3 with a single linear operator on R^4.
I think it's projection operators (in linear algebra) that allow one to do that, not projective geometry [1]. The latter, AIUI, studies projective spaces and projective transformations on them (which differ from vector spaces and their transformations by including "points at infinity"), contains no concepts of length or angle (and therefore no equivalent of translations and rotations) and is in some sense "geometry with only the straightedge, no compass".
Curious if I'm just missing something there, though. I'm no expert on any of this.
[1] https://en.wikipedia.org/wiki/Projective_geometry
However, translation is an affine transformation, which is a particular case of a projective transformation [0]. It turns out that we can represent 3D affine (and general projective) transformations using a 4x4 matrix -- that is, as linear transformations in one dimension up, in a similar sense as how we can represent complex numbers as particular 2x2 matrices [1]. So yes, projective geometry is the right theoretical lens, even if we're usually able to forget about it (somewhat) when we use matrix representations.
[0]: https://en.wikipedia.org/wiki/Affine_transformation#Represen...
[1]: https://en.wikipedia.org/wiki/Complex_number#Matrix_represen...
Thanks!
The homogeneous coordinate system used to represent affine transforms in R^n using linear transforms in R^(n+1) is exactly the same as what is used to represent projective transforms in the projective space P(R^n). This is famously exploited in 3D graphics where 4x4 matrices can represent linear and affine transforms and perspective projections (modulo the final w-division normalization step).
Affine transforms are a special case of projective transforms where the last row (or column depending on convention) vector is (0, ..., 0, 1).
But mostly the broad strokes points about the community are exactly the kind of hostility that makes geometric algebra communities so refreshing for curious young people. Geometric algebra is a welcoming pedagogy and community as much as it is a mathematical framework. If only mathematics as a whole was more welcoming.
I started out on with shaky linear algebra despite years of undergraduate education, but plenty of curiosity and intuition. The geometric algebra community schooled me and me prepared me for all kinds of "real math".
Yes the attitude that geometric algebra is the best language for everything is misguided and welcomes a lot of confusion, but most serious geometric algebra people I've met don't actually think that or say that. They're just off doing cool stuff.
Despite trying many times to make greater use of it, I've found that it often just makes a lot of actual physics work less clear, and with very little practical benefit.
There's times where it affords quite pretty notation, but often you have to actually unpeel all that notation before you actually do something with it. And what's the point of nice notation if none of your colleagues can even read it? The only time I ever really found that GA was actually a benefit to me was performing rotations.
That reminds me, I’ve been meaning to rewrite parts of Hormander’s epic with tools from GMT but never found the time.
> 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.
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
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.
What makes you say that?
> 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.
On the other hand I never understood what the benefit, of writing the tuple of wedge and dot products like that, is.
Perhaps I am not being fair, that it is the same idea and I have not used it as much as I have used complex numbers.
Because of that, it just becomes so tempting to try and phrase everything you can in terms of this geometric product. I'm very sympathetic to the temptation, and I even think the geometric product has some great uses (it shows up a lot in some physics I do), and using it makes writing rotations a treat, but I think it's still vastly overemphasized by GA people.
I still don't really know what my favoured notation for differential geometry is, I find myself switching around so much.
Yep, me too. Maybe someday the HoTT folks will get around to formalizing it and standardizing the notation. /j
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.
That said, we do not have, or I am not aware of such a compiler that can match the decades of optimization of linear algebraic routines.
And my comment ended up being pretty long, so I will TL;DR it:
1. The social critique doesn’t match my experience and seems under-supported?
2. The technical critique is interesting, looks like a mix of good points, and some that need more work put into it. I think GA is legitimately cool in my opinion, but if there are better abstractions, we should find/define them and use them.
Longer version:
I hear people bring up the conspiracy/crackpot side of GA a lot, but I learned about Geometric Algebra a few years ago and am currently learning it alongside standard linear algebra.
I think GA is pretty cool. The author seems to have some decent points about its limitations and some ontological smells (like, maybe there is a cleaner representation hiding somewhere). But a lot of the criticism is aimed at the social side of the movement, and maybe I am just blind to it, but I have not really run into that much.
The author says things like:
and: Maybe this is true in some parts of the internet or in some older discourse, but from the material I have read, people seem pretty explicit about the roots of Geometric Algebra.Trying to build a unifying framework seems pretty normal to me. Lots of math is trying to expose common structure across different domains. Category theory, abstract algebra, topology, and, to a much bigger extent, the Langlands program all have that flavor. Obviously some unifications are more successful than others, but “this gives a unified language for a bunch of things” does not seem like a red flag by itself.
Some of the actual technical criticisms of GA are interesting, e.g. the proliferation of operations, but at this point I'm more interested in a formal accounting of the complexity of both theories rather than opinions or vibes. It would be nice to have description-length / complexity-accounting comparison of the formalisms.
Disclaimer: I have not read Hestenes’s original work, so maybe I am missing some of the historical baggage. But the modern resources I have seen seem mostly grounded in their claims.
I'm also learning both GA and linear algebra at the same time, GA has definitely helped me understand the linear algebra more deeply. In my opinion, alternative representations like GA gives your brain more structure to grab onto, even if they aren't perfect.
Also... math pedagogy does have a lot of inertia that hurts students. Doesn't Lockhart's Lament famously resonate with anyone who fell in love with math?
[PDF Warning] https://worrydream.com/refs/Lockhart_2002_-_A_Mathematician%...