tonyarkles 2 days ago

I recently had a bit of an epiphany around GA the other day (and Dual numbers, and Screw Theory with Twists and Wrenches): I realized that I had it all backwards. I’d seen GA as an alternative formulation for projective geometry and for Maxwell’s equations, Dual Numbers for auto-differentiation, and Screw Theory for rigid-body dynamics; the question that had always bothered me was “how in the hell did they manage to take these engineering problems and derive these crazy linear algebra theories to solve them?”

The realization was that it went the other way around! Clifford Algebras are an interesting linear algebra formulation. As it turns out, by appropriately defining the e^2=0, e^2=1, and e^2=-1 axes of the general Clifford Algebra framework, a bunch of these engineering problems map into the algebra and then adopt a super compact notation for solving them.

  • leumassuehtam a day ago

    I like to think of an algebra the same as a language. You want to define and constrain your language such that you can describe elements of your universe is clear and consice.

    For example, if I am trying to describe a art piece in the museum, I need concepts and words that connect what I am seeing to reality. In the same way in electromagnetism, proper time is part of the reality and it is an experimental fact, so it must be included in the algebra. Another example is a functional programming language where you identify high-level functions as the building concepts of many computer science problems.

    Defining an algebra tailored for the problem you're working with actually highly constrain the space, and this is what makes many problems trivial.

vivzkestrel 2 days ago

I am sorry if I dont understand. What is this link about? Courses, video tutorials? articles? I understand it has something to do with geometric algebra and that is about it. Can someone shed some light with all the visualizations on the home page?

  • agnishom 14 hours ago

    It is a collection of resources about "Geometric Algebra". It is basically a vector space equipped with a anticommutative product. Turns out that this formalism is very useful in elegantly representing a number of operations (like rotation) in the domain of physics or computer graphics.

  • Kaijo a day ago

    The third video in the "Featured Introductions" section near the top of the page, called "A Swift Introduction to Geometric Algebra", is a very good starting point.

howling a day ago

An article that argues against GA: https://alexkritchevsky.com/2024/02/28/geometric-algebra.htm...

TLDR:

- GA tends to attract a lot of crackpot. In fact most mathematicians avoid the name Geoemtric algebra and call it Clifford algebra to disassociate with them.

- Most of the usefulness of GA comes from just exterior algebra and exterior product/wedge product is more important than geometric product.

- It shows up in spinor field in physics but this does not concern most people that do not work in quantum physics.

My rudimentary view towards GA:

- It is useful in game physics since rotors can represent n-dimensional rotation in 2^{n-1} numbers instead of n^2 numbers as 2^{n-1} < n^2 when n <= 6. You can use PGA if you want to add translation as well. It is also better in interpolation.

- Outside of this you should just probably just learn exterior algebra instead.

  • hamish_todd a day ago

    I did two streams where I went through this article and explained the many places it is wrong. The second part of the article has more maths in it, so most of the content is there, you can watch it here: https://www.twitch.tv/videos/2282548167

    (it's very long so I plan to edit the two streams into a digestible 10-15m or something. His fault not mine I'd say!)

    Probably other commenters have already said, but the biggest giveaway is how he says we should move away from quaternions, and then demonstrates little to no awareness of why quaternions are used in engineering (vital in gamedev for example, your animations will look awful without quaternions). Yes, quaternions are hard if you are completely married to the idea that everything in geometry is ""vectors"". But the games industry put on its big-boy pants and learned to use them - they wouldn't do that if the things weren't useful for something, so it's bit silly to write an article like this if you haven't figured out why that happened.

    • asplake 20 hours ago

      A quaternion is just an even subalgebra of the Clifford algebra Cl3,0(R), what’s the problem?

    • howling a day ago

      > but the biggest giveaway is how he says we should move away from quaternions

      I'm sorry I must have missed that part. Can you point me to where did he say this?

      • hamish_todd a day ago

        The second paragraph of the conclusion: "Nor should we be trying to make everything look more like complex numbers and quaternions. Those are already weird and confusing; we should be moving away from them!"

        It's also implicit in the thing he says throughout: "bivectors and trivectors are good, but there's no reason to add a scalar to a bivector or a trivector to a 1-vector, nor is there a reason to multiply such objects". A quaternion is a scalar and a bivector added together!

        • ajkjk a day ago

          Hi I wrote that article and I would say that I am extremely aware of how quaternions are used in engineering.

          My stance on quaternions is that they are an opaque representation of what they are trying to do, which makes them unnecessarily-difficult and annoying. Not to mention hard to learn to visualize. But GA isn't much less opaque either. The "actual" representation which I find to be most agreeable is the stuff I mentioned about viewing them as operators. Given a bivector B which describes a rotation, you can treat it as an operator on vectors via contraction R(v) = B⋅v. Then exponentiating e^(Rθ)(v) (either the one-sided rotations or two-sided rotors) gives the same rotation formalism as quaternions and GA, but without any of the weird unpedagogical stuff. The notion of an exponential map and exponentiating generators is, IMO, much more "natural" and intuitively straightforward than the alternatives. Perhaps I should update the article to make this more clear.

          What irritates me about GA---well, one of the things---is that it treats bivectors/trivectors as both geometric primitives (oriented areas) and operators (rotations, say), and totally conflates the two and never explains to the student how to detach the two notions from each other (and I doubt most of the writers on the subject even know). IMO it is best viewed as a version of representation theory: rotations are operators which happen to have representations on bivectors of the EA; not all operators will have that property, and then you will want other algebraic structures to do algebra with them, if that's a case you're considering.

          • hamish_todd 21 hours ago

            A quaternion is some amount of identity averaged with some amount of line reflection. You can visualize the line reflection as a pair of planar reflections at 90 degrees to each other. You can visualize the identity as a pair of planar reflections that are the same. Averaging the two of those will give you a pair of planar reflections that are some angle apart.

            You're correct that you can construct a quaternion with the exponential map - but the most common way to make a quaternion is with a pair of vectors. Every game engine will have that function. GA will tell you how that function works - the vectors are planar reflections, you compose those to get a rotation by twice the angle, and you add (average with) the identity rotation to get a rotation by the precise angle.

            > how to detach the two notions from each other

            Can you say why would you want to do that? A plane always defines a planar reflection, a point always defines a point reflection, a line always defines a line reflection (assuming we're in euclidean space, which engineering is). To me this doesn't seem to be "happen to have" territory, this seems fundamental.

          • at_compile_time 17 hours ago

            >unpedagogical

            Does this word mean "not the way things mathematicians teach things"? My experience has been that mathematicians teach things that are useful to mathematicians to students who are not going to be mathematicians and would be better served learning other things. I wasted countless hours of my life finding analytical solutions to toy calculus problems in a universe that will never yield to those methods.

            >My stance on quaternions is that they are an opaque representation of what they are trying to do, which makes them unnecessarily-difficult and annoying. Not to mention hard to learn to visualize.

            I've seen some remarkably confusing attempts to understand and visualize these things. This has always baffled me because the equivalent objects in geometric algebra aren't that hard to understand. I really think this is a problem with your pedagogy. You've hidden the geometric meaning of the bivector components in these imaginary components, i,j,k, and you have to take it on faith that i*j=k and instead of it being just the product of two bivector blades.

            >The notion of an exponential map and exponentiating generators is, IMO, much more "natural" and intuitively straightforward than the alternatives.

            That's because you learned it that way. Exponentiating an oriented area to generate a rotation is perfectly intuitive to me, and I'm not sure how somebody could be confused by the fact that a bivector can be an oriented area or the logarithm of a rotation because it's a simple matter of context.

            • ajkjk 16 hours ago

              Eh, I disagree.

              By "unpedagogical" I mean: very hard to learn, and even when you learn it, often hard to explain. It's information that doesn't compress well, generalize well, or really convey direct understanding of what's going on. Maybe not the best word for this. Really, I just mean "bad". To me it's incomplete knowledge; it needs to be improved upon so that it makes more sense for people who need to know it. In doing so it will also become easier to learn.

              I think quaternions are confusing, GA bivector notations are less confusing but still confusing, and the operator version which I endorse is the least confusing of the three. This is just an aesthetic judgment on my part. IMO if things were taught in the way I prefer, more people could learn them, faster, and come away with a more solid understanding afterwards for less work. (You and I agree that GA's version is better than quaternions for the same reason. I just think that there are better versions still.)

              If you want to tell someone that exponentiating an area gives a rotation, you need to basically deal with the fact that that sentence sounds like nonsense. An area's an area, why would exponentiating it... do... anything? My preferred explanation of all this stuff avoids that saying things that sound like nonsense.

              (I prefer to think of a bivector not as an oriented area per se but as a type of tensor which happens to represent those things, but also represents other things, including the logarithms of rotations, due to the properties that those two things happen to share. That's a perspective that generalizes very well, compared to the GA version, because it separates the tensor representation from the operators; the two sides end up generalizing in different directions as you go to more complicated objects. When I get around to writing to my own exposition on this I'll go through that perspective very methodically.)

              • at_compile_time 11 hours ago

                >If you want to tell someone that exponentiating an area gives a rotation, you need to basically deal with the fact that that sentence sounds like nonsense.

                It's not just an area though, it's an area with orientation and magnitude. It's the complex exponential function extended to 3 dimensions.

                >By "unpedagogical" I mean: very hard to learn, and even when you learn it, often hard to explain. It's information that doesn't compress well, generalize well, or really convey direct understanding of what's going on. Maybe not the best word for this. Really, I just mean "bad".

                I can see where you're coming from on the learning part. There are as many different ways of learning GA as there are teachers, and this does hold it back.

                >To me it's incomplete knowledge; it needs to be improved upon so that it makes more sense for people who need to know it. In doing so it will also become easier to learn.

                I wish you luck, and I hope that I find it on here someday.

        • howling a day ago

          You have to read the first paragraph as well.

          > I have given a lot of reasons why I think GA is problematic: the Geometric Product is a bad operation for most purposes. It really implements operator composition and is not a very fundamental or intuitive thing. Using a Clifford Algebra to implement geometry is an implementation detail, appropriate for some problems but not for general understandings of vector algebra and all of geometry. Giving it first-class status and then bizarrely acting like that is not weird is weird and alienating to people who can see through this trick.

          If I understand him correctly, he means Clifford algebra is "appropriate for some problems" but we should "move away" from "giving it first-class status" as it is not more fundamental and often does not help students understand geometry better. I also readily admitted that it has some use cases in game physics in my comment.

          • hamish_todd 15 hours ago

            You're making the word "some" do a lot of work in this comment. It's true that eg I would represent the inertia tensor with a matrix. But I would calculate it with GA... and I struggle to think of many other physics problems for which I wouldn't use GA (Poisson bracket in GA is particularly elegant). See my other comment on projections I suppose.

            On the other hand, from what you've posted you're clearly experienced with computer graphics - it sounds like you have at some point interpolated with dual quaternions?

            This hackernews thread may not be sustainable, so perhaps join the bivector discord? https://discord.gg/bBvkuTrM I would be very interested to find out the precise things you care about, on the off chance that there is some not-yet-known-to-you way that GA can help you.

  • aap_ a day ago

    The article reads more like a trolling attempt. Geometric/Clifford algebra is incredibly useful and by throwing away its product you lose a lot of the power of the algebra. It's like saying matrix multiplication is not useful and you really want to be multiplying and adding numbers in various ways. After all GA/CA elements can always be mapped to elements of a matrix algebra. To get rid of the idea of linear transformations and that they should compose just doesn't sound well thought through.

    I don't know what sort of crackpots he's talking about, personally i haven't heard of them, only the accusations. If the author can't separate the math from the people who developed and/or popularized it, too bad. Does GA magically give intuitive explanations for all sorts of weird things? no. Can you formulate a lot of stuff much more efficiently and concisely, and does it help gain new perspective on some things? yes, absolutely. It provides a wonderful framework for expressing geometric ideas.

    • howling a day ago

      > Can you formulate a lot of stuff much more efficiently and concisely, and does it help gain new perspective on some things? yes, absolutely. It provides a wonderful framework for expressing geometric ideas.

      Can you elaborate on what stuff does it help to formulate much more efficiently and concisely?

      • aap_ a day ago

        I think one of the coolest examples is probably classical mechanics. See the SIBGRAPI 2021 videos on https://bivector.net/doc.html

        • howling a day ago

          All of these stuff can be done in normal linear algebra. Some (not all) of the operations can be done more efficiently with GA in low dimensions. It is neither more concise nor more intuitive to understand than normal linear algebra.

          • hamish_todd 16 hours ago

            There are ten thousand examples I want to give of why you're wrong. We have to start somewhere so here's a favourite, the "universal projection formula":

            (A.B)/B

            Projects any A onto any B, in any number of dimensions and with any signature (eg hyperbolic/Euclidean/elliptic). A and B can be lines, planes, points, and with a conformal or anti de Sitter metric a sphere or hyperboloid etc ("blades").

            It works because A.B is dimension independently the object "orthogonal to A and containing B or vice versa". And division by B will intersect that orthogonal object with B.

            Concise, intuitive, and powerful. What's the linear algebra formula you'd consider to be comparable?

    • dist-epoch a day ago

      > As for pure math—it seems like research mathematics readily talks about and uses Clifford Algebra, but is uninterested in or specificaly avoids the terms and concepts that are specific to Hestenes’ “Geometric Algebra”. I can speculate as to why: even by the 90s/00s, GA had gotten a bad reputation because of its tendency to attract bad mathematicians and full-on crackpots.

      https://alexkritchevsky.com/2024/02/28/geometric-algebra.htm...

      • aap_ 21 hours ago

        No example of such a crackpot is given. The author just claims this without evidence. I've heard this sort of argument before but it's not very clear what it refers to.

  • buescher 21 hours ago

    Without reading either article - yet - I can tell you "crackpot" can mean a lot of things, and one of them that is relevant to this context is "an academic that's more interested in ideas than in being a good research bureaucrat".

  • adornKey a day ago

    Interesting article.

    I have been telling people for more than a decade now to use the exterior product (and e.g. get rid of the clutter of strange Minus-Signs and div, grad and rot in Electrodynamics).

    And I was really happy to see that people finally start doing that.

    But when I saw the Geometric Product, it didn't look like anything I want. If someone says that it looks like a thing that the cat brought in, I'll think about it and will probably agree.

    • hamish_todd 16 hours ago

      The geometric product does transform composition. It has all the properties you want for multiplication in an algebra, or indeed a monoid or group.

      So it is like matrix multiplication, but for transforms represented as multivectors. Multivectors are nicer than matrices because they are made out of the separate (exterior algebra) objects so you can geometrically interpret them. For example, a rotation-reflection (rotoreflection/improper rotation) will have a grade 1 part and a grade 3 part. One of them is the plane you reflect in, one is the point you rotate around.

  • rhelz a day ago

    // tends to attract a lot of crackpot. //

    Come on. You know what else attracted a lot of crackpots? The internet. If you are criticizing math, criticize the math, not the people.

    // just learn exterior algebra instead of//

    YMMV, but I like to know where the mathematical concepts came from. GA gives a nice origin story, see below:

    // Most of the usefulness of GA comes from just exterior algebra //

    Dot products come from the geometric product. If e1 & e2 are two basis vectors such that e1*e1 = 1, and e1e2 = -e2*e1, then if you multiply two vectors:

    (a1*e1 + a2*e2)(b1*e1 + b2*e2) =

    a1*b1*e1*e1 + a1\b2*e1*e2 a2*b1*e2*e1+ a2*b2*e2*e2 =

    a1*b1 + a2*b2 + (a1*b2 - b2*a1)*e1*e2 =

    (a . b) + (a ^ b)

    The first is the dot product. The second is the exterior product that everybody agrees is so useful. Now you know where both concepts came from. They are just from multiplying polynomials. The geometric product is a *a product*, it's the product of two polynomials.

    Yes, sometimes you just need the dot product, and sometimes you just need the exterior product. If you are coding, or giving the final form of some formula, you don't have to always put both of them in your code or paper. But neither the dot product nor the wedge product are investable by themselves. Having an investable product on vectors is endlessly useful while you are *deriving* the formulas.*

    • howling a day ago

      > Yes, sometimes you just need the dot product, and sometimes you just need the exterior product. If you are coding, or giving the final form of some formula, you don't have to always put both of them in your code or paper.

      In my experience 99% of the time you just want the dot product or the exterior product. Even when you want both it is rare that you want to combine them linearly except in some niche physics/mathematics.

      > But neither the dot product nor the wedge product are investable by themselves. Having an investable product on vectors is endlessly useful while you are deriving the formulas.

      Do you mean invertible? Why is invertibility is so useful?

      • wvlia5 a day ago

        Yes, invertible like if you have a.x=b, then you can find x=b/a if . is the geometric product.

        Why? Well, solving equations sounds somewhat useful, right?

        • howling a day ago

          First of all it is only invertible for some non-zero elements, especially if `a` is a linear combination of multivectors or we work in PGA that explicitly adds a basis vector of norm 0. Yes sometimes it is useful but that doesn't automatically makes it more fundamental than the inner product and exterior product.

          • at_compile_time 20 hours ago

            You make it sound as though multivectors being invertible is a special case, when the opposite is true. In 2D and 3D GA, every non-zero k-vector and versor has an inverse. In PGA, every non-zero, non-ideal plane, line, and point, and versor has an inverse. The inverse is used all the damn time when composing and applying transformations and performing projections and rejections.

            As to which is more fundamental, I don't think it matters. You could argue that the dot and exterior products are more fundamental because the geometric product is their sum (for vectors). You could also argue that the geometric product is more fundamental because it is simply the Cartesian product of two multivectors, and you derive the dot, exterior and commutator products by filtering that product by grade. Both definitions are true, and "fundamental" is both a matter of perspective and irrelevant to any practical concern.

            • howling 19 hours ago

              > In 2D and 3D GA, every non-zero k-vector and versor has an inverse.

              Of course by definition every versor has an inverse. The invertibility of k-vector gets hairier for higher dimensions though. Even in 3D GA, some mixed-grade elements are not invertible.

              > As to which is more fundamental, I don't think it matters.

              It doesn't matter mathematically but it matters pedagogically. GA enthusiasts seem to advocate teaching GA to anyone that has learnt linear algebra. I believe it is more appropriate to stick to teaching tensor algebra and its quotient exterior algebra. Then it is up to you to learn Clifford algebra as a generalization of exterior algebra; especially if you are a game dev, a physicist, or a topological K-theorist.

              • at_compile_time 16 hours ago

                >Even in 3D GA, some mixed-grade elements are not invertible.

                This paper [1] claims to have inverses for general multivectors up to a certain dimension, but I've never needed them and haven't dived into it. I'm curious what the applications would be for general multivectors, I've never come across them in practice.

                1 - https://www.sciencedirect.com/science/article/abs/pii/S00963...

                • howling 7 hours ago

                  The paper's introduction says:

                  we first establish algebraic product formulas for the direct computation of the Clifford product inverses of multivectors in Clifford algebras Cl(p, q), n = p + q \le 5, excluding the case of divisors of zero.

              • aap_ 18 hours ago

                I'm curious about your perspective on exterior algebra. So far I've mostly seen it as a special case of GA so my view is probably GA-tinted. I'm just curious how you even do any sort of transformations since the exterior product doesn't allow these sorts of things. It seems like it only gives you the "things" in your algebra with few ways to do anything with them. You seem to agree with the author of the article you linked to in that the most useful aspects of GA come from EA. I find this very hard to see, so maybe you can shed some light on it? E.g. how do you rotate a bivector in EA?

                • howling 16 hours ago

                  There is no equivalent notion of rotor in EA. I would say its most important use is that you need it to define differential form in which we can define exterior derivative and integeration in arbitrary differentiable manifolds. It also enables to define determinant elegantly.

                • howling 16 hours ago

                  Sorry I forgot to answer your question: To rotate a bivector of the form v ^ w, just do R v ^ R w where R is the rotation matrix. This is a linear map so you can extend the operation linearly to arbitrary bivector.

nxobject a day ago

As an aside, I'm getting lots of stuttering when scrolling the website on a variable-refresh rate monitor + an M1 laptop. This is a static-content website – a profiling tells me consent SVG animation and their ganja.gs [1] math library accounts for this. Not a good sign for the engineering applications of this theory...

https://github.com/enkimute/ganja.js

  • itishappy a day ago

    Ganja.js is an amazingly general GA library. The problem with GA in general is that it uses a LOT of numbers. (3DPGA uses 4d multivectors with 16 numbers for every object, so dyadic operations can involve up to 16^2 elementary operations, similar to a matmul!) For most practical applications many of them cancel out and can be optimized away. I don't believe ganja.js does this, but there are algebra generators on the site that produce optimized code. I'm not sure why they chose the general library for their landing page instead of baking the animations, but the fact that it runs as performantly as it does is actually quite impressive to me!

    For a glimpse at the power of ganja.js, check out the coffeeshop examples:

    https://enkimute.github.io/ganja.js/examples/coffeeshop.html

  • johnnyjeans a day ago

    works fine on firefox on a 10 year old thinkpad. considering someone is also reporting issues on iphone, might want to file a bug report with apple.

  • redeux a day ago

    The site is also unusable on iPhone. The page keeps jumping up and down due to the same janky animation.

matthberg a day ago

Bivectors and higher show up a lot in the math of 4D+ geometry, too. There's a fascinating SIGRAPH 2020 talk [0] (with a paper [1]) by the maker of 4D Toys [2] and Miegakure (a 4D game in the works, [3]) explaining 4D geometry collision physics (with a good bivector intro in addition to the collision math). It's a great read and/or watch that smoothly covers everything from building basic intuitions to the gritty technical math of extending standard physics models to N-D spaces.

[0]: Bivector section timestamp: https://www.youtube.com/watch?v=JpxZQxXxMWY&t=479s

[1]: https://marctenbosch.com/ndphysics/

[1]: PDF: https://marctenbosch.com/ndphysics/NDrigidbody.pdf

[2]: https://4dtoys.com/

[3]: https://miegakure.com/

koolala 2 days ago

This link doesn't really explain anything directly.

  • phrotoma a day ago

    Really needs an about page. WTF am I looking at?

barrenko a day ago

Would this be useful for e.g. modelling terrains, or is used in something like GIS?

  • aeonik a day ago

    I think it could be, but there is a lack of good prediction libraries that support accelerated versions of the GA types.

Qem 2 days ago

Did Cixin Liu (Three Body Problem author) took Geometric Algebra as inspiration for some elements in his trilogy? There's reminiscent terminology in the story, like weapons names (dual vector foil).

  • wizviper a day ago

    A dual vector is just a linear-algebraic concept, no need for GA.

    • at_compile_time 19 hours ago

      It's also a bivector in 3D GA, no need for linear algebra.

TheCleric 2 days ago

I don’t know what it is but that site jumps around constantly on my phone. Can’t read it because none of the text sits still.

  • spartanatreyu 2 days ago

    Just block the "join us on Discord" banner with your adblocker.

    Super easy on android with Firefox and uBlock Origin.

    1. Load page

    2. Tap firefox's menu icon

    3. Tap Extensions

    4. Tap uBlock Origin

    5. Tap "Enter element picker mode"

    6. Tap the annoying moving text

    7. In the element picker, select the correct layer (you don't want to delete the background image behind the moving text, you want to delete the moving text so tap through the layers until you get the right one. For this website you want "###disc" rather than the default "||bivector.net/images/banner.jpg").

    8. Tap Create

    You now have a custom filter for that website that removes that annoying element from appearing.

    You now also have the knowledge to remove anything from any website on your phone.

  • Jtsummers 2 days ago

    It's their bouncing "Join us on Discord!" text. At its smaller font size it fits on one line, and then it increases to the larger size and spans two lines. This causes everything to shift up and down. It's a poorly thought out idea.

  • simojo 2 days ago

    The "Join us on Discord!" banner changes size periodically and bumps the content down each time. Zooming out keeps it from happening, if your eyes can take it ;)

  • colinthompson 2 days ago

    If you rotate your phone and view in landscape mode the problem goes away, on iPhone at least. Not ideal but at least it’s something.

  • ludwigschubert 2 days ago

    Are you also on a mini? ;-) Just because I really like bivector.net, despite its questionable web design choices: zooming out one level should make it so the animated “join our discord” no longer causes reflows. This should be fixed, but as a workaround until then for those of us on slimmer viewports…

  • enkimute a day ago

    fixed it. mea culpa.