22 ms·
All Hail Geometric Algebra
- hardwaregeek 6y agoWell, it's certainly easier than Algebraic Geometry.
- howling 6y agorelevant xkcd: https://xkcd.com/2028/ https://xkcd.com/2028/
- thechao 6y agoI cannot recommend Alan MacDonald's two books enough (Linear and Algebra; and, Vector and Geometric Calculus). They literally replace reams of texts on complex numbers, quaternions, octonions, spinors, etc. under a single unifying concept. (They don't replace those concepts; and, for sure, if you want to learn quantum you're going to need them; but they make getting your head around them so much easier.) One issue is that most of the "online" references are crap. MacDonald's presentation is a wonderful slow ramp: it starts with really basic linear algebra and then just slowly segue's into geometric algebra. I firmly believe that in 100 years we just won't be teaching 'bare' linear algebra, complex, quaternions, ... we'll just teach GA and then introduce the physical concepts separately.
- yiyus 6y agoThose books are great. They are my favorite GA books (together with Hestenes' papers). I just wanted to add that he also has wonderful youtube videos. And I also agree with that 100 years prediction. I'm even trying to do my part so that we do not have to wait so much!
- topspin 6y agoTo save others the effort the two books are: Linear and Geometric Algebra (October 2020 printing) 978-1453854938 $30 new @Amazon Vector and Geometric Calculus (also Oct. 2020 prining) 978-1480132450 $35 new @Amazon Affordable, surprisingly.
- zrkrlc 6y agoI spent around two months being completely enamoured by geometric algebra until I realised it flies in the face of some pretty strong trends of mathematics in the last couple of decades. How come? Well, we’ve been moving towards more and more powerful generalisations and unifying concepts over the years. First, it was the various flavours of algebraic this-and-that, then category theory, then today, people are trying to do hot things with HoTT. (of course math is much, much bigger than this, but this is the story I particularly have been watching unfold before me) The trouble with geometric algebra is that it’s merely a special case of a much more general concept, namely tensor algebras. Tensor algebras are the most general algebra you can possibly get from things that behave like vectors; with GA you are stuck with vectors where the distances are measured by something squared as opposed to any other power (or some other crazy function like the taxicab metric). Using geometric algebra feels like typeless programming because you’re combining everything into a single quantity called the multivector whose components aren’t straightforward to keep track of. Furthermore, you have to decide the dimension in advance because IIRC these types change when you add more dimensions (the formulas however do not, surprisingly). That said, it’s really marvellous how compact things can get if you stay in 3+1 dimensions. Maxwell’s equations become literally a one-liner, and the horrible, horrible mess that is rotational dynamics becomes so much more tractable for mortals like me. One can literally do the entire physics undergrad curriculum using GA without breaking a sweat. Trouble is, you’d have to learn some basic algebraic theory and that’s a hard sell for people who are already afraid of math because “it’s too abstract”.
- adamnemecek 6y agoGA and tensors are closely related. I would say that tensors are more like typeless programming, the fact that you pick an algebra in advance is similar to encoding your invariants in terms of types. Tensors are cool and all but they are a pain to work with. GA is more intuitive for working with space.
- Koshkin 6y ago> Maxwell’s equations become literally a one-liner There still must be a limit to this. For example, I do not find "dF = 0" especially enlightening. It's almost like saying that "42" is the answer to the question about life, universe, and everything...
- chairmanwow1 6y agoI did a deep dive on this topic a few months ago to try and see if I could write cleaner graphics code and it was an absolute treat. Really interesting way to think about complex objects and geometric primitives.
- creata 6y agoDo you have some before-and-after code that you can share? I've seen two other efforts in that general direction: * "Let's Remove Quaternions from Every 3D Engine"[0], which was underwhelming: let's ask other people to rename existing code for no practical benefit? * "Klein"[1], a projective geometric algebra library that is amazingly nice to use, and claims to be very fast. [0]: https://marctenbosch.com/quaternions/ https://marctenbosch.com/quaternions/ [1]: https://www.jeremyong.com/klein/ https://www.jeremyong.com/klein/
- agarttha 6y agoThis is the paper that hooked me: "Imaginary numbers are not real—The geometric algebra of spacetime" https://link.springer.com/article/10.1007/BF01883676 https://link.springer.com/article/10.1007/BF01883676 (http://geometry.mrao.cam.ac.uk/wp-content/uploads/2015/02/ImagNumbersArentReal.pdf http://geometry.mrao.cam.ac.uk/wp-content/uploads/2015/02/Im...)
- centimeter 6y agoThis is wild. Very glad I saw this.
- deleted 6y ago[deleted]
- patafrita 6y agoHail geo
- adamnemecek 6y agoYou should check out the bivector community https://bivector.net/ https://bivector.net/. Check out a demo https://observablehq.com/@enkimute/animated-orbits https://observablehq.com/@enkimute/animated-orbits Join the discord https://discord.gg/vGY6pPk https://discord.gg/vGY6pPk. Enki (the guy behind bivector) also gave a talk on GA at SIGGRAPH 2019 https://www.youtube.com/watch?v=tX4H_ctggYo https://www.youtube.com/watch?v=tX4H_ctggYo
- meowphius 6y agofrom: https://compmath.wordpress.com/about/10-the-big-picture-darpas-23-challenge-questions/ https://compmath.wordpress.com/about/10-the-big-picture-darp... Mathematical Challenge Eight: Beyond Convex Optimization * Can linear algebra be replaced by algebraic geometry in a systematic way? Never heard about it before, but I never knew there was a potential alternative to linear algebra.
- aesthesia 6y agoThis proposal is different from what's being discussed here. Algebraic geometry is, roughly speaking, about understanding the solutions to systems of polynomial equations, while linear algebra is much simpler and gives complete descriptions of the solutions of systems of linear equations. Geometric algebra is a framework for working with vectors and related objects in an algebraic way---one can "multiply" two vectors together and extract information from this.
- meowphius 6y agoThank you for the correction. I misunderstood.
- DreamScatter 6y agoIf you are interested in geometric algebra, you might enjoy my implementation of it in the Julia language: Grassmann.jl https://github.com/chakravala/Grassmann.jl https://github.com/chakravala/Grassmann.jl
- alquemist 6y agoOoof. This is almost useful. There is a simple mechanism to model multiplication of vectors represented using elements of an orthonormal basis. Each (multi)vector is a linear combination of terms, and each term is an ordered sequence of basis elements. Multiplication of (multi)vectors works as usual. Multiplication of terms simply concatenates the 2 terms, then canonicalizes using identities vv = |v|^2 and uv = -vu. There is a cost, the number of terms in a (multi)vector is O(2^n) for an n dimensional space, but that's OK. And then I'm lost. How does this map back to geometry? What does '2 + 3xy + 5yz - 7xyz' mean geometrically speaking? What does multiplication mean geometrically speaking? Can't build an intuition, not even for R^2 or R^3 :(
- pjbk 6y agoThe answer depends on the kind of Clifford/Geometric Algebra being used, the structure for the vector bases and the selected result of the quadratic forms. Those choices are mostly driven by the end application where the algebra will be used, with its similarities (obviously, they are all algebras) and particularities. * "A brief introduction to Clifford algebra" - https://www.researchgate.net/profile/Giorgio_Vassallo/publication/228955605_A_brief_introduction_to_Clifford_algebra/links/0c9605363ce335ce3d000000/A-brief-introduction-to-Clifford-algebra.pdf https://www.researchgate.net/profile/Giorgio_Vassallo/public... * "Doing euclidean plane geometry using projective geometric algebra" - https://arxiv.org/pdf/1501.06511.pdf https://arxiv.org/pdf/1501.06511.pdf * "Projective geometric algebra: A new framework for doing euclidean geometry" - https://arxiv.org/pdf/1901.05873.pdf https://arxiv.org/pdf/1901.05873.pdf * "3D Motion from structures of points, lines and planes" - https://tubaro.faculty.polimi.it/Journals/Journal_2008_DA.pdf https://tubaro.faculty.polimi.it/Journals/Journal_2008_DA.pd... * "The Construction of 3D Conformal Motions" - https://link.springer.com/content/pdf/10.1007%2Fs11786-016-0250-8.pdf https://link.springer.com/content/pdf/10.1007%2Fs11786-016-0...
- alquemist 6y agoThanks. Appreciate taking the effort to answer. What I'm trying to do is to gain an intuition of what kind of objects GA manipulates, then stash it for whenever I'll need that kind of manipulation, which, sadly, can be never. Within that context, just grokking R^2 or R^3 would be great progress. To be fair, the article does present the fundamental identity, uv = u.v + u /\ v, where u.v is the usual dot product (scalar denoting relative projective size) and u /\ v = |u||v|sinθi (something related to area and the plane induced by u and v). Even if the article does exemplify with R^2 by defining i = xy, and then dropping the ball: "i is interpreted to mean the plane generated by x and y". I can't grok this part :( * This looks like (almost) a circular definition, defining uv in terms of the specific xy, where x and y are the two orthonormal R^2 vectors forming the basis. What is xy? Is it a scalar? A vector? A normal vector? How does a normal vector work in R^2?. A tensor of some dimensions? For example, assuming x = (1,0) and y = (0,1), how does one compute i = xy? * Plane generated how? a u + b v, given any two scalars a and b? * When moving to R^3, i'd think uv / xy define a plane. What does uvw / xyz mean? * Minor quibble, is it sin(θ * i) or sin(θ) * i?
- flubert 6y agoWould geometric algebra simplify a CAD program (or are there any CAD system that use geometric algebra)? Would learning geometric algebra make synthesis of mechanical linkages easier (planar/spherical/spatial)?
- DreamScatter 6y agoIt would be useful for CAD, but hasn't been done yet, since CAD software is a large project.
- skybrian 6y agoI picked up Linear and Geometric Algebra because I was looking into how to do sensor fusion better and thought geometric algebra might make 3D rotations easier to understand. My conclusion is that it doesn't. I might as well stick with quaternions and try to grok them better. (It is sort of neat that quaternions are a special case of something else, but not actually helpful.) In particular, there is nothing about how to actually do calculations on a computer, with the excuse that you will usually use a library for this. This isn't helpful to me because I'm doing embedded programming, and also because I don't feel like I really understand math unless I know how to do calculations well enough to write a library myself. All this coordinate-free manipulation of symbols leaves me feeling like I didn't really get anywhere. I was hoping for a more intuitive understanding. Does anyone have recommendations that are more oriented towards doing calculations?
- zrkrlc 6y agoThere’s Leo Dorst’s Geometric Algebra for Computer Science but I haven’t really read it in any substantial way. Might be worth checking out still.
- dreamcompiler 6y agoI have it and highly recommend it. It was my intro to GA.
- Iwan-Zotow 6y agoFoundations of Game Engine Development, Volume 1: Mathematics by Eric Lengyel Chapter 1-3 is usual stuff, Chapter 4 is GA
- xixixao 6y agoI used resources from bivector for part of implementation for excalidraw.com, and it did what I needed. It was an interesting lesson though in the difference between mathematical and software engineering priorities. I didn't need to support arbitrary dimensions (only 2D). I wanted my code to be readable, and functions to have typed arguments (so a function like orthogonalLineThroughPoint should take a line and point, and you shouldn't be able to pass the arguments in wrong order). So I wrapped the hard-to-remember and understand operators in a more friendly API, but it's a question whether I even need most of the "beauty" of the math then, or just unroll the few algos I need into the API. One counter argument is applying transformations to all objects uniformly. So I left the implementation as is in the end, but I wouldn't be surprised if it got ripped out later to save app size (if that was a big concern).
- thisrod 6y agoThanks for this! Now I understand what geometric algebra refers to. When people talk about it, it always sounds like a simple generalization of exterior algebra. And so it is. You allow a formal sum of a 0-form, a 1-form, and so on up to an n-form; instead of x∧x being zero, it's |x|². I assume the textbooks show how to do all this in a basis-independent manner. Can you do the same thing with chains, and come up with an even-more-generalised Stokes theorem? There are two things I don't get. Why start calling things 2-vectors, when you could call them 2-forms and people would know what you were talking about? Also, when discussing 3D rotations, the article decomposes a vector u as the sum of two vectors a + b, where a·i = b∧i = 0, and i is a 2-vector. I'm fine with b∧a, and I know that there is an inner product for forms of the same degree, though I'd have to look up how it works. But how do you take the inner product a·i of a vector and a 2-form? I'd guess this is an abuse of notation whose meaning is obvious if you're used to it.
- creata 6y ago> When people talk about it, it always sounds like a simple generalization of exterior algebra. And so it is. Sure, both are quotients of tensor algebras, but if anything, it's the other way around. Geometric algebra is to exterior algebra as inner product spaces are to vector spaces, or as Riemannian manifolds are to smooth manifolds. I'd say that vector spaces are more general than inner product spaces. > Why start calling things 2-vectors, when you could call them 2-forms and people would know what you were talking about? Because they're trying to appeal to the kind of physicist that doesn't know what a 2-form is. Besides, bivector is already established terminology, too. > But how do you take the inner product a·i of a vector and a 2-form? Yeah, this isn't great, since there are way too many notions of "inner product" in geometric algebra (see The Inner Products of Geometric Algebra: 10.1007/978-1-4612-0089-5_2). But I guess the intent is clear enough.
- thisrod 6y ago> Geometric algebra is to exterior algebra as inner product spaces are to vector spaces To get from x∧x to |x|², you need a norm. And I guess linearity must break down somewhere unless that norm is compatible with an inner product. Thanks, I missed that point. > But I guess the intent is clear enough. Once you have u and b, you can define a = u - b.
- pgustafs 6y agoIf anyone is actually trying to learn about 3D rotations, I would recommend reading the Wikipedia entry [1] instead of this blog post. [1] https://en.wikipedia.org/wiki/3D_rotation_group https://en.wikipedia.org/wiki/3D_rotation_group
- teleforce 6y agoAs they always say, resistance is futile ;-) Throughout history we have resistance against the introduction of number 0 into numbering system (introduced by the Arab mathematicians in the 9th century AD based on their study on the works of Indian mathematicians). Then we have resistance against the complex numbers introduction into numbering system (introduced by the Italian mathematicians in the 16th century AD and then made popular by Euler in his famous formula). And now we have resistance against geometry algebra (GA) in the 21st century AD. I think the main reason Heaviside (the inventor of the modern form of Maxwell's Equations) was opposing the usage of quaternion equations utilizing "versor" is probably due the difficulty of its manual calculations compared to his rather limited "tensor" based proposal. The irony is that Maxwell himself was originally using quaternion based algebra or GA for his discovery of the EM equations. Since now we have very powerful calculators/computers compared to the 19th century AD this should be a non-issue for the practioners. IMHO, people who work in electromagnetics (EM) have no choice but to adopt and work with GA due to the nature of the EM waves in which (unlike other waves e.g. sound) it has additional polarization property that is cumbersome to manipulate using conventional complex numbers. Eventually, someone will come up with a better replacement of I/Q data and probably call it IQ2 data where the extra Q represents quaternion.
- zaidahmad 6y agoThat's a perfectly novel idea. Perhaps I could be the one who will take it up.:-)
- enriquto 6y agoGeometric Algebra is really cool. Unfortunately, people who promote it tend to sound like insufferable crackpots. Why is that? People who explain other cool things in math are never like that. Although there are a few honest texts, almost every introduction to geometric algebra sounds as if they are introducing a new "school of thought" that will change mathematics forever. As if there was a worldwide conspiracy of powerful people who promote backwards concepts like exterior algebra, tensors and quaternions, and they want us to take the red pill. This may have sounded slightly funny the first time it was written, but it is an ugly, self-defeating meme right now. To anybody who may be discouraged from learning geometric algebra due to the weird antics of its promoters: please, ignore the stupid rhetoric and study some Clifford algebra. There are a lot of neat ideas in there! (but of course, not only in there; you may still want to learn the other, well-known, equivalent definitions and notations for the same objects).
- DreamScatter 6y agoIt is a way of thought which will change mathematics, it is new to 99.9999% of people, isn't part of any curriculum yet. Since GA is such a powerful idea, it will have a big impact on mathematics for a long time to come, when more people find out about it. Once you learn it, you will naturally wonder why such a thing wasn't ever part of what people learn yet.
- deleted 6y ago[deleted]
- enriquto 6y agoI love this kind of satire! :)
- orbots 6y agoDon't paint us all with the same brush please. Some of us are totally sufferable.
- andi999 6y agoExactly. I read one of the books a long time ago, and it was like 'we have this surpressed magic here', but somehow there were no hard (math) results. I understand it is easier to calculate the product of two rotations with G.A. is there apart from that anything (substantial) else?
- chombier 6y agoYet another Geometric Algebra introduction claiming GA is better than quaternions, yet ending (section "Problem Solved" near the end) with the exact same formulas. Really I like GA and it sure brings a unified treatment for geometric calculations, but in these tutorials I would very much like to see examples of something quaternions can not do, e.g. involving exterior algebra, subspace intersections, duality etc.
- jacobolus 6y agoA quaternion is a kind of multivector consisting of a scalar + a bivector (a bivector is an oriented magnitude with the orientation of a plane). You can get one by taking the quotient of two 3-dimensional vectors (a vector is an oriented magnitude with the orientation of a line). Note that a planar “complex number” is the same kind of object as a quaternion, just with the bivector part always oriennted in the same plane. When people limit themselves to Gibbs-style vectors or to quaternions as a primary formalism what they are doing is pretending that vectors and bivectors are the same kind of object, and this pretense leads to massive amounts of confusion. cf. https://en.wikipedia.org/wiki/Pseudovector https://en.wikipedia.org/wiki/Pseudovector The biggest thing GA adds compared to quaternions is that the same technology generalizes to higher or lower dimensions and to pseudo-Euclidean spaces (and to generalized Möbius transformations, non-metrical contexts, to modeling points and circles as multivectors, etc.), and there are many vector identities which are awkward to express when you are pretending that vectors and bivectors are the same. Another advantage is that you don’t need any arbitrary conventional rules about multiplication of {i, j, k}, since typically the basis is specified in terms of orthonormal unit vectors e.g. e₁, e₂, e₃, so that it becomes very obvious how basic bivectors e₁e₂, e₂e₃, e₃e₁ should multiply: (e₁e₂)(e₂e₃) = e₁e₃ = −e₃e₁, etc.
- flor1s 6y agoSomewhat related applications in the robotics field were presented at this IROS 2020 workshop: https://sites.google.com/view/iros2020-geometric-methods/home https://sites.google.com/view/iros2020-geometric-methods/hom...
- Razengan 6y agoI wonder if somewhere there’s a species that discovered numbers not for counting first but for navigation and geometrical measurement. Maybe plain old 1-dimensional numbers would be an oddity to them as “complex” numbers etc. are to us.