The Grassmann.jl package provides tools for doing computations based on multi-linear algebra, differential geometry, and spin groups using the extended tensor algebra known as Leibniz-Grassmann-Clifford-Hestenes geometric algebra. Combinatorial products included are ∧, ∨, ⋅, *, ⋆, ', ~, d, ∂ (which are the exterior, regressive, inner, and geometric products; along with the Hodge star, adjoint, reversal, differential and boundary operators). The kernelized operations are built up from composite sparse tensor products and Hodge duality, with high dimensional support for up to 62 indices using staged caching and precompilation. Code generation enables concise yet highly extensible definitions. The DirectSum.jl multivector parametric type polymorphism is based on tangent bundle vector spaces and conformal projective geometry to make the dispatch highly extensible for many applications. Additionally, the universal interoperability between different sub-algebras is enabled by AbstractTensors.jl, on which the type system is built.
Wow! I keep finding these really great Julia packages that implement grad level math / science concepts. It's great! Unfortunately not sure what I'd do with Clifford Algebra myself.
Oh wow, this is nothing short of awesome. Your docs¹ are great at first glance, too. Incredible work! Thanks so much, this might prove invaluable for my (personal) research. I guess I have to learn Julia too now, eh. :)
Does anyone have a good summary of how this relates to the differential geometry world with its n-forms and n-vectors? For example, I'm used to thinking of the wedge product as operating over n-forms and requiring a metric (or volume element) transformation to work over vectors. Similarly, I don't see any discussion of behaviors under coordinate transformations.
> I don't see any discussion of behaviors under coordinate transformations.
That's because, as the article emphasizes, you don't need coordinates (or basis vectors, which is the term used in the article) to work with geometric objects. You can use them, but you don't need to.
Similarly, vectors, bivectors, tensors, etc. can all be defined without making use of their behavior under coordinate transformations. Textbooks that emphasize coordinates might make it appear otherwise, but that's not the case.
When I looked at differential geometry, I'd already seen Hestene's Geometric Algebra (a Clifford Algebra) and I was confused that you couldn't combine n-forms with m-forms in DG. The link is (I believe!) that Clifford Algebras are _graded_ algebras, whereas DG's n-forms are not graded, so in DG you can't combine forms of different degree arbitrarily.
For a better explanation I can recommend the accepted answer here:
The wedge product is inherent in all linear algebra, and is a much simpler and more basic tool than differential forms.
More generally the basics of geometric algebra (“real Clifford algebra”) should be taught to all undergraduate students taking technical courses, and could be profitably pushed back into high school.
The exterior algebra can be defined over any vector space. It just happens that the exterior algebra over the cotangent space is useful for differential geometry.
I've read a number of introductions to Clifford algebras, and I'm always left with the question of what the geometric product is supposed to mean. The wedge product and dot product are easy to understand and have obvious interpretations. But other than being a gadget from which you can extract these other products, I don't see what the geometric product is for, or why it should be the primary object of consideration.
Despite the name the motivation for the geometric product is principally algebraic, ie. it's useful for doing algebraic manipulation. It does not, AFAIK, possess any geometric meaning outside of special cases.
(It's "geometric" in the sense it doesn't depend on a choice of basis I guess.)
I agree with this. Most of the benefits of GA are from embracing the wedge product, not the geometric product.
However, I do think there is something there. There is a concept of vector inversion that it makes possible. I have been trying to crystallize this for a long time, though.
I've come to see it more as the inverse of a division operator. Like a quaternion can be defined as the ratio of two vectors q = a/b. then qb = a and qc will rotate c the same amount as needed to take b into a. dual quaternions have a similar motivating derivation.
Something that inhibits my understanding of a lot of the things beyond section 2.6: according to the article, equation 4b is supposed to also work for scalar ^ vector and scalar ^ scalar, but both those cases seem to contradict defn 20. - according to 4b, scalar ^ scalar will always be 0 (a^b = (ab - ba)/2 = 0, since scalar multiplication commutes), same for scalar ^ vector (a^V = (aV - Va)/2 = 0, since scalar times vector also commutes). Definition 20 on the other hand makes sense (scalar ^ scalar is a regular multiplication, same for scalar ^ vector where it's just scaling). Am I missing something? Why does 4b try to generalize to grades <= 1 in a way that contradicts the other definition (and is counter-intuitive to me)? It all makes sense if 4b only applies to grades = 1.
> The traditional form of the Maxwell equations is not manifestly invariant with respect to special relativity, because it involves a particular observer’s time and space coordinates. However, we believe the underlying physical laws are relativistically invariant.
so are maxwell's laws actually relativistically invariant or not?
There is a form of them which is invariant. You just have to write them correctly. Mathematics isn't as amazing as it sounds, there is a some ambiguity in how symbols are defined. Is your gradient with respect to rectilinear coordinates, or more general? Etc.
I think it's both. Still, in the manner it's happening, the surging abundance of tutorials on Geometric Algebra somehow feels worrisome. This looks all too similar to the ever growing number of guides on what are monads and how to use them in programming. For most people - kind of makes sense, sort of interesting, sometimes inspiring, practically useless...
Read a little bit of the introduction. If you are familiar with using complex numbers and vector cross products, you will see the advantage pretty quickly
I also have noticed the sudden and relatively intense interest in this subject: there have been at LEAST 3-4 front-page-ranking links on HN in just the past week (that I've seen at least). An interesting spontaneous zeitgeist in the comp-sci & related communities.
I never got the hang of direction of cross products, still don't know which hand rules to use for eg motors & generators (well I think I knew once but as never at ease).
This looks like what I wished I had learned instead!
Also at the end of February, there is geometric algebra event in Belgium. https://bivector.net/game2020.html
All the big names in the field will be there.
Looks really impressive. For those interested in this sort of thing, another huge and varied collection of mathematical/physics articles is located at https://www.mathpages.com/
He's the guy that built the shark for 'Jaws' while an undergraduate. Very very capable, to say the least. Saw him in the halls during my postdoc but never had the occasion to talk with him.
Kinda makes me want to go back to college (I'm an EE) just to re-learn all the stuff I remember being so mind bending with this elegant new framework. Also, just so I can be THAT guy who always argues with the professor. Anyone know of any PhD openings that could use a maverick like me? :) (/s kinda)
going to college won't really help you, I quit college so I can abandon traditional math to completely devote myself to geometric algebra based math, here is my algebra implementation for example:
it isn't taught at universities, it is self taught.. at the university level you are going to be artificially held back more than you would by studying it independently
I was in this very situation, thinking I want more than "just" EE. Applied for a PhD position in a branch where mostly mathematicians work, could not be happier with the decision.
In addition to gibsonf1's recommendations (not books), the following books are good. The first 2 are more pure introductions to the math, the third is applying it to physics, the fourth to CS.
> It is traditional to write down four Maxwell equations. However, by using Clifford algebra, we can express the same meaning in just one very compact, elegant equation:
[+] [-] DreamScatter|6 years ago|reply
https://grassmann.crucialflow.com
The Grassmann.jl package provides tools for doing computations based on multi-linear algebra, differential geometry, and spin groups using the extended tensor algebra known as Leibniz-Grassmann-Clifford-Hestenes geometric algebra. Combinatorial products included are ∧, ∨, ⋅, *, ⋆, ', ~, d, ∂ (which are the exterior, regressive, inner, and geometric products; along with the Hodge star, adjoint, reversal, differential and boundary operators). The kernelized operations are built up from composite sparse tensor products and Hodge duality, with high dimensional support for up to 62 indices using staged caching and precompilation. Code generation enables concise yet highly extensible definitions. The DirectSum.jl multivector parametric type polymorphism is based on tangent bundle vector spaces and conformal projective geometry to make the dispatch highly extensible for many applications. Additionally, the universal interoperability between different sub-algebras is enabled by AbstractTensors.jl, on which the type system is built.
[+] [-] elcritch|6 years ago|reply
[+] [-] K0SM0S|6 years ago|reply
[1]: https://grassmann.crucialflow.com/dev/
[+] [-] dang|6 years ago|reply
2015: https://news.ycombinator.com/item?id=9746051
Related a bit more generally:
2017 https://news.ycombinator.com/item?id=15932739
https://news.ycombinator.com/item?id=14947065
2016 https://news.ycombinator.com/item?id=13239632
[+] [-] oddthink|6 years ago|reply
[+] [-] pdonis|6 years ago|reply
This might be helpful as a start:
https://en.wikipedia.org/wiki/Exterior_algebra
> I don't see any discussion of behaviors under coordinate transformations.
That's because, as the article emphasizes, you don't need coordinates (or basis vectors, which is the term used in the article) to work with geometric objects. You can use them, but you don't need to.
Similarly, vectors, bivectors, tensors, etc. can all be defined without making use of their behavior under coordinate transformations. Textbooks that emphasize coordinates might make it appear otherwise, but that's not the case.
[+] [-] RossBencina|6 years ago|reply
For a better explanation I can recommend the accepted answer here:
https://math.stackexchange.com/questions/1991814/whats-the-d...
[+] [-] jacobolus|6 years ago|reply
More generally the basics of geometric algebra (“real Clifford algebra”) should be taught to all undergraduate students taking technical courses, and could be profitably pushed back into high school.
[+] [-] DreamScatter|6 years ago|reply
https://grassmann.crucialflow.com/dev/algebra
[+] [-] senderista|6 years ago|reply
[+] [-] peter_d_sherman|6 years ago|reply
"It is traditional to write down four Maxwell equations.
However, by using Clifford algebra, we can express the same meaning in just one very compact, elegant equation."
https://www.av8n.com/physics/clifford-intro.htm#eq-max-ga
[+] [-] aesthesia|6 years ago|reply
[+] [-] edflsafoiewq|6 years ago|reply
(It's "geometric" in the sense it doesn't depend on a choice of basis I guess.)
[+] [-] ajkjk|6 years ago|reply
However, I do think there is something there. There is a concept of vector inversion that it makes possible. I have been trying to crystallize this for a long time, though.
[+] [-] orbots|6 years ago|reply
[+] [-] vtomole|6 years ago|reply
Edit: Clifford groups are not the same as Clifford algebras. I was wrong!
[+] [-] knzhou|6 years ago|reply
[+] [-] bialpio|6 years ago|reply
[+] [-] platz|6 years ago|reply
so are maxwell's laws actually relativistically invariant or not?
[+] [-] g82918|6 years ago|reply
[+] [-] playing_colours|6 years ago|reply
[+] [-] Koshkin|6 years ago|reply
[+] [-] dktoao|6 years ago|reply
[+] [-] virgil_disgr4ce|6 years ago|reply
[+] [-] m4r35n357|6 years ago|reply
This looks like what I wished I had learned instead!
[+] [-] adamnemecek|6 years ago|reply
Join the discord https://discord.gg/vGY6pPk.
Check out a demo https://observablehq.com/@enkimute/animated-orbits
Also at the end of February, there is geometric algebra event in Belgium. https://bivector.net/game2020.html All the big names in the field will be there.
[+] [-] msla|6 years ago|reply
https://www.av8n.com/physics/
It's got a lot of very interesting math and physics information.
[+] [-] m4r35n357|6 years ago|reply
[+] [-] OldGuyInTheClub|6 years ago|reply
[+] [-] dktoao|6 years ago|reply
[+] [-] DreamScatter|6 years ago|reply
https://grassmann.crucialflow.com
it isn't taught at universities, it is self taught.. at the university level you are going to be artificially held back more than you would by studying it independently
[+] [-] Random_ernest|6 years ago|reply
Do it. Scratch that itch while you still can.
[+] [-] Koshkin|6 years ago|reply
http://peeterjoot.com/writing/geometric-algebra-for-electric...
https://www.academia.edu/21674685/Geometric_Algebra_for_Elec...
[+] [-] Squithrilve|6 years ago|reply
[+] [-] SAI_Peregrinus|6 years ago|reply
Linear and Geometric Algebra, by Alan Macdonald: http://www.faculty.luther.edu/~macdonal/laga/
Vector and Geometric Calculus, by Alan Macdonald: http://www.faculty.luther.edu/~macdonal/vagc/index.html
Application to physics: New Foundations for Classical Mechanics by David Hestenes: https://books.google.com/books/about/New_Foundations_for_Cla...
Geometric Algebra For Computer Science by Dorst, Fontijne, and Mann: http://www.geometricalgebra.net/index.html
[+] [-] gibsonf1|6 years ago|reply
In the docs section, the Geometric Algebra Primer by Jaap Suter is excellent. http://www.jaapsuter.com/geometric-algebra.pdf
[+] [-] chombier|6 years ago|reply
edit: link http://www.astro.umd.edu/~jph/GAandGC.pdf
[+] [-] dangirsh|6 years ago|reply
https://g.co/kgs/ciKXVS
[+] [-] lazycrazyowl|6 years ago|reply
Author(s): D. J. H. Garling Series: London Mathematical Society Student Texts 78 Publisher: Cambridge University Press, Year: 2011 ISBN: 1107096383
[+] [-] kragen|6 years ago|reply
> ∇ F = J/(c є₀)
Holy. Shit. Is this for real?
[+] [-] senderista|6 years ago|reply
[+] [-] vmchale|6 years ago|reply