Hacker News new | past | comments | ask | show | jobs | submit login

100% agree that bivectors are an easier to way to think about quaternions with less magical hand-waving. However, I have an opinion that feels important which I like to post whenever geometric algebra comes up:

Just because multivectors are intuitively superior doesn't mean GA is a solved pedagogical solution to rotations. It is itself very strange and unintuitive. In particular there is no satisfying explanation for what the geometric product means that I'm aware of (and I have read more-or-less everything there is on the subject). Certain restrictions of the product have a geometric interpretation but the overall operation doesn't. The product tends to be introduced in a just-so way: look, an operation! How neat! But if you're a student who's already wondering "wtf is a quaternion and why does this work" you're not going to be much better off wondering "wtf is a geometric product and why does it work".

I happen to think that the superior pedagogical solution is to do away with the geometric product as well and just focus on rotations as an application of the exponential map [https://en.wikipedia.org/wiki/Exponential_map_(Lie_theory)]. That is, quaternions emerge like this:

1. apply rotations via the exponential map acting on rotation operators: e^(iB) = 1 + (iB) + (iB)^2/2! + ...

2. in a flash of insight, realize that rotating vectors with two half-rotations is more stable than one full rotation: e^(iB) v => e^(iB/2) v e^(-iB/2)

I don't really understand the point of (2). I remember hearing that it works better in higher dimensions but couldn't tell you why.

But the point is, the useful properties -- like avoiding gimbal lock -- follow from just oriented planes and the exponential map. Gimbal lock is avoided by expressing rotations as a single rotation around an arbitrary axis, instead of, say composing Euler angles around fixed axes. But you don't need to mention the geometric product anywhere for this.

Anyway I think that this is a relatively 'unsolved' space, pedagogically. There is probably a really good explanation of why this all works that feels like it is still missing and doesn't involve any magic handwaving steps at all.




I see what you are saying.. As a counterpoint, to me, an oriented plane in 3d very much remembers a rotation though! The graphical convention of a plane with a circle arrow is great because it makes it very clear.

To see what a plane does to a vector, you take the product: of course you start with basis vectors and then later show that everything composes linearly.

The very important thing here is that the geometric product should Not be taught as the sum of scalar and cross product. Geometric product is defined by rules on the basis vectors and by linearity!

Now, I admit that when you see that making actual rotations is not as straighforward as one would expect, it’s confusing, and a bit disappointing. But, I think one can believe that bivectors are about rotation somehow, and then go further to the more complex exponential thing.

Idk maybe it’s just personal preferences, i studied quite a bit of math at college, but i never studied quaternions, and now I’m just very glad I didn’t, since this is much better to me!


To be clear, my preferred solution still includes the idea of an oriented plane. It just dispenses with the 'geometric product'.


Regarding the "pedagogy", my favorite method of learning is straightforward problem solving: http://blog.sigfpe.com/2006/08/you-could-have-invented-monad...

If you wanted to have state with pure functions, you would, according to DRY, be compelled to write the bind operator. You wouldn't have known to call it a monad or why some basement theoretician likens it to a burrtiofunctor, but you nevertheless would have made the obvious coding solution.

Is this possible for rotation without a PhD in geometry or algebra?


Well! I don't have a PhD at all, but I think the exponential map is a surprisingly intuitive operation once you get used to it. It works on all kinds of operators. I'd argue for teaching it much earlier, in intro calculus, to introduce the idea that e^(a d_x) f(x) = f(x + a). But it still feels like there is some magic in the fact that works that I don't have a really satisfying explanation for (although it is easy to see by expanding the Taylor series).


The magic comes from the fact that you can decompose a translation (as in your example) into a bunch of little ones. So you want an operator that has the property that F(a)g(x) = g(x+a) = F(a/N)^N g(x). Equating F(a) to F(a/N)^N (for any N) reveals the exponential structure. I’m sure there are other ways but this is the first that comes to mind. You can also try using a very small translation F(da) and that will give you some insight too.


Another way to see the it is to explore it from the matrix exponential structure and the link with trig (esp odd/even functions) or example this video: https://www.youtube.com/watch?v=UWrt9Fj80Kc&list=PLlXfTHzgMR...

so much structure even in 2x2 rotations


Yeah, I know how to derive it, but it still feels very unsatisfying to say: voila, you can put derivatives inside functions. It would be a hard sell to an intro calculus student, even though the concept would be very useful at that level.


You certainly do not need to have a phd in geometry and algebra for this. For example, the exp map is used all the time in robotics particularly in rigid body dynamics and kinematics.

Here is a free book made for undergraduates that teaches in that manner that just assumes some elementary linear algebra; http://hades.mech.northwestern.edu/index.php/Modern_Robotics

IMHO, geometric algebra makes certain things clear, but it's also oversold as something new or novel. It can be recast in the language of differential forms (covariant multivectors) which is very often used in physics.


For what it's worth, differential forms have plenty of their own pedagogical problems. IMO most of the value in them comes from the concept of multivectors, and very little from the fact that they're 'dual' to regular vectors (which is a finicky detail necessary to do covariant geometry correctly, but not useful for general intuition).


This is what was taught to me when I was in grad school. "The best way to represent rotation was the exponential of a matrix".

I did not really grasp what it meant but I did find the idea itself fascinating.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: