Hi everyone, I'm Hugo one of the maintainers of this package, glad to see lots of interest! If anyone is interested in some of the applications of GA in robotics etc then check out the talk Eric and I gave at GAME2020 back in February <a href="https://www.youtube.com/watch?v=bj9JslblYPU" rel="nofollow">https://www.youtube.com/watch?v=bj9JslblYPU</a>
I don't understand the "geometric algebra" goal. The people that I've seen pushing for it usually say kids in high school are being taught the wrong thing, we should do away with the cross product and start teaching this geometric algebra. I'm not too familiar with the content, but to a superficial look it seems they are just using exterior algebras and (maybe?) clifford algebras? Assuming that is the case then why the rebranding (and sometime change of standard notation) to "geometric algebra" for concepts that already had a name at the end of the nineteenth century
(that is bound to piss the general math community off)? Also why are people so against teaching the cross product? There are many reasons why Hodge duality is important, not just in abstract math but also in physics (it enables the most geometric definition of Maxwell equations for example)
It's great to see some geometric algebra.<p>But I'm not quite sure what the package is for.<p>Is it for playing with geometric algebra? It is really rather simple to implement geometric algebra. As easy as understanding the internals of this package (which is not small for what it does). And in some ways a necessity for understanding the math. Like I wouldn't expect someone to just use quaternions and matrices to do 3-D, without learning how a matrix or quaternion multiplies. And I wouldn't start with a package of dozens and dozens of files in multiple directories, with a ton of inter-imports†.<p>So I'm assuming the package is for practical use, so it will be nice to see what they envisage it for. The only example is a single trivial operation. I'm aware it can be used for quantum physics. But my experience has been 3-D graphics. And there it is very meh.<p>So my long-standing problem with geometric algebra in software engineering has been... why? A frustration because it is a lot of fun.<p>My (imho) advice if you find it fun: you can write your own version in an evening.<p>---<p>† I wonder if packages are equivalent of books 20 years ago. I remember that temptation to buy a book, as if that was how you acquired some knowledge. I was guilty of that so many times. Now, want to get geometric algebra? There is a package for that.
You should check out the bivector community <a href="https://bivector.net/" rel="nofollow">https://bivector.net/</a>.<p>Join the discord <a href="https://discord.gg/vGY6pPk" rel="nofollow">https://discord.gg/vGY6pPk</a>.<p>Check out a demo <a href="https://observablehq.com/@enkimute/animated-orbits" rel="nofollow">https://observablehq.com/@enkimute/animated-orbits</a>
I work with ML. Even a dense vector can be relatively high-dimensional (something like 128-D is common)
I'd love to use Geometric / Clifford algebra for rotations of these vectors; the notation is much more intuitive. However, last time I tried using this library, it insists on generating all the N-vectors, of which there's a combinatoral amount w.r.t. the number of dimensions. For rotations, I really only need bivectors (IIRC)<p>Is there a way to use Geometric Algebra for higher dimensions?
If anyone wants to play around with the geometric algebra over R^3 in C++, I wrote a little library a while back which handles vectors (3d), quaternions (4d), bivectors (3d, quaternions without the scalar part), multivectors (8d)<p><a href="https://github.com/markisus/g3" rel="nofollow">https://github.com/markisus/g3</a>
Please check out my geometric algebra software at <a href="https://github.com/chakravala/Grassmann.jl" rel="nofollow">https://github.com/chakravala/Grassmann.jl</a>
Geometric Algebra is useful because it's a generalization of complex number and quaternions.<p>It explains complex numbers and quaternions intuitively.