Saturday, August 6, 2022

Octonions

I'm trying to learn about octonions. Rather than standard descriptions, these are some of my own thoughts, not all will necessarily be accurate as they're quite complicated beasts. I have added a more thorough set of information here

It is helpful to describe them in terms of the other division algebras:

  1. The complex numbers describe rotation in one plane (2D) plus scale. That is two degrees of freedom, so one complex number is applied in the multiply, giving a binary operator: 
  2. The quaternions describe rotations in two planes (4D) plus scale. That requires two quaternions to apply in the multiply, so fundamentally it is a trinary operator. q1 and q2 together rotate q:
  3. The octonions describe rotations in 4 planes (8D) plus scale. That requires four octonions to apply in the multiply, so fundamentally it is a 5-ary operator:

People don't use the multiply syntax quite as above, but I think that is a clearer way to describe what is happening, because using those operators each one is describing a full rotation in 2D, 4D and 8D respectively. The usual description is that it requires 7 octonion multiplies to generate a full 8D rotation, but that is when all multiplies work the same way. In On Quaternions and Octonions (A.K. Peters 2003) they get down to SO(8) from 5 multiplications as long as they aren't all left, all right or all bimultiplies (a left and right by the same octonion). The '5-ary' multiply above is four multiplications, but we pull from more than just left and right multiplies, so it seems reasonable that it could represent SO(8). I'll explain using the quaternions as an example.

A single quaternion left-multiply rotates in one plane that contains the (1,0,0,0) vector, and by an equal angle in the orthogonal plane. The right multiply does the same thing but rotates about the negative angle in the orthogonal plane. This combination of a ++ with a +- by a different angle value allow any combination of two angles, giving a full rotation. 

For octonions there are four planes that the rotation angle can be positive or negative on. This doesn't leave enough room with just left and right multiplies for all of the combinations. We want to rotate using ++++, ++--, +-+- and +--+ by different angles for each, which achieves the full set of rotations. That would require an "up multiply" and "down multiply" or some such label. In the 5-ary operator above o1,o2,o3 and o4 would each use a different one of these multiplies.

You can of course still define the usual quaternion or octonion multiply, and these single binary operations both apply a 'special rotation' by which I mean a subset of the full set of rotations. For quaternions that is a self-dual or isoclinic rotation, which means by the same angle on two orthogonal planes, and for octonions it is by the same angle on four orthogonal planes. 

You can also negate the extra rotation planes to leave a 'simple rotation' meaning a rotation around a single plane. For quaternions that is or in usual syntax:. For octonions it is:or something similar. The idea is that the ++++, ++--, +-+-, +--+ sum together to give 4,0,0,0 times whatever the rotation angle was. This means that octonions would be a quadruple cover of the space, when used for simple rotations.

Note that octonion multiplication only rotates 8D vectors, not 8D rotations. While the above complex number and quaternion multiplications are equivalent to vector transformation  and matrix (SO(n)) transformation , octonions are only equivalent to the vector transformation. That is because 8D rotations are SO(8) which can be represented by an 8x8 orthonormal matrix, and matrix multiplication is associative, unlike for octonions.

In summary:

  • Complex, Quaternion and Octonion numbers all support three types of rotation:
    • a 'full rotation' (binary, trinary and 5-ary operators), by different angles for each plane
    • a 'special rotation' (isoclinic), which is the standard binary product operator
    • a 'simple rotation' which is in a single plane
  • It is just that for complex numbers, the three are the same.
  • while quaternion (and complex number) multiplication rotates both vectors and other isoclinic rotations, octonion multiplication only rotates (8D) vectors, it cannot be thought of as an 8D isoclinic rotation under multiplication. 

If we define Is(n) to be the set of isoclinic rotations from SO(n) then this is a better way to summarise:


The - at the bottom indicates that 8D isoclinic rotations do not form a group under octonion multiplication. Indeed, it is true that 8D (and any higher order) isoclinic rotations are not a group. So they do not form a subgroup of SO(8).