User:Jheald/sandbox/GA/Rotations in 4-dimensional Euclidean space


 * Note: An initial baseline, formed by adding material from bivector to contents of Rotations in 4-dimensional Euclidean space


 * Existing lead:

In mathematics, the group of rotations about a fixed point in four-dimensional Euclidean space is denoted SO(4). The name comes from the fact that it is (isomorphic to) the special orthogonal group of order 4.

In this article rotation means rotational displacement. For the sake of uniqueness rotation angles are assumed to be in the segment $$[0, \pi]$$ except where mentioned or clearly implied by the context otherwise.


 * Alternative: text from Rotation_(mathematics)

A general rotation in four dimensions has only one fixed point, the centre of rotation, and no axis of rotation. Instead the rotation has two mutually orthogonal planes of rotation, each of which is fixed in the sense that points in each plane stay within the planes. The rotation has two angles of rotation, one for each plane of rotation, through which points in the planes rotate. If these are ω1 and ω2 then all points not in the planes rotate through an angle between ω1 and ω2.

If ω1 = ω2 the rotation is a double rotation and all points rotate through the same angle so any two orthogonal planes can be taken as the planes of rotation. If one of ω1 and ω2 is zero, one plane is fixed and the rotation is simple. If both ω1 and ω2 are zero the rotation is the identity rotation.

Rotations in four dimensions can be represented by 4th order orthogonal matrices, as a generalisation of the rotation matrix. Quaternions can also be generalised into four dimensions, as even Multivectors of the four dimensional Geometric algebra. A third approach, which only works in four dimensions, is to use a pair of unit quaternions.

Rotations in four dimensions have six degrees of freedom, most easily seen when two unit quaternions are used, as each has three degrees of freedom (they lie on the surface of a 3-sphere) and 2 × 3 = 6.


 * Other stuff which might go in:


 * Relate SO(4) to the group of transformations
 * $v^\prime = M v$
 * where v is a four-dimensional Euclidean vector, and M is an orthogonal matrix


 * whereas Spin(4) corresponds to representing the transformations
 * $A^\prime = R \, A \, R^{-1}$

where A is a general member of the Clifford algebra (or Geometric algebra) Cℓ4(R), and R is a rotor (mathematics), a member of the even sub-algebra of the Clifford algebra which can be represented as a spin matrix.

Geometry of 4D rotations
There are two kinds of 4D rotations: simple rotations and double rotations.

Simple rotations
A simple rotation R about a rotation centre O leaves an entire plane A through O (axis-plane) fixed. Every plane B that is completely orthogonal to A intersects A in a certain point P. Each such point P is the centre of the 2D rotation induced by R in B. All these 2D rotations have the same rotation angle $$\alpha$$.

Half-lines from O in the axis-plane A are not displaced; half-lines from O orthogonal to A are displaced through $$\alpha$$; all other half-lines are displaced through an angle $$< \alpha$$.

Double rotations
A double rotation R about a rotation centre O leaves only O fixed. Any double rotation has at least one pair of completely orthogonal planes A and B through O that are invariant as a whole, i.e. rotated in themselves. In general the rotation angles $$\alpha$$ in plane A and $$\beta$$ in plane B are different. In that case A and B are the only pair of invariant planes, and half-lines from O in A, B are displaced through $$\alpha$$, $$\beta$$, and half-lines from O not in A or B are displaced through angles strictly between $$\alpha$$ and $$\beta$$.

Isoclinic rotations
If the rotation angles of a double rotation are equal then there are infinitely many invariant planes instead of just two, and all half-lines from O are displaced through the same angle. Such rotations are called isoclinic or equiangular rotations, or  Clifford displacements. Beware: not all planes through O are invariant under isoclinic rotations; only planes that are spanned by a half-line and the corresponding displaced half-line are invariant.

There are two kinds of isoclinic 4D rotations. To see this, consider an isoclinic rotation R, and take an ordered set OU, OX, OY, OZ of mutually perpendicular half-lines at O (denoted as OUXYZ) such that OU and OX span an invariant plane, and therefore OY and OZ also span an invariant plane. Now assume that only the rotation angle $$\alpha$$ is specified. Then there are in general four isoclinic rotations in planes OUX and OYZ with rotation angle $$\alpha$$, depending on the rotation senses in OUX and OYZ.

We make the convention that the rotation senses from OU to OX and from OY to OZ are reckoned positive. Then we have the four rotations R1 = $$(+\alpha, +\alpha)$$, R2 = $$(-\alpha, -\alpha)$$, R3 = $$(+\alpha, -\alpha)$$ and R4 = $$(-\alpha, +\alpha)$$. R1 and R2 are each other's inverses; so are R3 and R4.

Isoclinic rotations with like signs are denoted as left-isoclinic; those with opposite signs as right-isoclinic. Left- (Right-) isoclinic rotations are represented by left- (right-) multiplication by unit quaternions; see the paragraph "Relation to quaternions" below.

The four rotations are pairwise different except if $$\alpha = 0$$ or $$\alpha = \pi$$. $$\alpha = 0$$ corresponds to the non-rotation; $$\alpha = \pi$$ corresponds to the central inversion. These two elements of SO(4) are the only ones which are left- and right-isoclinic.

Left- and right-isocliny defined as above seem to depend on which specific isoclinic rotation was selected. However, when another isoclinic rotation R' with its own axes OU'X'Y'Z' is selected, then one can always choose the order of U', X', Y', Z' such that OUXYZ can be transformed into OU'X'Y'Z' by a rotation rather than by a rotation-reflection. Therefore, once one has selected a system OUXYZ of axes that is universally denoted as right-handed, one can determine the left or right character of a specific isoclinic rotation.

Spin(4)
In four dimensions the basis elements for the space Λ2ℝ4 of bivectors are (e12, e13, e14, e23, e24, e34), so a general bivector is of the form


 * $$ \mathbf{A} = a_{12}\mathbf{e}_{12} + a_{13}\mathbf{e}_{13} + a_{14}\mathbf{e}_{14} + a_{23}\mathbf{e}_{23} + a_{24}\mathbf{e}_{24} + a_{34}\mathbf{e}_{34}.$$

Orthogonality
In four dimensions bivectors are orthogonal to bivectors. That is the dual of a bivector is a bivector, and the space Λ2ℝ4 is dual to itself in Cℓ4(ℝ). Normal vectors are not unique, instead every plane is orthogonal to all the vectors in its dual space. This can be used to partition the bivectors into two 'halves', for example into two sets of three unit bivectors each. There are only four distinct ways to do this, and whenever it's done one vector is in only one of the two halves, for example (e12, e13, e14) and (e23, e24, e34).


 * Comment: Not clear what this partitioning into "halves" is meant to be serving. The "4 ways" would appear to arise because you can make three independent choices for your bivector basis elements, to go into each half of the partition: e12 or e34; e13 or e24; e14 or e23. This gives 4 = 23 / 2 choices -- dividing by two because you get the same partition if you swap the sets over.


 * However, this is not how Spin(4) gets partitioned into Sp(1) × Sp(1). Instead the two subalgebras are those generated by (e12, e13, e32)(1 + e1234) and (e12, e13, e32)(1 - e1234), corresponding to "left"- and "right"-isolinic rotations.


 * Linear combinations of these bivectors (and corresponding compounded rotations) do remain in their partitions, whereas that is not true for the bivectors above.


 * (But it could be that I have not correctly understood the intended meaning of the "partioning" into two "halves" above)

Simple bivectors in 4D
In four dimensions bivectors are generated by the exterior product of vectors in ℝ4, but with one important difference from ℝ3 and ℝ2. In four dimensions not all bivectors are simple. There are bivectors such as e12 + e34 that cannot be generated by the external product of two vectors. This also means they do not have a real, that is scalar, square. In this case


 * $$(\mathbf{e}_{12} + \mathbf{e}_{34})^2 =\mathbf{e}_{12} \mathbf{e}_{12} + \mathbf{e}_{12} \mathbf{e}_{34} + \mathbf{e}_{34} \mathbf{e}_{12} + \mathbf{e}_{34} \mathbf{e}_{34} = -2 + 2 \mathbf{e}_{1234}.$$

The element e1234 is the pseudoscalar in Cℓ4, distinct from the scalar, so the square is non-scalar.

All bivectors in four dimensions can be generated using at most two exterior products and four vectors. The above bivector can be written as


 * $$\mathbf{e}_{12} + \mathbf{e}_{34} = \mathbf{e}_{1} \wedge \mathbf{e}_{2} + \mathbf{e}_{3} \wedge \mathbf{e}_{4}.$$

Alternately every bivector can be written as the sum of two simple bivectors. It is useful to choose two orthogonal bivectors for this, and this is always possible to do. Moreover for a general bivector the choice of simple bivectors is unique, that is there is only one way to decompose into orthogonal bivectors. This is true also for simple bivectors, except one of the orthogonal parts is zero. The exception is when the two orthogonal bivectors have equal magnitudes (as in the above example): in this case the decomposition is not unique.


 * Comment "Alternately every bivector can be written as the sum of two simple bivectors" -- but is that not what the display equation immediately above it has just done?

Rotations in ℝ4
As in three dimensions bivectors in four dimension generate rotations through the exponential map, and all rotations can be generated this way. As in three dimensions if B is a bivector then the rotor R is eB/2 and rotations are generated in the same way:


 * $$v' = RvR^{-1}.\,$$



The rotations generated are more complex though. They can be categorised as follows:
 * simple rotations are those that fix a plane in 4D, and rotate by an angle "about" this plane.
 * double rotations have only one fixed point, the origin, and rotate through two angles about two orthogonal planes. In general the angles are different and the planes are uniquely specified
 * isoclinic rotations are double rotations where the angles of rotation are equal. In this case the planes about which the rotation is taking place are not unique.

These are generated by bivectors in a straightforward way. Simple rotations are generated by simple bivectors, with the fixed plane the dual or orthogonal to the plane of the bivector. The rotation can be said to take place about that plane, in the plane of the bivector. All other bivectors generate double rotations, with the two angles of the rotation equalling the magnitudes of the two simple bivectors the non-simple bivector is composed of. Isoclinic rotations arise when these magnitudes are equal, in which case the decomposition into two simple bivectors is not unique.

Bivectors in general do not commute, but one exception is orthogonal bivectors and exponents of them. So if the bivector, where B1 and B2 are orthogonal simple bivectors, is used to generate a rotation it decomposes into two simple rotations that commute as follows:


 * $$ R = e^{\frac{\mathbf{B}_1 + \mathbf{B}_2}{2}} = e^{\frac{\mathbf{B}_1}{2}}e^{\frac{\mathbf{B}_2}{2}} = e^{\frac{\mathbf{B}_2}{2}}e^{\frac{\mathbf{B}_1}{2}}$$

It is always possible to do this as all bivectors can be expressed as sums of orthogonal bivectors.


 * Probably in an article on rotations, this section is more-or-less where we need to start, and then into more discussion of bivectors. Some introductory material on GA is going to be needed, the question will be how to minimise/summary-style but still try to keep accessibility


 * The crucial thing to add is going to be a section on isoclinic rotations


 * Isoclinic rotations can be represented by a simple bivector and a projection operator, which creates a corresponding rotation in the orthogonal (dual) subspace:


 * (u ∧ v) ½ (1 ± e1234)


 * Two different projectors are possible, depending on whether the rotation in the orthogonal subspace is to be in the same sense or the opposite sense as that in the original subspace, with respect to the order of directions established by e1, e2, e3, e4


 * A general double rotation (a ∧ b + u ∧ v) can be re-written as (a ∧ b + u ∧ v) ½ (1 + e1234) + (a ∧ b + u ∧ v) ½ (1 - e1234) = BL ½ (1 + e1234) + BR ½ (1 - e1234), where BL and BR could be chosen to each be elements of the form (αe12 + βe23 + γe31)


 * The projection operators (i) commute with the bivectors, and (ii) mutually annihilate, so exponentiation gives the operator ½ (1 + e1234)eBL/2 + ½ (1 - e1234)eBR/2


 * e1234 commutes with bivectors, but anti-commutes with vectors, so applying this to a vector v gives


 * ½ (1 + e1234) eBL/2 v e- BR/2 + ½ (1 - e1234) eBR/2 v e- BL/2


 * This can be simplified by collecting up terms at different grades. The vector part of eBL/2 v e- BR/2 is symmetric under self-reverse, while the trivector part in either expression is anti-symmetric, giving in all:


 * &lt;eBL/2 v e- BR/2&gt;1 + e1234 &lt;eBL/2 v e- BR/2&gt;3


 * = &lt;eBR/2 v e- BL/2&gt;1 - e1234 &lt;eBR/2 v e- BL/2&gt;3


 * which is nice, because it shows that the form of the equation is invariant if one changes the labelling of the axes by e.g. the transformation


 * The scalar bit contributes terms like (1 . e1 . 1); (1 . e1 . e12); (e12 . e1 . e21) and (e12 . e1 . e32)
 * The trivector bit contains terms like (1 . e1 . e23) and (e12 . e2 . e32) or (e12 . e4 . e23)


 * We can also write this as
 * &lt;eBL/2 (1 + e1234) v e- BR/2&gt;1






 * -- identifying a vector with a quaternion is (give or take an overall sign) the mapping (e1, e2, e3, e4) -> (1, e12, e23, e31), not (1, e12, e13, e14)
 * on the other hand, the two sets have the same image if pre-multiplied by the projector (1 + e1234), which may be relevant.
 * on the other hand, the two sets have the same image if pre-multiplied by the projector (1 + e1234), which may be relevant.

SO(4)
Where should the coverage of groups go? Should the apparatus for the three ways of doing the calculations be developed first, and the nature of the rotations be explored first, and then have a section Rotation Groups? Or should the Groups section go higher up? Or can we put it in the middle, having introduced some of the calculating methods, but leaving some of the detailed calculations till later?

Group structure of SO(4)
SO(4) is a noncommutative compact 6-parameter Lie group.

Each plane through the rotation centre O is the axis-plane of a commutative subgroup isomorphic to SO(2). All these subgroups are mutually conjugate in SO(4).

Each pair of completely orthogonal planes through O is the pair of invariant planes of a commutative subgroup of SO(4) isomorphic to SO(2) &times; SO(2).

These groups are maximal tori of SO(4), which are all mutually conjugate in SO(4). See also Clifford torus.

All left-isoclinic rotations form a noncommutative subgroup S3L of SO(4) which is isomorphic to the multiplicative group S3 of unit quaternions. All right-isoclinic rotations likewise form a subgroup S3R of SO(4) isomorphic to S3. Both S3L and S3R are maximal subgroups of SO(4).

Each left-isoclinic rotation commutes with each right-isoclinic rotation. This implies that there exists a direct product S3L &times; S3R with normal subgroups S3L and S3R; both of the corresponding factor groups are isomorphic to the other factor of the direct product, i.e. isomorphic to S3.

Each 4D rotation R is in two ways the product of left- and right-isoclinic rotations RL and RR. RL and RR are together determined up to the central inversion, i.e. when both RL and RR are multiplied by the central inversion their product is R again.

This implies that S3L &times; S3R is the double cover of SO(4) and that S3L and S3R are normal subgroups of SO(4). The non-rotation I and the central inversion -I form a group C2 of order 2, which is the centre of SO(4) and of both S3L and S3R. The centre of a group is a normal subgroup of that group. The factor group of C2 in SO(4) is isomorphic to SO(3) &times; SO(3). The factor groups of C2 in S3L and S3R are isomorphic to SO(3). The factor groups of S3L and S3R in SO(4) are isomorphic to SO(3).

Special property of SO(4) among rotation groups in general
The odd-dimensional rotation groups do not contain the central inversion and are simple groups.

The even-dimensional rotation groups do contain the central inversion −I and have the group C2 = {I, −I} as their centre. From SO(6) onwards they are almost-simple in the sense that the factor groups of their centres are simple groups.

SO(4) is different: there is no conjugation by any element of SO(4) that transforms left- and right-isoclinic rotations into each other. Reflections transform a left-isoclinic rotation into a right-isoclinic one by conjugation, and vice versa. This implies that under the group O(4) of all isometries with fixed point O the subgroups S3L and S3R are mutually conjugate and so are not normal subgroups of O(4). The 5D rotation group SO(5) and all higher rotation groups contain subgroups isomorphic to O(4). Like SO(4), all even-dimensional rotation groups contain isoclinic rotations. But unlike SO(4), in SO(6) and all higher even-dimensional rotation groups any pair of isoclinic rotations through the same angle is conjugate. The sets of all isoclinic rotations are not even subgroups of SO(2N), let alone normal subgroups.

Algebra of 4D rotations
SO(4) is commonly identified with the group of orientation-preserving isometric linear mappings of a 4D vector space with inner product over the reals onto itself.

With respect to an orthonormal basis in such a space SO(4) is represented as the group of real 4th-order orthogonal matrices with determinant +1.


 * Comment Do this section the other way round -- start with the GA description, then the quaternions, then the matrices & show it reproduces the matrix product.

Isoclinic decomposition
A 4D rotation given by its matrix is decomposed into a left-isoclinic and a right-isoclinic rotation as follows:

Let $$A= \begin{pmatrix} a_{00} & a_{01} & a_{02} & a_{03} \\ a_{10} & a_{11} & a_{12} & a_{13} \\ a_{20} & a_{21} & a_{22} & a_{23} \\ a_{30} & a_{31} & a_{32} & a_{33} \\ \end{pmatrix} $$ be its matrix with respect to an arbitrary orthonormal basis.

Calculate from this the so-called associate matrix

$$M= \frac{1}{4} \begin{pmatrix} a_{00}+a_{11}+a_{22}+a_{33} & +a_{10}-a_{01}-a_{32}+a_{23} & +a_{20}+a_{31}-a_{02}-a_{13} & +a_{30}-a_{21}+a_{12}-a_{03} \\ a_{10}-a_{01}+a_{32}-a_{23} & -a_{00}-a_{11}+a_{22}+a_{33} & +a_{30}-a_{21}-a_{12}+a_{03} & -a_{20}-a_{31}-a_{02}-a_{13} \\ a_{20}-a_{31}-a_{02}+a_{13} & -a_{30}-a_{21}-a_{12}-a_{03} & -a_{00}+a_{11}-a_{22}+a_{33} & +a_{10}+a_{01}-a_{32}-a_{23} \\ a_{30}+a_{21}-a_{12}-a_{03} & +a_{20}-a_{31}+a_{02}-a_{13} & -a_{10}-a_{01}-a_{32}-a_{23} & -a_{00}+a_{11}+a_{22}-a_{33} \end{pmatrix} $$

M has rank one and is of unit Euclidean norm as a 16D vector if and only if A is indeed a 4D rotation matrix. In this case there exist reals a, b, c, d; p, q, r, s such that

$$M= \begin{pmatrix} ap &   aq  &   ar  &   as  \\ bp &   bq  &   br  &   bs  \\ cp &   cq  &   cr  &   cs  \\ dp &   dq  &   dr  &   ds \end{pmatrix} $$

and $$(ap)^2 + \cdots + (ds)^2 = $$$$(a^2 + b^2 + c^2 + d^2)(p^2 + q^2 + r^2 + s^2) = 1$$. There are exactly two sets of a, b, c, d; p, q, r, s such that $$a^2 + b^2 + c^2 + d^2 = 1$$ and $$p^2 + q^2 + r^2 + s^2 = 1$$. They are each other's opposites.

The rotation matrix then equals

$$A= \begin{pmatrix} ap-bq-cr-ds&-aq-bp+cs-dr&-ar-bs-cp+dq&-as+br-cq-dp\\ bp+aq-dr+cs&-bq+ap+ds+cr&-br+as-dp-cq&-bs-ar-dq+cp\\ cp+dq+ar-bs&-cq+dp-as-br&-cr+ds+ap+bq&-cs-dr+aq-bp\\ dp-cq+br+as&-dq-cp-bs+ar&-dr-cs+bp-aq&-ds+cr+bq+ap\end{pmatrix} $$

$$ = \begin{pmatrix} a&-b&-c&-d\\ b&\;\,\, a&-d&\;\,\, c\\ c&\;\,\, d&\;\,\, a&-b\\ d&-c&\;\,\, b&\;\,\, a \end{pmatrix} \cdot \begin{pmatrix} p&-q&-r&-s\\ q&\;\,\, p&\;\,\, s&-r\\ r&-s&\;\,\, p&\;\,\, q\\ s&\;\,\, r&-q&\;\,\, p \end{pmatrix} . $$

This formula is due to Van Elfrinkhof (1897).

The first factor in this decomposition represents a left-isoclinic rotation, the second factor a right-isoclinic rotation. The factors are determined up to the negative 4th-order identity matrix, i.e. the central inversion.

Relation to quaternions
A point in 4D space with Cartesian coordinates (u, x, y, z) may be represented by a quaternion u + xi + yj + zk.

A left-isoclinic rotation is represented by left-multiplication by a unit quaternion QL = a + bi + cj + dk. In matrix-vector language this is

$$ \begin{pmatrix} u'\\x'\\y'\\z' \end{pmatrix} = \begin{pmatrix} a&-b&-c&-d\\ b&\;\,\, a&-d&\;\,\, c\\ c&\;\,\, d&\;\,\, a&-b\\ d&-c&\;\,\, b&\;\,\, a \end{pmatrix} \cdot \begin{pmatrix} u\\x\\y\\z \end{pmatrix} $$

Likewise, a right-isoclinic rotation is represented by right-multiplication by a unit quaternion QR = p + qi + rj + sk, which is in matrix-vector form

$$ \begin{pmatrix} u'\\x'\\y'\\z' \end{pmatrix} = \begin{pmatrix} p&-q&-r&-s\\ q&\;\,\, p&\;\,\, s&-r\\ r&-s&\;\,\, p&\;\,\, q\\ s&\;\,\, r&-q&\;\,\, p \end{pmatrix} \cdot \begin{pmatrix} u\\x\\y\\z \end{pmatrix}. $$

In the preceding section (Isoclinic decomposition) it is shown how a general 4D rotation is split into left- and right-isoclinic factors.

In quaternion language Van Elfrinkhof's formula reads


 * $$u' + x'i + y'j + z'k = (a + bi + cj + dk)(u + xi + yj + zk)(p + qi + rj + sk),\, $$

or in symbolic form


 * $$P' = Q_L\cdot P\cdot Q_R.\, $$

According to the German mathematician Felix Klein this formula was already known to Cayley in 1854.

Quaternion multiplication is associative. Therefore


 * $$P' = (Q_L\cdot P)\cdot Q_R = Q_L\cdot (P\cdot Q_R),\,$$

which shows that left-isoclinic and right-isoclinic rotations commute.

In quaternion notation, a rotation in SO(4) is a single rotation if and only if QL and QR are conjugate elements of the group of unit quaternions. This is equivalent to the statement that QL and QR have the same real part, i.e. $$a = p$$.

The Euler–Rodrigues formula for 3D rotations
Our ordinary 3D space is conveniently treated as the subspace with coordinate system OXYZ of the 4D space with coordinate system OUXYZ. Its rotation group SO(3) is identified with the subgroup of SO(4) consisting of the matrices



\begin{pmatrix} 1 & \,\, 0 & \,\, 0 & \,\, 0 \\ 0 & a_{11} & a_{12} & a_{13} \\ 0 & a_{21} & a_{22} & a_{23} \\ 0 & a_{31} & a_{32} & a_{33} \end{pmatrix}. $$

In Van Elfrinkhof's formula in the preceding subsection this restriction to three dimensions leads to $$p = a, q = -b, r = -c, s = -d$$, or in quaternion representation: QR = QL ' = QL&minus;1. The 3D rotation matrix then becomes



\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix} = \begin{pmatrix} a^2 + b^2 - c^2 - d^2 & 2(bc - ad)& 2(bd + ac) \\ 2(bc + ad) & a^2 - b^2 + c^2 -d^2 & 2(cd - ab) \\ 2(bd - ac) & 2(cd + ab) & a^2 - b^2 - c^2 + d^2 \end{pmatrix}, $$

which is the representation of the 3D rotation by its Euler–Rodrigues parameters: a, b, c, d.

The corresponding quaternion formula

$$P' = QPQ^{-1}$$, ($$P'$$ is / means P - prime)

where Q = QL, or, in expanded form:


 * $$x'i + y'j + z'k = (a + bi + cj + dk)(xi + yj + zk)(a - bi - cj - dk)$$

is known as the Hamilton–Cayley formula.

Historical note

 * Comment Gather some of the leftover notes as to when things were first presented to here.