Hacker News new | ask | show | jobs
by yequalsx 3234 days ago
I 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.

2 comments

I 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.

I 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.
There'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.
A scalar is just a magnitude (call it amount). A vector is a direction with magnitude (call it length). A bivector is a pair of directions with magnitude (call it area). You can keep going and make something with volume and even more into higher dimensions.

Imagine putting a 2d rectangle into 3d space with some orientation. Starting from some corner of the rectangle, you have two sides coming out from it. In 3d space, those sides make 3d vectors. You can generalize it to 3 vectors making a cube with magnitude (volume). And these don't have to be perfect rectangles and cubes, they can be parallelograms and parallelopipeds (3d parallelograms) and higher dimensional analogues.

A bivector is a plane spanned by two vectors, with an associated orientation.
That hasn't helped!
Think in terms of magnitude (which can be positive or negative) and direction.

Think of a scalar. It has a magnitude but it doesn't have a direction. It's 0-dimensional.

Think of a vector. It has a magnitude (the size of the vector) and it also has a direction, which points in a straight line through the origin. It's 1-dimensional. For example, the vector (2,0,0) has magnitude 2 and points along the X-axis. You could write that as 2 * x, if x is the vector (1,0,0).

A bivector also has a magnitude, but instead of being 0-dimensional (like a scalar) or 1-dimensional (like a vector, it's 2-dimensional. So you could have a bivector that "points" along the entire XY-plane (remember: two-dimensional) and has some magnitude, say, 5. You could write that as 5 * x * y, if x is (1,0,0) and y is (0,1,0).

If you attach physical units to these things, then you might have units of meters for vectors, and square meters for bivectors.

Having an understanding of subspaces in linear algebra is helpful.

In 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.
Hmmm.

"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.

Yes, when I said plane I really meant the parallelogram. By rotor I literally just meant "a thing that spins" - you could draw a circle on the parallelogram with an embedded arrow describing the direction it is spinning - that arrow could either be going clockwise or counterclockwise.
The length of a line is infinite too. If you think of a vector as a line + magnitude, it's a bit more natural to think of a bivector as a plane + magnitude.
Do you know what a vector is? Vector:Line == Bivector:Plane

A vector is an oriented (+,-) magnitude(length) _in_ a line. A Bivector is an oriented (+,-) magnitude(area) _in_ a plane.

That area does not have any particular shape.