Title: Quaternion and isoclinic rotations: explaining more (四元数和等倾旋转)
文章目录
借用参考文献 “Quaternion kinematics for the error-state Kalman filter” 中一小节标题 “2.8 Quaternion and isoclinic rotations: explainging the magic” 1 展开我们的讨论.
这里主要讨论 1. 四元数形式的三维旋转公式, 2. 等倾旋转, 3. 及他们之间的关系. 算是对参考文献该小节的扩展.
I 四维空间中的旋转表示
四元数可以看做是四维 Eculidean space R 4 \mathbb R^4 R4 中的向量配置了四元数乘法. 因为四元数乘法不具有交换律, 区分左乘和右乘.
四元数之间的乘法对应的四元数的几何变换, 单位四元数对应四维空间 R 4 \mathbb R^4 R4 中的旋转. 任意四元数 r r r 左乘单位四元数 q q q, 就是对任意四元数 r r r 进行单位四元数 q q q 对应的左旋转操作. 类比三维旋转矩阵相对于全局坐标系的旋转作用是矩阵左乘. 任意四元数 r r r 右乘单位四元数 q q q, 就是对任意四元数 r r r 进行单位四元数 q q q 对应的右旋转操作. 类比三维旋转矩阵相对于局部坐标系的旋转作用是矩阵右乘. 我们展开说明如下.
单位四元数
q
=
[
a
b
c
d
]
=
[
c
o
s
(
ϕ
/
2
)
s
i
n
(
ϕ
/
2
)
u
]
q=\begin{bmatrix} a \\ b \\ c \\d \end{bmatrix} = \begin{bmatrix} {\rm cos}({\phi}/{2}) \\ {\rm sin}({\phi}/{2}) \mathbf u \end{bmatrix}
q=
abcd
=[cos(ϕ/2)sin(ϕ/2)u]
其中
a
2
+
b
2
+
c
2
+
d
2
=
1
a^2 +b^2 +c^2 +d^2 =1
a2+b2+c2+d2=1,
c
o
s
(
ϕ
/
2
)
=
a
\rm cos(\phi/2) = a
cos(ϕ/2)=a,
∥
u
∥
=
1
\Vert \mathbf u \Vert = 1
∥u∥=1.
该单位四元数对应的左四元数乘积矩阵 (Left-quaternion-production matrix
[
q
]
L
[q]_{L}
[q]L) 或者右四元数乘积矩阵 (Right-quaternion-production matrix
[
q
]
R
[q]_{R}
[q]R) 都是正交旋转矩阵.
q
r
=
[
a
−
b
−
c
−
d
b
a
−
d
c
c
d
a
−
b
d
−
c
b
a
]
r
≜
[
q
]
L
r
⇒
[
q
]
L
=
[
a
−
b
−
c
−
d
b
a
−
d
c
c
d
a
−
b
d
−
c
b
a
]
∈
S
O
(
4
)
(I-1)
{q} {r} = \begin{bmatrix} a &-b &-c &-d \\ b & a &-d &c\\ c &d &a &-b\\ d &-c &b &a\end{bmatrix} {r} \triangleq {{[q]}_{L}} \,{{r}} \qquad \Rightarrow \qquad {{[q]}_{L}} = \begin{bmatrix} a &-b &-c &-d \\ b & a &-d &c\\ c &d &a &-b\\ d &-c &b &a\end{bmatrix} \in {\mathbf{SO}}(4) \tag{I-1}
qr=
abcd−bad−c−c−dab−dc−ba
r≜[q]Lr⇒[q]L=
abcd−bad−c−c−dab−dc−ba
∈SO(4)(I-1)
r q = [ a − b − c − d b a d − c c − d a b d c − b a ] r = [ q ] R r ⇒ [ q ] R = [ a − b − c − d b a d − c c − d a b d c − b a ] ∈ S O ( 4 ) (I-2) {r} {q} = \begin{bmatrix} a &-b &-c &-d \\ b & a &d &-c\\ c &-d &a &b\\ d &c &-b &a\end{bmatrix} {r} = {{[q]}_{R}} \, {r} \qquad \Rightarrow \qquad {{[q]}_{R}} = \begin{bmatrix} a &-b &-c &-d \\ b & a &d &-c\\ c &-d &a &b\\ d &c &-b &a\end{bmatrix} \in {\mathbf{SO}}(4) \tag{I-2} rq= abcd−ba−dc−cda−b−d−cba r=[q]Rr⇒[q]R= abcd−ba−dc−cda−b−d−cba ∈SO(4)(I-2)
即对任意四元数 r r r 执行旋转可以通过四元数乘法运算左乘或者右乘用于描述旋转运动的单位四元数 q q q, 获得和左乘 [ q ] L [q]_{L} [q]L 旋转矩阵或右乘 [ q ] R [q]_{R} [q]R 旋转矩阵一样的效果.
类似地, 该单位四元数的共轭四元数对应的 Right-quaternion-production matrix
[
q
∗
]
R
{{[q^{*}]}_{R}}
[q∗]R 也是正交旋转矩阵.
q
∗
=
[
a
−
b
−
c
−
d
]
[
q
∗
]
R
=
[
a
b
c
d
−
b
a
−
d
c
−
c
d
a
−
b
−
d
−
c
b
a
]
∈
S
O
(
4
)
(I-3)
q^{*}= \begin{bmatrix}a \\ -b \\ -c \\ -d \end{bmatrix} \qquad \qquad {{[q^*]}_{R}} = \begin{bmatrix} a &b &c &d \\ -b & a &-d &c\\ -c &d &a &-b\\ -d &-c &b &a\end{bmatrix} \in {\mathbf{SO}}(4) \tag{I-3}
q∗=
a−b−c−d
[q∗]R=
a−b−c−dbad−cc−dabdc−ba
∈SO(4)(I-3)
(该单位四元数的共轭四元数对应的 Left-quaternion-production matrix [ q ∗ ] L {{[q^{*}]}_{L}} [q∗]L 本文中没用上, 故不具体列写. 本小节内容参考 四元数的左乘、右乘与矩阵形式2)
II 四元数描述的三维空间中的旋转计算
单位四元数的乘法对应的四维空间中的旋转作用, 但是我们机器人技术关注的是三维空间中的旋转变换和姿态估计, 怎么建立联系的呢?
三维空间中的旋转有多种表示方法, 如欧拉角、轴角式、四元数等. 其中四元数形式的三维空间中的旋转公式如下
四元数描述的三维旋转公式
三维空间中, 任意向量 v \bf v v, 沿着单位向量定义的旋转轴 u \bf u u 旋转 θ \theta θ 角度后, 得到新的向量 v ′ {\bf v}^{'} v′. 向量 v \bf v v 对应四元数 v = [ 0 , v ] v = [0, \bf v] v=[0,v], 3D 旋转对应的四元数 q = [ c o s ( ϕ / 2 ) , s i n ( ϕ / 2 ) u ] q = [{\rm cos}(\phi/2), {\rm sin}(\phi/2){\bf u}] q=[cos(ϕ/2),sin(ϕ/2)u], 新向量对应四元数 v ′ = [ 0 , v ′ ] v^{'} = [0, \bf v^{'}] v′=[0,v′]. 则
v ′ = q v q ∗ = q v q − 1 (II-1) {v}^{'} = q v q^{*} = q v q ^{-1} \tag{II-1} v′=qvq∗=qvq−1(II-1)
其中 q ∗ q^{*} q∗ 是 q q q 的共轭四元数, 即 q ∗ = [ c o s ( ϕ / 2 ) , − s i n ( ϕ / 2 ) u ] q^{*} = [{\rm cos}(\phi/2), -{\rm sin}(\phi/2){\bf u}] q∗=[cos(ϕ/2),−sin(ϕ/2)u].
这里特别的地方:
- 把三维空间中的旋转计算扩维到了四维空间中, 三维向量 v \mathbf v v 升维到四元数 v v v, 三维空间中的轴角旋转由单位四元数 q q q 描述.
- 计算得到的结果是四维空间中的纯虚四元数, 最后降维获得三维空间中旋转后的矢量 v ′ \mathbf v^{'} v′.
整个过程三维绕道四维再回到三维. 需要计算获得的四元数实部为零, 才能实现降维 (基于纯虚四元数与三维向量间的1-1映射), 不然就是真正的四元数 (非纯虚四元数) 而永远留在四维空间了. 而公式中先左乘半角旋转四元数 (角度 ϕ / 2 \phi/2 ϕ/2), 再右乘共轭半角旋转四元数, 实现了让纯虚四元数在两次旋转后仍然是纯虚四元数, 同时获得完整旋转角度 (角度 ϕ \phi ϕ).
得到的好处:
-
几何上由单连通单位四元数空间代替了 Euler angles 对应的多联通的四维环面体 (torus), 避开了欧拉角描述的万向锁问题 (Gimbal Lock).
-
三维向量的旋转变换对应的是单位四元数 (四维向量) 而不是形式更复杂的 3 × 3 3\times3 3×3 矩阵, 单位四元数在四维球面上的距离、移动等都很直观, 故单位四元数的连续变化远比 3 × 3 3\times 3 3×3 矩阵的连续变化易于实现.
下面我们以一个实例说明该四元数形式的三维旋转的过程.
III. 四元数描述的三维空间中的旋转过程
我们设定最简单的三维空间中的旋转, 比如向量 v = [ b c d ] \mathbf v = \begin{bmatrix} b \\ c \\d \end{bmatrix} v= bcd 绕 X 轴旋转 ϕ \phi ϕ 角度, 则旋转轴 u = [ 1 0 0 ] \mathbf u = \begin{bmatrix} 1 \\0 \\0 \end{bmatrix} u= 100 .
由 “四元数描述的三维旋转公式”, 四维空间中该旋转对应的单位四元数
q
=
c
o
s
(
ϕ
/
2
)
+
s
i
n
(
ϕ
/
2
)
i
q={\rm cos}(\phi/2) +{\rm sin}(\phi/2) i
q=cos(ϕ/2)+sin(ϕ/2)i, 写成向量形式
q
=
[
c
o
s
(
ϕ
/
2
)
s
i
n
(
ϕ
/
2
)
0
0
]
(III-1)
q = \begin{bmatrix} \rm cos(\phi/2) \\ \rm sin(\phi/2) \\0 \\0\end{bmatrix} \tag{III-1}
q=
cos(ϕ/2)sin(ϕ/2)00
(III-1)
我们直觉上会觉得以 {W, X} 平面为 “旋转轴”, 是不是真这样, 我们慢慢分析下去. 为描述方便, 记 {Y, Z} 平面为
π
1
\pi_1
π1, {W, X} 平面为
π
2
\pi_2
π2, 显然
π
1
\pi_1
π1 和
π
2
\pi_2
π2 垂直 (正交).
由 (I-1) 计算单位四元数
q
q
q 的 Left-quaternion-production matrix
[
q
]
L
=
[
c
o
s
(
ϕ
/
2
)
−
s
i
n
(
ϕ
/
2
)
0
0
s
i
n
(
ϕ
/
2
)
c
o
s
(
ϕ
/
2
)
0
0
0
0
c
o
s
(
ϕ
/
2
)
−
s
i
n
(
ϕ
/
2
)
0
0
s
i
n
(
ϕ
/
2
)
c
o
s
(
ϕ
/
2
)
]
≜
[
M
π
2
0
0
M
π
1
]
(III-2)
[q]_{L} = \left[\begin{array}{cc:cc} {\rm cos}(\phi/2) & -\rm sin(\phi/2) &0 &0 \\ \rm sin(\phi/2) & \rm cos(\phi/2) &0 &0 \\ \hdashline 0 & 0 &\rm cos(\phi/2) & -\rm sin(\phi/2) \\ 0 & 0 &\rm sin(\phi/2) & \rm cos(\phi/2) \end{array}\right] \triangleq \left[\begin{array}{c:c} \mathbf M_{\pi_{2}} &\mathbf 0 \\ \hdashline \mathbf 0 & \mathbf M_{\pi_{1}} \end{array}\right] \tag{III-2}
[q]L=
cos(ϕ/2)sin(ϕ/2)00−sin(ϕ/2)cos(ϕ/2)0000cos(ϕ/2)sin(ϕ/2)00−sin(ϕ/2)cos(ϕ/2)
≜[Mπ200Mπ1](III-2)
由 (I-3) 计算单位四元数的共轭
q
∗
q^*
q∗ 的 Right-quaternion-production matrix
[
q
∗
]
R
=
[
c
o
s
(
ϕ
/
2
)
s
i
n
(
ϕ
/
2
)
0
0
−
s
i
n
(
ϕ
/
2
)
c
o
s
(
ϕ
/
2
)
0
0
0
0
c
o
s
(
ϕ
/
2
)
−
s
i
n
(
ϕ
/
2
)
0
0
s
i
n
(
ϕ
/
2
)
c
o
s
(
ϕ
/
2
)
]
=
[
M
π
2
−
1
0
0
M
π
1
]
(III-3)
[q^*]_{R} = \left[\begin{array}{cc:cc} {\rm cos}(\phi/2) & \rm sin(\phi/2) &0 &0 \\ -\rm sin(\phi/2) & \rm cos(\phi/2) &0 &0 \\ \hdashline 0 & 0 &\rm cos(\phi/2) & -\rm sin(\phi/2) \\ 0 & 0 &\rm sin(\phi/2) & \rm cos(\phi/2) \end{array}\right] = \left[\begin{array}{c:c} \mathbf M_{\pi_{2}}^{-1} &\mathbf 0 \\ \hdashline \mathbf 0 & \mathbf M_{\pi_{1}} \end{array}\right] \tag{III-3}
[q∗]R=
cos(ϕ/2)−sin(ϕ/2)00sin(ϕ/2)cos(ϕ/2)0000cos(ϕ/2)sin(ϕ/2)00−sin(ϕ/2)cos(ϕ/2)
=[Mπ2−100Mπ1](III-3)
[
q
]
L
[q]_{L}
[q]L 和
[
q
∗
]
R
[q*]_{R}
[q∗]R 被称为是 Isoclinic rotations 等倾旋转,
π
1
{\pi_1}
π1 和
π
2
{\pi_2}
π2 被称为是 Invariant orthogonal planes 不变正交平面.
[
q
]
L
[q]_{L}
[q]L 又称为 Left-isoclinic, 在
π
1
{\pi_1}
π1 和
π
2
{\pi_2}
π2 上的旋转角度大小和方向相同.
[
q
]
R
[q]_{R}
[q]R 又称为 Right-isoclinic, 在
π
1
{\pi_1}
π1 和
π
2
{\pi_2}
π2 上的旋转角度大小相等和方向相反.
三维向量
v
\mathbf v
v 升维为纯虚四元数
v
=
0
+
a
i
+
b
j
+
c
k
=
[
0
b
c
d
]
v = 0+ai+bj + ck =\begin{bmatrix}0\\ b\\ c \\ d \end{bmatrix}
v=0+ai+bj+ck=
0bcd
, 对该纯虚四元数在四维空间中进行左旋转作用. 旋转对应四元数是
q
q
q, 左旋转对应矩阵为
[
q
]
L
[q]_{L}
[q]L
q
v
=
[
q
]
L
v
=
[
c
o
s
(
ϕ
/
2
)
−
s
i
n
(
ϕ
/
2
)
0
0
s
i
n
(
ϕ
/
2
)
c
o
s
(
ϕ
/
2
)
0
0
0
0
c
o
s
(
ϕ
/
2
)
−
s
i
n
(
ϕ
/
2
)
0
0
s
i
n
(
ϕ
/
2
)
c
o
s
(
ϕ
/
2
)
]
[
0
b
c
d
]
=
[
−
s
i
n
(
ϕ
/
2
)
b
c
o
s
(
ϕ
/
2
)
b
c
o
s
(
ϕ
/
2
)
c
−
s
i
n
(
ϕ
/
2
)
d
s
i
n
(
ϕ
/
2
)
c
+
c
o
s
(
ϕ
/
2
)
d
]
=
[
M
π
2
[
0
b
]
M
π
1
[
c
d
]
]
(III-4)
\begin{aligned} q\, v = [q]_{L}v &= \left[\begin{array}{cc:cc} {\rm cos}(\phi/2) & -\rm sin(\phi/2) &0 &0 \\ \rm sin(\phi/2) & \rm cos(\phi/2) &0 &0 \\ \hdashline 0 & 0 &\rm cos(\phi/2) & -\rm sin(\phi/2) \\ 0 & 0 &\rm sin(\phi/2) & \rm cos(\phi/2) \end{array}\right] \begin{bmatrix}0\\ b\\ c \\d \end{bmatrix}\\ &=\left[\begin{array}{c} -{\rm sin}(\phi/2)\,b\\ {\rm cos}(\phi/2)\,b\\ \hdashline {\rm cos}(\phi/2)\,c -{\rm sin}(\phi/2)\,d\\ {\rm sin}(\phi/2)\, c + {\rm cos}(\phi/2)\, d \end{array}\right]\\ &=\begin{bmatrix} \mathbf M_{\pi_2}\begin{bmatrix}0\\b\end{bmatrix}\\ \hdashline \mathbf M_{\pi_1}\begin{bmatrix}c\\d\end{bmatrix} \end{bmatrix} \end{aligned} \tag{III-4}
qv=[q]Lv=
cos(ϕ/2)sin(ϕ/2)00−sin(ϕ/2)cos(ϕ/2)0000cos(ϕ/2)sin(ϕ/2)00−sin(ϕ/2)cos(ϕ/2)
0bcd
=
−sin(ϕ/2)bcos(ϕ/2)bcos(ϕ/2)c−sin(ϕ/2)dsin(ϕ/2)c+cos(ϕ/2)d
=
Mπ2[0b]Mπ1[cd]
(III-4)
可以看出左乘单位四元数
q
q
q 执行的四维旋转变换, 分解为了在两个正交平面内的互不影响的两个平面旋转变换. 即独立地在平面
π
1
\pi_1
π1 内的
ϕ
/
2
\phi/2
ϕ/2 旋转, 和独立地在平面
π
2
\pi_2
π2 内的
ϕ
/
2
\phi/2
ϕ/2 旋转. 依照假设的最简单的三维空间中的旋转 “向量
v
\mathbf v
v 绕 X 轴旋转
ϕ
\phi
ϕ 角度”, 四维空间内
π
1
\pi_1
π1 平面上的旋转是和三维旋转对应的 (需要的, 但是半角旋转). 而
π
2
\pi_2
π2 平面上的旋转是副产品, 没有对应三维空间的旋转 (不需要的副产品部分, 且纯虚四元数转换为普通四元数了).
下面再继续右乘单位四元数
q
q
q 的共轭
q
∗
q^*
q∗, 就是要实现抵消副产品以及实现全角旋转. 仔细观察过程如下
q
v
q
∗
=
[
q
∗
]
R
[
q
]
L
v
=
[
M
π
2
−
1
0
0
M
π
1
]
[
M
π
2
[
0
b
]
M
π
1
[
c
d
]
]
=
[
[
0
b
]
M
π
1
2
[
c
d
]
]
(III-5)
\begin{aligned} q\, v\, q^* &= [q^*]_{R} [q]_{L} v \\ &= \left[\begin{array}{c:c} \mathbf M_{\pi_{2}}^{-1} &\mathbf 0 \\ \hdashline \mathbf 0 & \mathbf M_{\pi_{1}} \end{array}\right] \begin{bmatrix} \mathbf M_{\pi_2}\begin{bmatrix}0\\b\end{bmatrix}\\ \hdashline \mathbf M_{\pi_1}\begin{bmatrix}c\\d\end{bmatrix} \end{bmatrix}\\ &=\begin{bmatrix} \begin{bmatrix}0\\b\end{bmatrix}\\ \hdashline {\mathbf M}_{\pi_1}^2 \begin{bmatrix}c\\d\end{bmatrix} \end{bmatrix}\\ \end{aligned} \tag{III-5}
qvq∗=[q∗]R[q]Lv=[Mπ2−100Mπ1]
Mπ2[0b]Mπ1[cd]
=
[0b]Mπ12[cd]
(III-5)
其中
M
π
1
2
=
[
c
o
s
ϕ
−
s
i
n
ϕ
s
i
n
ϕ
c
o
s
ϕ
]
(III-6)
{\mathbf M}_{\pi_1}^2 = \begin{bmatrix} {\rm cos}\phi & -{\rm sin}\phi \\ {\rm sin}\phi & {\rm cos}\phi \end{bmatrix} \tag{III-6}
Mπ12=[cosϕsinϕ−sinϕcosϕ](III-6)
这样就很明显了, 最终四维空间中
π
2
\pi_2
π2 平面内的旋转抵消了, 只剩下了
π
1
\pi_1
π1 平面内的
ϕ
\phi
ϕ 角度的转动. 最终结果是纯虚四元数, 可以降维 1-1 对应三维空间中 “向量
v
\mathbf v
v 绕 X 轴旋转
ϕ
\phi
ϕ 角度”. 三维空间中旋转后的矢量
v
′
=
[
b
M
π
1
2
[
c
d
]
]
=
[
b
c
o
s
ϕ
c
−
s
i
n
ϕ
d
s
i
n
ϕ
c
+
c
o
s
ϕ
d
]
\mathbf v^{'} = \begin{bmatrix} b \\ {\mathbf M}_{\pi_1}^2 \begin{bmatrix}c\\d\end{bmatrix} \end{bmatrix} = \begin{bmatrix} b \\ {\rm cos}\phi\, c - {\rm sin}\phi\, d \\ {\rm sin}\phi\, c + {\rm cos}\phi\, d \end{bmatrix}
v′=
bMπ12[cd]
=
bcosϕc−sinϕdsinϕc+cosϕd
这个代数计算过程可以借参考文献中 Figure 10 进行直观几何理解1.
如果每个旋转变换都可以如此简单, 可以转化成 (III-1) 的形式. 再以划分子矩阵的形式 (III-2、III-3), 自然地划分两个互不影响的旋转作用空间 π 1 \pi_1 π1 和 π 2 \pi_2 π2. 这样我们对 “四元数描述的三维旋转公式” 的内涵就基本了解了.
但是以上只是最简单的特例, 三维空间中的旋转不只是绕 X 轴旋转 u \mathbf u u. 三维空间中旋转轴的分布是 S 2 S^2 S2 空间上, 对应的单位四元数 q q q 分布更是 S 3 S^3 S3 三维球面空间上.
下面两部分我们分别运用特殊正交矩阵的特征值以及矩阵分块对角化, 处理一般旋转轴的情况.
进入下一部分前, 我们先回应一下本节开头的包袱 “旋转轴”. 从上面的例子中可以看出, 可以看出在高维空间的旋转中 (至少四维空间中), “旋转轴” 的概念不太适用, 而 “不变平面或不变正交平面” 更贴切.
IV. 四元数描述的旋转矩阵的特征值
我们先看一下 Left-quaternion-production matrix 特征值, 看一下能不能相似对角化.
已知单位四元数
q
=
a
+
b
i
+
c
j
+
d
k
q= a + bi + cj + d k
q=a+bi+cj+dk (其中
a
2
+
b
2
+
c
2
+
d
2
=
1
a^2 +b^2 +c^2 +d^2 =1
a2+b2+c2+d2=1) 的 Left-quaternion-production matrix
[
q
]
L
=
[
a
−
b
−
c
−
d
b
a
−
d
c
c
d
a
−
b
d
−
c
b
a
]
∈
R
4
×
4
{{[q]}_{L}} = \begin{bmatrix} a &-b &-c &-d \\ b & a &-d &c\\ c &d &a &-b\\ d &-c &b &a\end{bmatrix} \in \mathbb R^{4\times 4}
[q]L=
abcd−bad−c−c−dab−dc−ba
∈R4×4
特征行列式为 0
det
(
[
q
]
L
−
λ
I
)
=
∣
a
−
λ
−
b
−
c
−
d
b
a
−
λ
−
d
c
c
d
a
−
λ
−
b
d
−
c
b
a
−
λ
∣
=
0
\det \left( [q]_L - \lambda {\mathbf I}\right) = \left | \begin{matrix} a-\lambda & -b & -c & -d\\ b & a-\lambda & -d & c\\ c & d & a-\lambda & -b\\ d & -c & b & a-\lambda \end{matrix}\right| =0\\
det([q]L−λI)=
a−λbcd−ba−λd−c−c−da−λb−dc−ba−λ
=0
可以得到特征方程
x
4
−
4
a
x
3
+
(
4
a
2
+
2
)
x
2
−
4
a
x
+
1
=
0
{{x}^{4}}-4 a\, {{x}^{3}}+\left( 4 {{a}^{2}}+2\right) \, {{x}^{2}}-4 a x+1 = 0
x4−4ax3+(4a2+2)x2−4ax+1=0
得到特征值
λ
1
=
a
+
i
1
−
a
2
λ
2
=
a
−
i
1
−
a
2
=
λ
‾
1
\lambda_1=a+i\sqrt{1-{{a}^{2}}} \qquad \lambda_2=a-i\sqrt{1-{{a}^{2}}}=\overline{\lambda}_1
λ1=a+i1−a2λ2=a−i1−a2=λ1
特征值是两个共轭的复根. 四阶方程应该有 4 个根, 同时共轭特征根都是成对出现, 所以计算所得的特征值的代数重数都为 2. 这种情况, 我们无法进行相似对角化.
下面我们引入 Normal matrix 正规矩阵, 来说明 [ q ] L [q]_{L} [q]L 的特征向量组成 4 维正交基, 可以对 [ q ] L [q]_{L} [q]L 进行酉对角化的.
V. 四元数描述的旋转矩阵的分块对角化
Normal Matrix3 正规矩阵
A matrix A ∈ C n × n \mathbf A \in \mathbb C^{n\times n} A∈Cn×n is said to be a normal matrix whenever A A ∗ = A ∗ A \mathbf A\, \mathbf A^{*} =\mathbf A^{*}\, \mathbf A AA∗=A∗A.
Unitary Diagonalization3 酉对角化
A ∈ C n × n \mathbf A \in \mathbb C^{n \times n} A∈Cn×n is unitarily similar to a diagonal matrix (i.e., A \mathbf A A has a complete orthogonormal set of eigenvectors) if and only if A ∗ A = A A ∗ \mathbf A^{*}\, \mathbf A = \mathbf A\, \mathbf A^{*} A∗A=AA∗, in which case A \mathbf A A is said to be nromal matrix.
- Whenever U ∗ A U = D \mathbf U^{*} \mathbf{A} \mathbf{U} = \mathbf{D} U∗AU=D with U \mathbf U U unitary and D \mathbf D D diagonal, the columns of U \mathbf U U must be a complete orthonormal set of eigenvectors for A \mathbf A A, and the diagonal entries of D \mathbf D D are the associated eigenvalues.
因为
[
q
]
L
[q]_{L}
[q]L 是实正交矩阵,
[
q
]
L
∗
=
[
q
]
L
T
[q]_{L}^{*} = [q]_{L}^{\rm T}
[q]L∗=[q]LT, 故有
[
q
]
L
[
q
]
L
∗
=
[
q
]
L
[
q
]
L
T
=
[
q
]
L
T
[
q
]
L
=
[
q
]
L
∗
[
q
]
L
[q]_{L}\,[q]_{L}^{*} = [q]_{L}\, [q]_{L}^{\rm T} = [q]_{L}^{\rm T}\, [q]_{L} = [q]_{L}^{*}\, [q]_{L}
[q]L[q]L∗=[q]L[q]LT=[q]LT[q]L=[q]L∗[q]L
[
q
]
L
[q]_{L}
[q]L 为正规矩阵. 根据以上定理可知
[
q
]
L
[q]_{L}
[q]L 可以实现酉对角化, 故
λ
1
\lambda_1
λ1 和
λ
2
(
=
λ
‾
1
)
\lambda_2 \,(=\overline{\lambda}_1)
λ2(=λ1) 各自的代数重数为 2, 则
λ
1
\lambda_1
λ1 和
λ
2
\lambda_2
λ2 各自对应的特征向量的几何重数也都是 2.
假设 λ 1 \lambda_1 λ1 对应的单位特征向量为 x 1 \mathbf x_1 x1 和 x 2 \mathbf x_2 x2, 则 λ 2 \lambda_2 λ2 对应的单位特征向量为 x ‾ 1 \overline{\mathbf x}_1 x1 和 x ‾ 2 \overline{\mathbf x}_2 x2.
简单证明
[ q ] L x 1 = λ 1 x 1 ⇒ [ q ] L x 1 ‾ = λ 1 x 1 ‾ ⇒ [ q ] L x 1 ‾ = λ 1 ‾ x 1 ‾ ⇒ [ q ] L x 1 ‾ = λ 2 x 1 ‾ \begin{aligned}{} [q]_{L} \, \mathbf x_{1} = \lambda_1 \,\mathbf x_{1} \\ \Rightarrow\qquad \overline{[q]_{L} \, \mathbf x_{1}} =\overline{ \lambda_1 \,\mathbf x_{1}}\\ \Rightarrow\qquad [q]_{L} \, \overline{\mathbf x_{1}} =\overline{ \lambda_1 }\,\overline{\mathbf x_{1}}\\ \Rightarrow\qquad [q]_{L} \, \overline{\mathbf x_{1}} =\lambda_2 \,\overline{\mathbf x_{1}}\\ \end{aligned} [q]Lx1=λ1x1⇒[q]Lx1=λ1x1⇒[q]Lx1=λ1x1⇒[q]Lx1=λ2x1
故 x ‾ 1 \overline{\mathbf x}_1 x1 是 [ q ] L [q]_{L} [q]L 的 λ 2 \lambda_2 λ2 特征值对应的特征向量. 同理可证, x ‾ 2 \overline{\mathbf x}_2 x2 也是 [ q ] L [q]_{L} [q]L 的 λ 2 \lambda_2 λ2 特征值对应的特征向量.
由以上酉对角化定理
U
∗
[
q
]
L
U
=
[
λ
1
λ
‾
1
λ
1
λ
‾
1
]
(V-1)
\mathbf U^{*} \, [q]_{L} \,\mathbf U = \begin{bmatrix} \lambda_1 & & &\\ &\overline{\lambda}_1 & & \\ & &\lambda_1 & \\ & & &\overline{\lambda}_1\end{bmatrix} \tag{V-1}
U∗[q]LU=
λ1λ1λ1λ1
(V-1)
其中
U
∗
=
U
‾
T
{\mathbf U}^{*}=\overline{\mathbf U}^{\rm T}
U∗=UT 及存在
U
=
[
x
1
,
x
‾
1
,
x
2
,
x
‾
2
]
(V-2)
\mathbf U = [\mathbf x_1, \overline{\mathbf x}_1, \mathbf x_2, \overline{\mathbf x}_2] \tag{V-2}
U=[x1,x1,x2,x2](V-2)
进一步, 取
y
1
=
x
1
+
x
‾
1
2
&
y
2
=
−
x
1
−
x
‾
1
2
i
(V-3)
\mathbf y_1 = \frac{\mathbf x_1 + \overline{\mathbf x}_1}{\sqrt{2}} \qquad \& \qquad \mathbf y_2 = - \frac{\mathbf x_1 - \overline{\mathbf x}_1}{\sqrt{2} \, i} \tag{V-3}
y1=2x1+x1&y2=−2ix1−x1(V-3)
(V-3) 左式两边左乘
[
q
]
L
[q]_{L}
[q]L 及利用特征值性质有
[
q
]
L
y
1
=
[
q
]
L
x
1
+
[
q
]
L
x
‾
1
2
=
λ
1
x
1
+
λ
‾
1
x
‾
1
2
=
(
a
+
i
1
−
a
2
)
x
1
+
(
a
−
i
1
−
a
2
)
x
‾
1
2
=
a
[
(
x
1
+
x
‾
1
)
2
]
+
1
−
a
2
[
−
x
1
−
x
‾
1
2
i
]
=
a
y
1
+
1
−
a
2
y
2
(V-4)
\begin{aligned}{} [q]_{L} \, \mathbf y_{1} &= \frac{[q]_{L} \, \mathbf x_1 + [q]_{L} \, \overline{\mathbf x}_1}{\sqrt{2}}\\ &= \frac{\lambda_1\, \mathbf x_1 + \overline{\lambda}_1\, \overline{\mathbf x}_1}{\sqrt{2}}\\ &= \frac{\left(a+i\sqrt{1-{{a}^{2}}}\right) \mathbf x_1 + \left(a-i\sqrt{1-{{a}^{2}}}\right) \overline{\mathbf x}_1}{\sqrt{2}}\\ &= a\left[\frac{(\mathbf x_1+\overline{\mathbf x}_1)}{\sqrt{2}} \right]+ {\sqrt{1-a^2}}\left[ -\frac{\mathbf x_1 - \overline{\mathbf x}_{1}}{\sqrt{2}\, i}\right]\\ &= a\mathbf\,\mathbf y_1 + {\sqrt{1-a^2}}\,\mathbf y_2 \end{aligned}\tag{V-4}
[q]Ly1=2[q]Lx1+[q]Lx1=2λ1x1+λ1x1=2(a+i1−a2)x1+(a−i1−a2)x1=a[2(x1+x1)]+1−a2[−2ix1−x1]=ay1+1−a2y2(V-4)
同理,
[
q
]
L
y
2
=
−
[
q
]
L
x
1
−
[
q
]
L
x
‾
1
2
i
=
−
1
−
a
2
y
1
+
a
y
2
(V-5)
\begin{aligned}{} [q]_{L} \, \mathbf y_{2} &= -\frac{[q]_{L} \, \mathbf x_1 - [q]_{L} \, \overline{\mathbf x}_1}{\sqrt{2}\, i}\\ & = -\sqrt{1-a^2}\, \mathbf y_1 + a \, {\mathbf y}_2\end{aligned} \tag{V-5}
[q]Ly2=−2i[q]Lx1−[q]Lx1=−1−a2y1+ay2(V-5)
因为
a
2
+
b
2
+
c
2
+
d
2
=
1
a^2 +b^2 +c^2 +d^2 =1
a2+b2+c2+d2=1, 可以取
a
=
c
o
s
θ
a =\rm cos\theta
a=cosθ, 则
1
−
a
2
=
s
i
n
θ
\sqrt{1-a^2} =\rm sin \theta
1−a2=sinθ. 那么,
[
q
]
L
y
1
=
c
o
s
θ
y
1
+
s
i
n
θ
y
2
[
q
]
L
y
2
=
−
s
i
n
θ
y
1
+
c
o
s
θ
y
2
(V-6)
[q]_{L} \, \mathbf y_{1} = {\rm cos} \theta \, \mathbf y_1 + {\rm sin} \theta \, \mathbf y_2\\ [q]_{L} \, \mathbf y_{2} = -{\rm sin} \theta \, \mathbf y_1 + {\rm cos} \theta \, \mathbf y_2 \tag{V-6}
[q]Ly1=cosθy1+sinθy2[q]Ly2=−sinθy1+cosθy2(V-6)
即
[
q
]
L
[
y
1
,
y
2
]
=
[
y
1
,
y
2
]
[
c
o
s
θ
−
s
i
n
θ
s
i
n
θ
c
o
s
θ
]
(V-7)
[q]_{L} [ \mathbf y_1 , \, \mathbf y_2] = [ \mathbf y_1 , \, \mathbf y_2] \begin{bmatrix}{\rm cos}\theta &-{\rm sin}\theta \\{\rm sin}\theta & {\rm cos}\theta\end{bmatrix} \tag{V-7}
[q]L[y1,y2]=[y1,y2][cosθsinθ−sinθcosθ](V-7)
类似地, 取
y
3
=
x
2
+
x
‾
2
2
&
y
4
=
−
x
2
−
x
‾
2
2
i
(V-8)
\mathbf y_3 = \frac{\mathbf x_2 + \overline{\mathbf x}_2}{\sqrt{2}} \qquad \& \qquad \mathbf y_4 = - \frac{\mathbf x_2 - \overline{\mathbf x}_2}{\sqrt{2} \, i} \tag{V-8}
y3=2x2+x2&y4=−2ix2−x2(V-8)
[ q ] L [ y 3 , y 4 ] = [ y 3 , y 4 ] [ c o s θ − s i n θ s i n θ c o s θ ] (V-9) [q]_{L} [ \mathbf y_3 , \, \mathbf y_4] = [ \mathbf y_3 , \, \mathbf y_4] \begin{bmatrix}{\rm cos}\theta &-{\rm sin}\theta \\{\rm sin}\theta & {\rm cos}\theta\end{bmatrix} \tag{V-9} [q]L[y3,y4]=[y3,y4][cosθsinθ−sinθcosθ](V-9)
合并 (V-7) 和 (V-9), 得到
[
q
]
L
[
y
1
,
y
2
,
y
3
,
y
4
]
=
[
y
1
,
y
2
,
y
3
,
y
4
]
[
c
o
s
θ
−
s
i
n
θ
0
0
s
i
n
θ
c
o
s
θ
0
0
0
0
c
o
s
θ
−
s
i
n
θ
0
0
s
i
n
θ
c
o
s
θ
]
(V-10)
[q]_{L} [ \mathbf y_1 , \, \mathbf y_2, \, \mathbf y_3 , \, \mathbf y_4] = [ \mathbf y_1 , \, \mathbf y_2, \, \mathbf y_3 , \, \mathbf y_4] \left[\begin{array}{cc:cc} {\rm cos}\theta &-{\rm sin}\theta & 0 &0\\ {\rm sin}\theta & {\rm cos}\theta &0 &0\\ \hdashline 0 &0 &{\rm cos}\theta &-{\rm sin}\theta \\ 0 &0 &{\rm sin}\theta & {\rm cos}\theta \end{array} \right] \tag{V-10}
[q]L[y1,y2,y3,y4]=[y1,y2,y3,y4]
cosθsinθ00−sinθcosθ0000cosθsinθ00−sinθcosθ
(V-10)
下面需要讨论
Y
≜
[
y
1
,
y
2
,
y
3
,
y
4
]
\mathbf Y \triangleq [ \mathbf y_1 , \, \mathbf y_2, \, \mathbf y_3 , \, \mathbf y_4]
Y≜[y1,y2,y3,y4] 是酉矩阵.
事实上, 由 (V-3) 和 (V-8) 知
Y
=
[
y
1
,
y
2
,
y
3
,
y
4
]
=
[
x
1
+
x
‾
1
2
,
−
x
1
−
x
‾
1
2
i
,
x
2
+
x
‾
2
2
,
−
x
2
−
x
‾
2
2
i
]
(V-11)
\mathbf Y = \begin{bmatrix}\mathbf y_1,\, \mathbf y_2,\, \mathbf y_3,\, \mathbf y_4 \end{bmatrix} = \begin{bmatrix} \frac{\mathbf x_1 + \overline{\mathbf x}_1}{\sqrt{2}},\, - \frac{\mathbf x_1 - \overline{\mathbf x}_1}{\sqrt{2} \, i},\, \frac{\mathbf x_2 + \overline{\mathbf x}_2}{\sqrt{2}},\, - \frac{\mathbf x_2 - \overline{\mathbf x}_2}{\sqrt{2} \, i}\end{bmatrix} \tag{V-11}
Y=[y1,y2,y3,y4]=[2x1+x1,−2ix1−x1,2x2+x2,−2ix2−x2](V-11)
有
Y
=
[
x
1
,
x
‾
1
,
x
2
,
x
‾
2
]
[
1
2
−
1
2
i
0
0
1
2
1
2
i
0
0
0
0
1
2
−
1
2
i
0
0
1
2
1
2
i
]
=
U
[
1
2
−
1
2
i
0
0
1
2
1
2
i
0
0
0
0
1
2
−
1
2
i
0
0
1
2
1
2
i
]
(V-12)
\begin{aligned} {\mathbf Y}& =\begin{bmatrix}\mathbf x_1,\, \overline{\mathbf x}_1,\, \mathbf x_2,\, \overline{\mathbf x}_2 \end{bmatrix} \begin{bmatrix} \frac{1}{\sqrt{2}} &-\frac{1}{\sqrt{2}\, i} &0 & 0\\ \frac{1}{\sqrt{2}} &\frac{1}{\sqrt{2}\, i} & 0 &0 \\ 0 &0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}\, i} \\ 0 &0 &\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}\, i}\\ \end{bmatrix}\\ &= \mathbf U \begin{bmatrix} \frac{1}{\sqrt{2}} &-\frac{1}{\sqrt{2}\, i} &0 & 0\\ \frac{1}{\sqrt{2}} &\frac{1}{\sqrt{2}\, i} & 0 &0 \\ 0 &0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}\, i} \\ 0 &0 &\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}\, i}\\ \end{bmatrix}\\ \end{aligned} \tag{V-12}
Y=[x1,x1,x2,x2]
212100−2i12i10000212100−2i12i1
=U
212100−2i12i10000212100−2i12i1
(V-12)
已知
U
\mathbf U
U 是酉矩阵, 故
U
∗
U
=
U
U
∗
=
I
4
×
4
\mathbf U^* \mathbf U = \mathbf U \mathbf U^* = \mathbf I_{4\times 4}
U∗U=UU∗=I4×4. 计算
Y
∗
Y
=
[
1
2
1
2
0
0
1
2
i
−
1
2
i
0
0
0
0
1
2
1
2
0
0
1
2
i
−
1
2
i
]
U
∗
U
[
1
2
−
1
2
i
0
0
1
2
1
2
i
0
0
0
0
1
2
−
1
2
i
0
0
1
2
1
2
i
]
=
I
4
×
4
(V-13)
\mathbf Y^{*} \mathbf Y = \begin{bmatrix} \frac{1}{\sqrt{2}} &\frac{1}{\sqrt{2}} &0 & 0\\ \frac{1}{\sqrt{2}\, i} &-\frac{1}{\sqrt{2}\, i} & 0 &0 \\ 0 &0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ 0 &0 &\frac{1}{\sqrt{2}\, i} &- \frac{1}{\sqrt{2}\, i} \end{bmatrix} \mathbf U^{*} \mathbf U \begin{bmatrix} \frac{1}{\sqrt{2}} &-\frac{1}{\sqrt{2}\, i} &0 & 0\\ \frac{1}{\sqrt{2}} &\frac{1}{\sqrt{2}\, i} & 0 &0 \\ 0 &0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}\, i} \\ 0 &0 &\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}\, i}\\ \end{bmatrix} = \mathbf I_{4 \times 4}\tag{V-13}
Y∗Y=
212i10021−2i10000212i10021−2i1
U∗U
212100−2i12i10000212100−2i12i1
=I4×4(V-13)
可知
Y
\mathbf Y
Y 是酉矩阵. 这样 (V-10) 左右两边同时左乘
Y
∗
\mathbf Y*
Y∗ 可以得到
Y
∗
[
q
]
L
Y
=
[
c
o
s
θ
−
s
i
n
θ
0
0
s
i
n
θ
c
o
s
θ
0
0
0
0
c
o
s
θ
−
s
i
n
θ
0
0
s
i
n
θ
c
o
s
θ
]
(V-14)
\mathbf Y ^{*}\, [q]_{L} \, \mathbf Y= \left[\begin{array}{cc:cc} {\rm cos}\theta &-{\rm sin}\theta & 0 &0\\ {\rm sin}\theta & {\rm cos}\theta &0 &0\\ \hdashline 0 &0 &{\rm cos}\theta &-{\rm sin}\theta \\ 0 &0 &{\rm sin}\theta & {\rm cos}\theta \end{array} \right] \tag{V-14}
Y∗[q]LY=
cosθsinθ00−sinθcosθ0000cosθsinθ00−sinθcosθ
(V-14)
我们得到了需要的结果.
VI. 结论
这样就证明了:
任意单位四元数 q q q 都可以通过坐标转换为式 (III-1) 中描述的最简形式.
任意单位四元数在进行 “四元数描述的三维旋转公式” (II-1) 旋转时, 都可以在坐标变换下与章节 “III. 四元数描述的三维空间中的旋转过程” 中描述的最简四元数旋转过程一致.
以上是我们给出的 “四元数描述的三维空间中的旋转过程” 的解释, 涉及1. 四元数形式的三维旋转公式, 2. 等倾旋转, 3. 及他们之间的关系.