I'm reading this paper about quaternion and 3D rotation with unit quaternions,

\begin{eqnarray*} && \dot{q} = (q, {\bf q}) \\ && \dot{r} = (r, {\bf r}) \\ && \dot{r'} = \dot{q}\dot{r}\dot{q}^* \\ && {\bf r'} =(q^2 - {\bf q} \cdot {\bf q}){\bf r} + 2q({\bf q} \times {\bf r}) + 2({\bf q} \cdot {\bf r}){\bf q}\\ && {\bf r'}={\bf r} + 2q({\bf q} \times {\bf r}) + 2{\bf q} \times ({\bf q} \times {\bf r})\\ && {\bf r'_1} \cdot {\bf r'_2} = {\bf r_1} \cdot {\bf r_2} \\ \end{eqnarray*}

on the page 3 it says "Finally, we can show that the operation preserves triple products" and suggests

\begin{eqnarray*} && [{\bf r'_1}, {\bf r'_2}, {\bf r'_3}] = [{\bf r_1}, {\bf r_2}, {\bf r_3}] \end{eqnarray*}

but I couldn't figure out how it could reach there. Simply putting them in the equation at the top of the same page about r' yields not very useful results. I suppose it's scalar triple product, what's the reason behind it?

  • $\begingroup$ Perhaps you should include more details about the construction here, which will protect this question from link rot. $\endgroup$ – Travis Jul 8 '15 at 1:48
  • 1
    $\begingroup$ Thanks, added all equations! $\endgroup$ – RyuK Jul 8 '15 at 2:09
  • 1
    $\begingroup$ I have often wondered how computer scientists and engineers ever learn anything from such articles... That they can take such a beautiful topic and make it so mystifyingly confusing has always amazed me... $\endgroup$ – rschwieb Jul 8 '15 at 2:22
  • $\begingroup$ Also, the statement simply isn't true as written; in general we have $$\def\bfq{{\bf q}}\def\bfr{{\bf r}} \bfr_1' \cdot \bfr_2' = (q^2 + \bfq \cdot \bfq)^2 \bfr_1 \cdot \bfr_2,$$ that is, part of the first block of equations only holds for unit quaternions. $\endgroup$ – Travis Jul 8 '15 at 7:34
  • $\begingroup$ True, fixed the first sentence, "3D rotation with unit quaternions" $\endgroup$ – RyuK Jul 8 '15 at 9:26

The bigger picture is this: Since the quaternion norm $|\cdot|$ is multiplicative, that is, because $$|\dot{q}_1 \dot{q}_2| = |\dot{q}_1| |\dot{q}_2|,$$ the set of unit quaternions forms a group, which we usually denote $SU(2)$ (a special unitary group) or sometimes $Spin(3)$ (a spin group). As a topological space, the set of unit quaternions is just the $3$-sphere $\Bbb S^3 \subset \Bbb R^4 \cong \Bbb H$.

Now, this group acts (linearly) on the space $\Bbb H$ of quaternions via the conjugation operation, $\ast$, that is by the $'$ map defined in the question: $$\dot{r}' = \dot{q} \ast \dot{r} := \dot{q} \dot{r} \dot{q}^*.$$ We say that $\Bbb H$ is a (real) representation of $SU(2)$. If we substitute $\dot{r} = (r, {\bf 0}) + (0, \bfr)$ on both sides of the equation, we find that the conjugation interacts nicely with this decomposition. The l.h.s. becomes $$\dot{q} \ast ((r, {\bf 0}) + (0, \bfr)) = \dot{q} (r, {\bf 0}) \dot{q}^* + \dot{q} (0, \bfr) \dot{q}^*.$$ Now, the scalar $(r, {\bf 0})$ commutes with everything in $\Bbb H$, so the first term on the right is $$\dot{q} (r, {\bf 0}) \dot{q}^* = (r, {\bf 0}) \dot{q} \dot{q}^* = (r, {\bf 0}).$$ In other words, the action doesn't affect the scalar part of $r \in \Bbb H$ at all, it only "sees" the vector part. Thus, $SU(2)$ actually acts on the space $\Bbb R^3$ of vectors, via $$\dot{q} \star \bfr := \pi(\dot{q} \ast (0, \bfr)),$$ where $\pi: \Bbb H \to \Bbb R^3$ is just the map that picks out the vector component of a quaternion. We say that $\Bbb H$ decomposes as an $SU(2)$-representation as $\Bbb R \oplus \Bbb R^3$.

We know from the above that this action preserves the inner product, but the only linear maps that preserve the inner product are the rotations and reflections, so this action defines a map (in fact, a group homomorphism) $\Pi: SU(2) \to O(3)$. Since $SU(2)$ is topologically a $3$-sphere and hence connected, the image of this map is contained in the component containing the identity rotation, so we can regard $\Pi$ as a map $SU(2) \to SO(3)$; recall that $SO(3)$ is precisely the group of rotations of $\Bbb R^3$. (It turns out that this map is surjective and $2:1$; we say it is a double covering.) Thus, for every $\dot{q} \in SU(2)$ there is a rotation $A := \Pi(\dot{q}) \in SO(3)$ such that $\dot{q} \star \bfr = A \bfr$ for all $\bfr \in \Bbb R^3$.

On the other hand, $SO(3)$ is also precisely the group of linear transformations that preserve the cross product on $\Bbb R^3$, that is, the group of $B \in GL(3, \Bbb R)$ such that $B(\bfr_1 \times \bfr_2) = (B \bfr_1) \times (B \bfr_2)$ for all $\bfr_1, \bfr_2 \in \Bbb R^3$. Thus, the action of $SU(2)$ preserves it too: $$\dot{q} \star (\bfr_1 \times \bfr_2) = (\dot{q} \star \bfr_1) \times (\dot{q} \star \bfr_2).$$

So, the action of a unit quaternion on $\Bbb R^3$ preserves both the dot product and the cross product, but the triple product is built out of these, and so the action preserves it too: \begin{align} [\dot{q} \star \bfr_1, \dot{q} \star \bfr_2, \dot{q} \star \bfr_3] &= (\dot{q} \star \bfr_1) \cdot [(\dot{q} \star \bfr_1) \times (\dot{q} \star \bfr_2)] \\ &= (\dot{q} \star \bfr_1) \cdot (\dot{q} \star (\bfr_2 \times \bfr_3)) \\ &= \bfr_1 \cdot (\bfr_2 \times \bfr_3) \\ &= [\bfr_1, \bfr_2, \bfr_3] . \end{align}

Remark We can also write the triple product as the map $$[\bfr_1, \bfr_2, \bfr_3] := \det \pmatrix{\bfr_1 & \bfr_2 & \bfr_3},$$ where the matrix on the r.h.s. is the one produced by adjoining the vectors $\bfr_a$. In particular, the group of linear transformations of $\Bbb R^3$ preserving the determinant (and hence the triple product) is $SL(3, \Bbb R)$, which is a much larger group than $SO(3)$, and so the rotations are not nearly the only linear maps that do so.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.