5 ms·
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
by hamish_todd 2y 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!
- howling 2y agoYou 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 2y agoYou'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 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.
- ajkjk 2y agoHi 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 2y agoA 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.