Hacker News new | past | comments | ask | show | jobs | submit login

I feel like geometric algebra is an entry point for programmers to higher level mathematics. But GA itself isn't actually that interesting or useful. It's not like GA is being used to prove new math theorems or new calculations. But I do like being able to talk about >3 dimensional geometry with more people so that's a win. It's almost like GA is a marketing pitch for Grassmannians/Flag Manifolds/Clifford Algebras.



> But GA itself isn't actually that interesting or useful. It's not like GA is being used to prove new math theorems or new calculations

That's hardly the only definition of usefulness. I haven't used it yet but based on what I've read GA will be extremely useful in 3D graphics coding by unifying representations for previously distinct concepts and by providing formulas for common tasks with fewer special cases.


I’m a huge GA fan, but until really sophisticated compile-time algorithms can aggressively reduce the computations it won’t be useful for graphics anytime soon. For instance, the “proper” GA setting is 5d conformal, which requires 32x32 matrix computations. The standard operation is “multiply” (even for translation!); that takes an operation from 4 ops to ... 32k ops.


Clearly the generic n-dimensional GA libraries out there have little use for real time graphics, but projects like https://www.jeremyong.com/klein/ that are specialized to 3D with a focus on efficiency look promising.


This is fantastic; thank you!


Depends on your definition of calculation. From what I've seen so far, the simplifications that GA makes are mostly on the symbolic side. That is, it makes the written equations more compact. But the math "under the hood" is the same. So I don't see how that would yield anything useful from a computing sense. Might make the programming easier to think about in a way similar to monads in Haskell/functional languages.


> It's not like GA is being used to prove new math theorems or new calculations.

Maybe the problem isn't with GA but with the fact that few people know about it?

I think that people use GA and Clifford algebra interchangeably.


> few people know about it

Grassmannians, Flag Manifolds, and Clifford Algebra were all introduced in my undergrad math degree. I think it's just CS people who are hyping GA up.


Clifford algebra is definitely not common. And when you say introduced, what do you mean by that? How much time was spent on it?


They were motivating examples of both the Algebraic Geometry and Differential Geometry courses that I took. They were used in multiple homework/exam problems in those courses. And I didn't go to some fancy private school, this was senior level math classes at a flagship public state school in the south.


Algebraic geometry / differential geometry are both treated as “sophisticated”, “advanced” subjects. They typically require high-level preparation (several years of pure math courses as prerequisites) and are taught in an extremely abstract way, often are deferred to grad school, and are seldom if ever taught to non-math-major undergraduates.

But geometric algebra, a.k.a. real Clifford algebra (“geometric algebra” was Clifford’s own name for it), can easily be taught to high school students in a very simple concrete way, and then used throughout science/engineering/computing courses aimed at non-math-majors. It can unify and simplify the wide variety of other mathematical formalisms that are used throughout undergraduate technical curricula. It is straight-forward to implement in a computer, and it makes calculations much easier to write down.


The way GA is promoted by the non-math world does not unify mathematical formalisms. I've yet to see a GA implementation that does more than reimplement rotations/quaternions.


> I've yet to see [...]

Most implementations I have seen do much more than quaternions. How hard did you look?

Here’s an example you can play with in a browser, https://enkimute.github.io/ganja.js/

But what is implemented in computers is not 1:1 with the algebraic tools that can be profitably employed to solve geometry problems symbolically. GA is a rich language full of useful tools which can describe/model many kinds of problems.

Coming from a math background, let me recommend you start with https://arxiv.org/abs/1205.5935


How many differential geometry implementations do you know?


Ok but how much time did you spend on them?




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: