9 ms·
Geometric Algebra for Python
- nikivi 6y agoWhat are the applications of Geometric Algebra aside from computer graphics?
- ogogmad 6y agoThere have been attempts to use it in physics, mainly as a way of unifying the various formalisms that get used there: http://geocalc.clas.asu.edu/html/Overview.html http://geocalc.clas.asu.edu/html/Overview.html
- emmanueloga_ 6y agoFrom a paper (out of a quick google search) [1]: * neural computing * image and signal processing * computer and robot vision * control problems 1: https://arxiv.org/pdf/1305.5663.pdf https://arxiv.org/pdf/1305.5663.pdf
- dbcurtis 6y agoI have also seen some work on doing collision checking for robot arm kinematics -- which is a rather nasty problem when done the traditional way. [edit to add] Also all the classic RF transmission line problems that one would normally solve with Smith Chart techniques map fairly elegantly onto GA(2)
- enkimute 6y agoThe GAME2020 event (Geometric Algebra Mini Event) showcased applications in graphics, physics, robotics, neural networks, mathematics. The lectures (from Cambridge, UVA, UPEM, TU Delft, ..) are all available here : https://www.youtube.com/playlist?list=PLsSPBzvBkYjzcQ4eCVAntETNNVD2d5S79 https://www.youtube.com/playlist?list=PLsSPBzvBkYjzcQ4eCVAnt...
- SiempreViernes 6y ago"Mini Event" = several 1 hour long talks Was hoping for more (time wise) digestible introductions.
- sago 6y agoIt's great to see some geometric algebra. But I'm not quite sure what the package is for. 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†. 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. So my long-standing problem with geometric algebra in software engineering has been... why? A frustration because it is a lot of fun. My (imho) advice if you find it fun: you can write your own version in an evening. --- † 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.
- DreamScatter 6y agoIt provides a unified language for many areas of mathematics, which would need to be studied separately without GA. Also, with the GA toolbox, things become much more clear and better to understand.
- dbcurtis 6y agoA few months back I did a few experiments with this package. It allows GA-ish notation in a Python script by providing GA types and operators. It this didn't exists, you would want to write it yourself, and probably do is far less well. I can't speak to performance. I was using it as a GA interactive calculator while I tried to wrap my mind around GA.
- apricot 6y ago> I remember that temptation to buy a book, as if that was how you acquired some knowledge. yeah... what foolish things we believed 20 years ago... (tries not to look at the large pile of books accumulating dust in the corner of the room)
- francasso 6y agoI 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)
- greggman3 6y agoAFAICT the proponents of GA claim it explains lots of things that don't make a whole lot of sense without it. One example is why you multiply normals by the world_inverse_tranpose. Apparently the reason is because normals are actually bivectors, not directional vectors as they are usually explained. another is that at least in code, they apparently solve lots of issues that other methods don't See: https://marctenbosch.com/quaternions/ https://marctenbosch.com/quaternions/ https://marctenbosch.com/quaternions/code.htm https://marctenbosch.com/quaternions/code.htm and: https://bivector.net/ https://bivector.net/ and https://www.youtube.com/watch?v=tX4H_ctggYo https://www.youtube.com/watch?v=tX4H_ctggYo
- MiroF 6y ago> One example is why you multiply normals by the world_inverse_tranpose I know linear algebra but I have no idea what the heck this means. Is this a gaming thing?
- sixo 6y agoComputer graphics. When transforming a coordinate system by a linear transformation represented by a matrix, normal vectors to surfaces transform differently than regular vectors. GA/exterior algebra explains this: the useful thing we call normals is represented by the same data (a 3d vector) but actually has to have a a different "type" to make sense. In higher dimensions they are not interchangeable with vectors.
- markisus 6y agoIf 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) https://github.com/markisus/g3 https://github.com/markisus/g3
- hugohadfield 6y agoHi 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 https://www.youtube.com/watch?v=bj9JslblYPU https://www.youtube.com/watch?v=bj9JslblYPU
- dbcurtis 6y agoA few months back I made an effort to learn GA. I did get some traction, but eventually shelved the effort. The thing that put me off is that no one could explain how to do units analysis in GA. I am mainly interested in physics and engineering applications, especially robotics and also RF engineering to some extent. Without being able to see how dimensions combine in GA, I have zero confidence in the correctness of my results. Arithmetic without dimensional analysis is not physics. Full. Stop. So, if you could point to any resources that show how to properly dimension GA values, and how GA operators combine dimensions, that would get me started on GA again.
- jacobolus 6y agoThe units work just how you’d expect; as far as I can tell there’s nothing new or unique about units in GA. If you multiply two vectors with units of meters, you get a scalar + a bivector, both with units of square meters. If you divide two vectors with units of meters, you get a scalar + a bivector which are both dimensionless. Etc.
- sixo 6y agoWhat are units of the geometric product of two vectors? Edit: didn't read clearly. Better question is why would we want to have a scalar with units of square meters in this case? Shouldn't 0-grade objects all have the same units?
- jacobolus 6y agoAs I said, the units of the geometric product of two vectors (which if you like can be broken into the sum of a scalar part + a bivector part, each with the same units) will be the product of the units of each vector.
- OneGuy123 6y agoGeometric Algebra is useful because it's a generalization of complex number and quaternions. It explains complex numbers and quaternions intuitively.
- gugagore 6y agoI agree with the first sentence. But I don't think it's intuitive to learn about complex numbers through GA. Complex numbers are a great jumping-off point to learn GA since it is simple and most people eventually accept that the imaginary unit squares to -1, and because complex numbers have a striking geometric interpretation. But I feel almost certain that people should learn about the special case of complex numbers before they ever learn about geometric algebra.
- adamnemecek 6y agoYou should check out the bivector community https://bivector.net/ https://bivector.net/. Join the discord https://discord.gg/vGY6pPk https://discord.gg/vGY6pPk. Check out a demo https://observablehq.com/@enkimute/animated-orbits https://observablehq.com/@enkimute/animated-orbits
- DreamScatter 6y agoPlease check out my geometric algebra software at https://github.com/chakravala/Grassmann.jl https://github.com/chakravala/Grassmann.jl
- laurentoget 6y agoI find it fascinating that geometric algebra and algebraic geometry are two distincts and totally different things and i wonder which term came first.
- DreamScatter 6y agohaha, well they are both probably about equally old i believe.. i think the two topics can be inter-related, but they are indeed separate areas of study with different emphasis, and I don't believe that many algebraic geometers know about the geometric algebra historically, since GA was quite obscure and hard to utilize until computer algebra made it easier
- laurentoget 6y agowhereas AG is just as obscure and hard to utilize, even with a computer...
- Scene_Cast2 6y agoI 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) Is there a way to use Geometric Algebra for higher dimensions?
- hugohadfield 6y agoHigh dimensional GAs are a relatively hot topic of research but something we haven't aimed to target with this library (mostly because its not our main research area). My personal preference for working with high d algebras would be Stéphane Breuils and Vincent Nozick's GARAMON library (https://github.com/vincentnozick/garamon https://github.com/vincentnozick/garamon) (https://link.springer.com/article/10.1007/s00006-019-0987-7 https://link.springer.com/article/10.1007/s00006-019-0987-7), it is efficient and easy to use, and the authors are very friendly and helpful. You could also try out TbGAL (https://github.com/Prograf-UFF/TbGAL https://github.com/Prograf-UFF/TbGAL), I haven't used it myself but the work of the Leandro Fernandes is typically high quality.
- DreamScatter 6y agoMy package called Grassmann.jl offers somewhat higher dimensional algebras than the python package here: https://github.com/chakravala/Grassmann.jl https://github.com/chakravala/Grassmann.jl