8 ms·
Less Weird Quaternions Using Geometric Algebra
- marcv81 9y agoQuarternions aren't weird. With a 2D angle we use 2 numbers (sin and cos) to calculate vector rotations. It turns out that in 3D we use 4 numbers.
- klodolph 9y agoThere's a lot of hand waving in that phrase, "it turns out". Sure, "it turns out" that 3D uses four numbers. Why? Geometric algebra explains that in a succinct way that also appeals to our intuition about geometry. Start by using bivectors to represent reflections, then take the closure of your bivectors and you get the even-ordered subalgebra. This will have dimension 2^(N-1)... so 2 for 2D, 4 for 3D, and 8 for 4D. This, to me, takes the mystery out of why quaternions can represent rotations, and it places quaternions in a coherent theory of geometry that works in any number of dimensions, not just 3D. Alternatively, we could accept that the math just happens to work out that way, or we could even show that quaternions are a double cover of SO(3), but all that does is analyze why something works, whereas the geometric algebra version is a bit less of a leap and builds quaternions from the ground up.
- yequalsx 9y agoI think there is a lot of unintentional irony in what you wrote. You start out saying, "There's a lot of hand waving in that phrase..." and then go on to write: "Start by using bivectors to represent reflections, then take the closure of your bivectors and you get the even-ordered subalgebra." It reminds me of the running joke we had in graduate school. Any book whose title starts off with "An Elementary Introduction to..." was going to be very difficult.
- twic 9y agoThere's definitely something a bit "just a monoid in the category of endofunctors" about that description. Which is not to say that it's not both true and helpful - it's just not very accessible. Perhaps if there was a one-sentence explanation of what a bivector was, it would be a lot clearer.
- defen 9y agoA bivector is a plane spanned by two vectors, with an associated orientation.
- abainbridge 9y agoThat hasn't helped!
- defen 9y agoIn a geometric setting - if you have two vectors, you can position them so that both have one end at the origin. This spans a plane (test it out yourself in 2D or 3D space with two pencils, put the eraser at the origin for each; it's a parallelogram). The area of the plane will depend on the length of the pencils. You can assign an orientation to the plane by imagining a rotor embedded in the plane that spins either clockwise or counterclockwise.
- abainbridge 9y agoHmmm. "The area of the plane will depend on the length of the pencils". Surely the area of the plane is infinite? The area of the _parallelogram_ will depend on the length of the pencils. And I can't see how "you can assign an orientation to the plane" other than by changing the directions of the pencils. Again this description sounds like it refers to the parallelogram, not the plane. And I don't know what a rotor is. But other than that, I'm doing great.
- klodolph 9y ago
- klodolph 9y agoI aiming that explanation at people who had read and understood the article. The article explains bivectors and how they can be used to represent reflections, and "closure" is a fairly common concept, so once you put those two together you should get a mathematical object which I've called "the even-ordered subalgebra". I haven't explained why it's even-ordered or what a subalgebra is, but I used those terms so you could at least have the vocabulary to talk about it or do a Google search. Mathematics education is hard. In my experience, you start out with no understanding of a subject and can't understand it when people explain it to you, and at some point it clicks and you can't understand why it was ever difficult. I could be intentionally obtuse and, for example, describe a vector space as an "abelian group, field, and homomorphism from the field to group endomorphisms", but I feel that's the only people who would use that definition already have a good understanding of vector spaces. The reason that I consider the non-GA approach to quaternions as rotations "hand wavy" is because it's not constructive, or perhaps just because I personally don't understand it. Using GA, I can construct a representation for rotations in any Euclidean space, not just 3D space, but 2D, 4D, 5D, whatever. However, without GA at my disposal, the fact that unit quaternions are a double cover for SO(3) seems like some kind of black magic that came from the void. I have a few drafts of an introductory article I was writing on geometric algebra sitting on my hard drive, but I've never been able to get the article into a state I'd consider publishable. So instead, I'm trying to inject what I know into HN discussions.
- yequalsx 9y agoI was a math Ph.D. student at Purdue University and studied commutative algebra. I understand what you were getting at. My comment was mostly tongue in cheek. For someone not versed in mathematics what you wrote could be ironic in a slightly humorous way. I.E. that the hand wavy way explanation is more understandable to a layman than subalgebras, and whatnot. That's the ironic difference between mathematicians and non-mathematicians. What is hand wavy to us is concrete to them and vice versa.
- marcv81 9y agoWhat I meant is that quaternions don't seem any weirder to me than sin/cos.
- tgb 9y agoI think that's a good motivation why we would study quaternions, but it's kinda hiding the big difference between 2D and 3D under the rug. In 2D, we have a nice, global coordinate system for the space of all rotations: what we call the angle. (Actually, it's a coordinate system for the "universal cover" of the space of rotations since angle X and angle X + 2pi give the same rotation, which mostly doesn't really matter.) Meanwhile, in 3D, there is no global coordinate system for the space of rotations! Euler examples uniquely specify a rotation, but the problem of Gimbal lock [1] means that they break down as coordinates at some point (i.e. there's no inverse to go from rotation in 3D to its corresponding Euler angles, which there is in 2D, with the caveat already mentioned). This is analogous to the problem of finding a coordinate system for the globe: specifying latitude and longitude tells you were you are, but there's a degeneracy at the poles. And no possible coordinate system can solve this problem entirely. Contrast this to the situation of giving a coordinate system for the circle, which we do with it's angle. This isn't quite a coordinate system, due to the problem we already encountered that X and X + 2pi are the same, but that's OK because the these two points are separated from each other. On the sphere, the latitude/longitude pair (pi/2, x) gives the north pole for any value of x, even ones that are arbitrarily close together. That maps not even locally invertible! You suggest we think of points on the circle as point in 2D space that happen to lie on the circle (i.e. cos and sin of the angle corresponding to that point). Analogously, we can think of points on the sphere as points in 3D space that happen to lie on the sphere (like some point (x,y,z) with x^2 + y^2 + z^2 = 1). And analogously, we can think of rotations of 3D space as a point in 4D space (that happens to satisfy some conditions), and the quaternions give that 4D point. This is fantastic and convenient in both 2D and 3D! But in 2D we didn't need to do this, but could if we wanted to. For 3D rotations, we do need to, or else we have this terrible degeneracy that never rears its head in 2D. In that sense, 2D and 3D are very different! [1] https://en.wikipedia.org/wiki/Gimbal_lock https://en.wikipedia.org/wiki/Gimbal_lock
- Grustaf 9y ago> Meanwhile, in 3D, there is no global coordinate system for the space of rotations There are plenty, it's just that you can't have a 3-dimensional one without singularities. https://en.wikipedia.org/wiki/Hairy_ball_theorem https://en.wikipedia.org/wiki/Hairy_ball_theorem
- arnioxux 9y agoFor people trying to understand quaternions, the faster way to intuition is understanding axis-angle first. I think axis-angle is totally intuitive. First pick a direction (some 3d unit vector) and then rotate around that direction by some amount (so some scalar). Then convert those four numbers to quaternions qx = ax * sin(angle/2) qy = ay * sin(angle/2) qz = az * sin(angle/2) qw = cos(angle/2) where (ax, ay, az) is the unit direction (ax^2 + ay^ + az^2 = 1) and angle is the amount you want to rotate. http://www.euclideanspace.com/maths/geometry/rotations/conversions/angleToQuaternion/ http://www.euclideanspace.com/maths/geometry/rotations/conve... http://www.euclideanspace.com/maths/geometry/rotations/conversions/quaternionToAngle/ http://www.euclideanspace.com/maths/geometry/rotations/conve...
- catnaroek 9y ago> OK so what is this Geometric Algebra? It’s an alternative to linear algebra. No. Geometric algebra is a use case of linear algebra. How can it be an alternative? > Before I tell you how to actually evaluate the wedge product, I first have to tell you the properties that it has: > 1. It’s anti-commutative: a \wedge b = -b \wedge a > 2. The wedge product of a vector with itself is 0: a \wedge a = 0 Redundant information. The latter follows from the former.
- klodolph 9y agoIt's definitely an alternative in the sense that it gives you an alternative framework for concepts that are taught under the banner of linear algebra in school. For example, it gives an alternative construction for quaternions as a subalgebra, and it gives the exterior product as an alternative to the cross product.
- catnaroek 9y agoExterior algebras themselves are defined in terms of standard linear algebra concepts (tensor algebras, ideals, quotients). I don't see how you can claim something is an alternative to linear algebra if you need to know linear algebra to define it, nevermind use it.
- Retra 9y agoLeft is an alternative to right. Right is the opposite of left. They are alternatives, yet defined in terms of each other. You can't know one without the other. Doesn't seem contradictory to me...
- auggierose 9y agoI'd say alternative is an unlucky choice of words. I'd rather say geometric algebra (GA) is an extension of linear algebra (LA). In order to really understand GA you need first to firmly understand LA. Then it becomes clear that all that GA does is to turn a Hilbert space into an algebra called a Clifford algebra, and to examine the geometric semantics of the various operations that pop up in the process. Here are three great sources that helped me to understand GA: 1. https://www.amazon.co.uk/Geometric-Algebra-Computer-Science-Revised/dp/0123749425 https://www.amazon.co.uk/Geometric-Algebra-Computer-Science-... 2. https://www.amazon.co.uk/Linear-Geometric-Algebra-Alan-Macdonald/dp/1453854932 https://www.amazon.co.uk/Linear-Geometric-Algebra-Alan-Macdo... 3. https://www.amazon.co.uk/Algebra-Graduate-Texts-Mathematics-Serge/dp/1461265517 https://www.amazon.co.uk/Algebra-Graduate-Texts-Mathematics-... , pages 749-752 The first source gives great motivation and intuition for GA and its various products. Its mostly coordinate free approach is very refreshing and makes the subject feel exciting and magical. This is also the problem of the book, it's easy to end up confused and disoriented after working through it for a while. The second source is great because it grounds GA firmly on LA, and makes everything very clear and precise. The third source gives a short and concise definition of what a Clifford algebra is.
- Grustaf 9y agoQuaternions are beautiful and natural, not weird, but I'm always happy when they get some attention! This was a very interesting article, thanks. It does seem to confuse quaternions in general with (unit) quaternions as used for rotating vectors. For example: >So don’t think of quaternions as a 4 dimensional hypersphere of radius 1 This is also a bit weird: >But nobody would ever suggest that we should think of a rotation matrix as a 9 dimensional hyper-cube with rounded edges of radius 3. Even weirder when they claim that the axis-angle interpretation of (unit) quaternions "breaks down". Anyway, back in high-school when I first became fascinated with quaternions I certainly didn't expect to be working with them on a daily basis two decades later. The moral of this is that anything you learn can become crucial to your career...
- klodolph 9y agoA couple things to add. For notation, we would often see the basis vectors named (e_1, e_2, e_3) instead of (x, y, z). The quaternions are the even-ordered subalgebra of the 3D exterior algebra. The exterior algebra has scalars (1), vectors (x, y, z), bivectors (xy, yz, zx), and pseudoscalars (xyz). The even-ordered subalgebra is scalars and bivectors (1, xy, yz, zx). Adding or multiplying two even-ordered multivectors will always give you an even-ordered multivector, and 1 is even-ordered, so the even-ordered multivectors form a subalgebra. We can also conceive of this subalgebra, the quaternions, as a Clifford algebra. Clifford algebras are generalizations of exterior algebras. Instead of saying v * v = 0, we can put something else on the RHS, and for quaternions we can start with just two basis vectors e_1 and e_2, and then define e_1 * e_1 = e_2 * e_2 = -1. The third basis vector for quaternions is then just e_1 * e_2.
- logfromblammo 9y agoThe odd-ordered subalgebra (x, y, z, xyz) is symmetrical to the even-ordered subalgebra (1, xy, yz, zx), and can also represent quaternions.
- klodolph 9y agoThe odd-ordered subspace is a subspace, not a subalgebra, because multiplication is not closed.
- Govindae 9y agoThat doesn't work, the odd space isn't closed. xx = 1
- logfromblammo 9y agoI don't know what I was thinking....
- amai 9y agoThis helped me a lot to understand quaternions using simple algebra: https://math.stackexchange.com/questions/147166/does-my-definition-of-double-complex-noncommutative-numbers-make-any-sense https://math.stackexchange.com/questions/147166/does-my-defi...
- mwkaufma 9y agoGeometric algebra is "easier" to understand than plain-old imaginary numbers? Pourquoi?
- tnone 9y agoThis is great insight, but it seems a bit silly to act like you don't need a 4D / hypersphere representation when the 4th one is hiding in plain sight. For the not-quaternion to describe a rotation, it needs unit length in 4D, with the two components scaled as a sine/cosine pair.
- Govindae 9y agoWhile we all learned in middle school geometric algebra that the even subalgebra of G3 is isomorphic to the quaternions, what is the relationship between the even subalgebra of G4 and the octonions? If you write out a multiplication table, it seems that it's isomorphic. But... Octonions aren't associtive. Does the even subalgebra of G4 somehow lose associativity? Is it equivalent to Octonions with a cannonical multiplication order?