Hacker News new | ask | show | jobs
by hugohadfield 2331 days ago
I agree with a lot of what you have said here about GAs ease of use for newcomers, people change notation continuously across papers and there is a lack of material to go from nice basic theory and examples to practical applications. I started using the Clifford package https://clifford.readthedocs.io/en/latest/ because it was one of the only GA libraries that actually had documentation (thanks to Alex Arsenovic) and I could work out how to use as well as interfacing with numpy and the rest of the scipy stack. Documentation across all libraries is definitely still a problem and the difficult learning curve is compounded by the fact that there are basically no undergrad courses on GA (I know of only one in the world atm at the BNU Brno taught by Petr Vasik) and most of the existing material is targeted at mathematicians or physicists. Leo Dorst's Geometric Algebra for computer science does attack a lot of practical problems and is definitely worth digging into, as are the various PhD theses which focus on GA (I like the ones of Rich Wareham, Andreas Aristodou and Pablo Colapinto a lot) and the book Geometric Algebra in Practice but generally we have no practical hackers guide to GA yet. To try and address the lack of available material I started working on adding example practical GA algorithm implementations to the Clifford python package as I have gone along in my PhD and these now almost all now sit in the clifford.tools submodule . Along with the Czech guys I have also been building some slide tutorials that people may find interesting ( https://slides.com/hugohadfield/cgapython ) and Eric Wieser and I are building some tutorials and starter packs for doing robot IK in CGA in python/cpp . Overall I think we are starting to get there with building tutorials and docs and the recent additions to the community of people who come from a professional software background has made an enormous difference to the tooling which in turn has made it much easier to get started with GA (see Steven De Keninck's Ganja.js, Utensil Song's work on Galgebra and Eric Wieser's improvement to Clifford). The problem of differing notation is still there and yet to be resolved, I have been trying to get people to come together and agree on something but lots of people have very strong opinions on how things should be done etc etc.. my opinion on all that is that it really doesn't matter what notation you use as long as it is self consistent and solves the problem you have at hand but this doesn't really help when it comes to introducing people to the field... overall I don't have a solution to the notation problem other than to try and encourage everyone I work with to use the same notation and to add caveats in different places on papers/tutorials saying where people in the field differ in notation. If anyone has suggestions (or additional tutorial pull requests :)) I'm all ears!
1 comments

Oof my paragraph breaks really didn't come through there..
Use two blank lines or the breaks won’t show up in the post.