本文介绍了哈密顿四元数和JPL四元数。
四元数分为两种:哈密顿四元数和JPL四元数。他们的区别只是符号上的不同。
哈密顿四元数为:
$$ \begin{aligned} & Q = Q_w + Q_x i + Q_y j + Q_z k = (Q_w, Q_x, Q_y, Q_z) \\ & i^2 = j^2 = k^2 = ijk = -1 \\ & (Q_w, Q) \otimes (P_w, P) = (Q_wP_w - Q\cdot P, Q_w P + P_w Q + Q \times P) \\ & v^{'} = QvQ^{*} \\ \\ & L_H(Q): Q \otimes P = L_H(Q)P \\ & \text{其中 } L_H(Q) = \begin{pmatrix} Q_w & -Q_x & -Q_y & -Q_z \\ Q_x & Q_w & -Q_z & Q_y \\ Q_y & Q_z & Q_w & -Q_x \\ Q_z & -Q_y & Q_x & Q_w \end{pmatrix} \\[1em] & R_H(Q): P \otimes Q = R_H(Q)P \\ & \text{其中 } R_H(Q) = \begin{pmatrix} Q_w & -Q_x & -Q_y & -Q_z \\ Q_x & Q_w & Q_z & -Q_y \\ Q_y & -Q_z & Q_w & Q_x \\ Q_z & Q_y & -Q_x & Q_w \end{pmatrix} \end{aligned} $$而JPL四元数为:
$$ \begin{aligned} & Q = Q_x i + Q_y j + Q_z k + Q_w = (Q_x, Q_y, Q_z, Q_w) \\ & i^2 = j^2 = k^2 = ijk = 1 \\ & (Q_w, Q) \otimes (P_w, P) = (Q_wP + P_wQ - Q\times P, Q_wP_w - Q \cdot P) \\ & v^{'} = Q^{*}vQ \\ \\ & L_J(Q): Q \otimes P = L_J(Q)P \\ & \text{其中 } L_J(Q) = \begin{pmatrix} Q_w & Q_z & -Q_y & Q_x \\ -Q_z & Q_w & Q_x & Q_y \\ Q_y & -Q_x & Q_w & Q_z \\ -Q_x & -Q_y & -Q_z & Q_w \end{pmatrix} \\[1em] & R_J(Q): P \otimes Q = R_J(Q)P \\ & \text{其中 } R_J(Q) = \begin{pmatrix} Q_w & -Q_z & Q_y & Q_x \\ Q_z & Q_w & -Q_x & Q_y \\ -Q_y & Q_x & Q_w & Q_z \\ -Q_x & -Q_y & -Q_z & Q_w \end{pmatrix} \end{aligned} $$哈密顿四元数是$w$分量在前,而JPL则是$w$分量在后。强调这一点主要是有些书中以数字作为下标,容易分不清到底哪个是$w$。
两者最显著的区别是$ijk$的符号不同。这会导致乘法公式的形式也不同。
哈密顿四元数是最常用的四元数。而JPL四元数一般只用于航天相关理论中。一般未明确说明的都应该被视为哈密顿四元数。
顺便说一下矩阵形式如何得来,为什么左乘和右乘的矩阵还不一样。以哈密顿四元数为例:
根据乘法公式:
$$ Q\otimes P = \bigl(q_0p_0-\mathbf q\cdot\mathbf p,\; q_0\mathbf p+p_0\mathbf q+\mathbf q\times\mathbf p\bigr). $$写成分量:
$$ \begin{aligned} (Q\otimes P)_0 &=q_0p_0-q_1p_1-q_2p_2-q_3p_3\\ (Q\otimes P)_1 &=q_0p_1+q_1p_0+q_2p_3-q_3p_2\\ (Q\otimes P)_2 &=q_0p_2+q_2p_0+q_3p_1-q_1p_3\\ (Q\otimes P)_3 &=q_0p_3+q_3p_0+q_1p_2-q_2p_1 \end{aligned} $$可以写成一个矩阵和一个向量相乘:左边矩阵只含 $q$,右边向量只含 $p$。所以两边不一样。比如左乘矩阵:
按 $(p_0,p_1,p_2,p_3)$ 的系数逐行读出:
- 第 0 行:$(q_0,-q_1,-q_2,-q_3)$;
- 第 1 行:$(q_1,q_0,-q_3,q_2)$;
- 第 2 行:$(q_2,q_3,q_0,-q_1)$;
- 第 3 行:$(q_3,-q_2,q_1,q_0)$。
因此
$$ L_H(Q)= \begin{pmatrix} q_0&-q_1&-q_2&-q_3\\ q_1&q_0&-q_3&q_2\\ q_2&q_3&q_0&-q_1\\ q_3&-q_2&q_1&q_0 \end{pmatrix} $$右乘只是反过来将$(q_0, q_1, q_2, q_3)$的系数组成矩阵。