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.
Related a bit more generally:
This might be helpful as a start:
> 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.
If you have a displacement vector, and a potential gradient, they can't be the same "kind" of thing (i.e. both vectors), because their dot-product should be preserved. If the slope gets half as long, it's twice as steep.
I'm not sure what two kinds of things you are referring to, but it doesn't seem like they are "geometric objects" and "coordinates". All I'm saying is that you don't need coordinates; they are a convenience, not a necessity. I am not saying you need only one kind of geometric object.
> If you have a displacement vector, and a potential gradient, they can't be the same "kind" of thing
Agreed. You need both vectors and covectors, or more generally "things with upper indexes" and "things with lower indexes". But you don't need coordinates to work with those things. The indexes do not have to represent components. They can represent "slots" (at least that's what Misner, Thorne, and Wheeler call them in their classic GR textbook), in which you can insert vectors (for lower index slots) or covectors (for upper index slots) in order to obtain other geometric objects (and ultimately numbers, which are what you compare with actual measurements).
I agree that we don't need coordinates. Things are things.
But what always got me about the geometric algebra stuff was that they used bivectors for areas, which seems like the wrong thing. If you're integrating a vector field over it, you want a 2-form, not a bivector. I suppose the distinction doesn't matter as long as you're just in Euclidean space, but even then, if you need to drop down to coordinates and do the actual integral, you're still going to want to have changes of variables that work. That leaves me with a kernel of doubt that they're doing the right thing.
For a better explanation I can recommend the accepted answer here:
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.
"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."
(It's "geometric" in the sense it doesn't depend on a choice of basis I guess.)
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.
Edit: Clifford groups are not the same as Clifford algebras. I was wrong!
An algebraic structure on a set A (called the underlying set, carrier set or domain) is a collection of operations on A of finite arity, together with a finite set of identities, called axioms of the structure that these operations must satisfy. In the context of universal algebra, the set A with this structure is called an algebra, while, in other contexts, it is (somewhat ambiguously) called an algebraic structure, the term algebra being reserved for specific algebraic structures that are vector spaces over a field or modules over a commutative ring.
Examples of algebraic structures include groups, rings, fields, and lattices.
It is important to note context, and note the part where the article you quoted uses the works “ambiguously”, because the word “algebra” has more than one meaning.
In this case, a group is not an algebra (because we are talking in the context of algebras over a field or ring, not universal algebras).
It is unfortunate that the words are defined this way, but you have to deal with it. A “universal algebra” is a very different concept from an “algebra” (over a ring or field) even though one is an example of the other.
It’s like saying that “book” is a very different concept from “The Great Gatsby”.
Edit: Wolfram Mathworld agrees with me: "Universal algebra studies common properties of all algebraic structures, including groups, rings, fields, lattices, etc." http://mathworld.wolfram.com/UniversalAlgebra.html
It's the name of a whole field in mathematics, which covers objects like groups, rings, fields, and so forth. The sort of things defined, very handwavily, in terms of operations you can do with their elements and the equations they satisfy.
It's the name of a rather specific kind of mathematical structure: roughly, a vector space together with a way of multiplying its elements. (Motivating example: n-by-n matrices.)
It's the name (but usually with some qualifiers to make it clearer what you mean) for a broad range of mathematical structures, of which the one in the previous paragraph is a special case. See e.g. https://en.wikipedia.org/wiki/F-algebra.
Groups are among the things studied in the field of algebra. Groups aren't algebras in the second, specific, sense. They are F-algebras. Most mathematicians, most of the time, would not call groups "algebras" without some qualifier like that F- prefix.
The term "Clifford algebra" also means some different things.
A Clifford algebra is a particular sort of algebra-in-the-second-sense. The field called Clifford algebra is the study of those things. These days people more often say "geometric algebra" rather than "Clifford algebra" for that meaning.
There are mathematical objects called Clifford groups. They are not at all the same thing as Clifford algebras, and you can study Clifford algebras in some depth without paying any attention to the Clifford groups. But they are closely related to the Clifford algebras.
Both Clifford groups and Clifford algebras have applications in quantum physics and, more specifically, in quantum computing. But so far as I know the ways in which you use them in quantum computing has very little to do with the ways in which you use Clifford algebras for doing geometry. It is quite common in mathematics for the same (or equivalent) objects and structures to turn up in multiple places, in unrelated-looking ways. Sometimes this gives rise to deep connections between different fields; sometimes it's just a coincidence. I don't know enough about either quantum computation or geometric algebra to know which of those is going on here, but my intuition leans toward "coincidence".
So. vtomole's original comment was kinda-right and kinda-wrong: yes, there is a connection between Clifford algebras and quantum computation, but it doesn't have much to do with the stuff discussed, e.g., at the far end of the top-level link here. knzhou's question was a good one, pointing out that the two topics are quite separate. vtomole's reply "A group is an algebraic structure ..." didn't make any untrue statements but did miss the point; the fact that a group is an algebraic structure doesn't mean that something called "the X group" necessarily has anything to do with something called "the X algebra" -- though it happens that in this case there is a connection. (vtomole clearly got the point soon after, as seen from their subsequent replies.) knzhou was correct to point out that vtomole's reply missed the point. lisper, again, didn't say anything untrue but I think he missed the point. klodolph's comment about algebras versus universal algebras versus algebra was spot-on and the only reason why I went into more detail above is that it was apparently too brief to be clearly understood. monoideism is right that (e.g.) a group is a universal algebra, wrong to say that klodolph is self-contradictory, and I think missing the point that "algebra" is used with different meanings on different occasions, and in the phrase "Clifford algebra" the specific meaning in question is not "universal algebra". (Even though a Clifford algebra is, also, an example of a universal algebra.)
The fact that a group is a universal algebra doesn't at all licence any sort of blurring of the distinction between Clifford groups and Clifford algebras. The meaning of "algebra" in "Clifford algebra" is not "universal algebra" or "F-algebra", it is "vector space with multiplication", and a group simply isn't one of those (well, some groups are, but e.g. the Clifford groups are not).
No, this is incorrect. A specific group is not an example of an algebraic structure. A specific group is an example of a group, and group structure is an example of an algebraic structure.
> You seem to contradict yourself, at times agreeing with this statement ("even though one is an example of the other"), at times not ("a group is not an algebra").
The terminology is confusing, yes. I guess I didn't do a great job of explaining it. There are two things called "algebra" here and one is an example of the other, while also having examples of itself.
I'll try to put things in more concrete terms.
The real numbers, with addition and multiplication, is an example of an algebra.
"Algebra" is an example of algebraic structure.
"Group" is an example of algebraic structure.
The real numbers, with addition and multiplication, is not an example of a group.
As an analogy--
The apple I ate for lunch yesterday is an example of an apple.
"Apple" is an example of a word.
"Table" is an example of a word.
The apple I ate for lunch yesterday is not an example of a word.
> Edit: Wolfram Mathworld agrees with me: "Universal algebra studies common properties of all algebraic structures, including groups, rings, fields, lattices, etc." http://mathworld.wolfram.com/UniversalAlgebra.html
It does not agree. Note that we could add "algebras" to that list: "Including groups, rings, fields, lattices, algebras, etc."
We are not talking about common properties of algebraic structures, we are talking about a specific algebraic structure, which is called "algebra." Universal algebra is a distinct topic from group theory and a distinct topic from linear algebra. The three fields are different studies.
Yes, I know the terminology is confusing.
It would have been helpful to differentiate that since my question/comment pertained to the term "universal algebra". I'm still not totally sure I understand what universal algebra studies now. Is it something akin to category theory?
Sort of, in the sense that it’s more general.
You might study category theory, prove some theorems, and then apply those theorems to a specific category, like Grp (which is the category of groups). In category theory, you will prove the theory using “objects” and “morphisms” which are called “groups” and “homomorphisms” inside Grp.
The same thing applies to universal algebra. You might prove some theorem in universal algebra, about algebraic structures in general, and then apply that proof to some specific algebraic structure, like algebras or groups.
(And from a practical perspective… you might actually write the proof for a specific object first, and then e.g. generalize your group theory proof into a universal algebra proof.)
so are maxwell's laws actually relativistically invariant or not?
This looks like what I wished I had learned instead!
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.
It's got a lot of very interesting math and physics information.
Fascinating. That thing famously never worked well, and the movie was better for it.
The book is a compendium of tips and techniques from graduate students in Cornell's famous low temperature physics lab. Although published in 1988, it is sufficiently general to be valuable today.
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
Do it. Scratch that itch while you still can.
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
In the docs section, the Geometric Algebra Primer by
Jaap Suter is excellent. http://www.jaapsuter.com/geometric-algebra.pdf
edit: link http://www.astro.umd.edu/~jph/GAandGC.pdf
Author(s): D. J. H. Garling
Series: London Mathematical Society Student Texts 78
Publisher: Cambridge University Press,
> ∇ F = J/(c є₀)
Holy. Shit. Is this for real?