I was googling about geometric algebras and I found Sagemath provides a package for clifford algebra. It implements a Exterior Algebra class which seems quite complete. http://doc.sagemath.org/html/en/reference/algebras/sage/algebras/clifford_algebra.html
This lib isn’t listed on bivector but it seems maintained. Any thoughts about the lib?
Thanks for sharing, I do like sage and have it fully installed on my computer and it is relevant to my work. However, I am developing my own program at Grassmann.jl, which means I don’t need the sage library. Sage is typically used by pure mathematicians (it was made by and for number theorists really). In fact, I was given a copy of William Stein’s book on modular forms / sage (also met some of its creators) and I consider it very important. Overall, I view William Stein as an inspiration for number theorists and people making computer algebra software. However, my goals are to build my own foundational thinking, and using somebody else’s library just isn’t enough for me. My own Grassmann package takes the foundations for differential geometry a bit further than what sage does. Overall, sage makes for a fantastic kit for number theorists working on pure math. It is not so good for fast numerical computing though. An alternative to Sage for Julia users with better performance than Magma is the Nemo.jl software, which is newer and not as full featured as Sage, but it is faster due to being built in the Julia language, which is my primary programming language for the past few years.
The reason why it is not listed here is probably because the developers from the sage project have had probably little contact with the geometric algebra community from the bivector website. All of the software listed on this website is made by a group of people (us) who are constantly in contact and communicating (thx @enki). The people from sage are not currently in this community. @enki who made this site is not a number theorist, so I don’t think he knows much or cares about the other special capabilities of sage itself. However, I can’t actually speak for him, so he’d have to comment. One difference between sage and the geometric algebra packages here is that sage is not entirely built from the foundations geometric algebra. The software listed on this site actually starts out and builds things up from geometric algebra, and not conventionally.
In conclusion, I think Sage is very important and relevant for people like me, and I like to keep it around on my computer. However, it doesn’t satisfy my itch to create more high performance and generalized code using the Julia language. Nevertheless, I got much respect to William Stein and Sage.
Did you use the Clifford Algebra package ? Could you share any example ?
No, I did not use their Clifford package and don’t have any additional examples for it. Most of what I have seen with sage is based on traditional linear algebra, modular forms, and number theory.
hi, thanks for posting this.
the package you mention certainly has the ability to be a GA package, but clifford algebra generally does things differently, and think it would require some extra work to make it understandable to a average GA’er. comparing the docs from clifford and the sage package you can see they are different. there are some clifford examples on the website. https://clifford.readthedocs.io/en/latest/