5 ms·
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 l
by WoahNoun 6y ago
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.
- adamnemecek 6y ago> 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.
- WoahNoun 6y ago> 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.
- adamnemecek 6y agoClifford algebra is definitely not common. And when you say introduced, what do you mean by that? How much time was spent on it?
- WoahNoun 6y agoThey 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.
- jacobolus 6y agoAlgebraic 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.
- WoahNoun 6y agoThe 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.
- adamnemecek 6y agoHow many differential geometry implementations do you know?
- jacobolus 6y ago> 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/ 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 https://arxiv.org/abs/1205.5935
- adamnemecek 6y agoOk but how much time did you spend on them?
- modeless 6y ago> 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.
- thechao 6y agoI’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.
- modeless 6y agoClearly the generic n-dimensional GA libraries out there have little use for real time graphics, but projects like https://www.jeremyong.com/klein/ https://www.jeremyong.com/klein/ that are specialized to 3D with a focus on efficiency look promising.
- thechao 6y agoThis is fantastic; thank you!
- WoahNoun 6y agoDepends 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.
- deleted 6y ago[deleted]