矩阵群与李理论
四元数与 SU(2)
四元数以三个虚单位 i、j、k 扩张复数,满足 i^2 = j^2 = k^2 = ijk = -1。一个四元数为 q = a + b i + c j + d k。长度为 1 的单位四元数原来恰好就是群 SU(2),它们给出表示三维旋转最利落、数值上最稳定的方式——这正是图形学与机器人学以它们为生的原因。
桥梁是一个 2 比 1 的同态 SU(2) -> SO(3):每个三维旋转恰好来自两个单位四元数 q 与 -q。这使 SU(2) 成为 SO(3) 的二重覆盖。具体地,绕单位轴 (x,y,z) 转角 theta 的旋转对应四元数 q = cos(theta/2) + sin(theta/2)(x i + y j + z k),而你以三明治 q v q^-1(把 v 当作纯四元数)来旋转向量 v。
二重覆盖为何是被迫的:SO(3) 不是单连通的(一个 360 度的环路不能收缩为一点),故它不能是旋转对称的“最佳”版本。SU(2) 作为三维球面,是单连通的,故它是万有覆盖。公式中的半角 theta/2 正是这一二重关系可见的指纹——把 q 转过 360 度,旋转却只走了 180 度。
工程师为何钟爱它们:单位四元数避免万向节锁(欧拉角的奇点),平滑插值(slerp),且只需重新归一化、而非重新正交化便能保持有效。一点提醒:q 与 -q 的符号歧义意味着插值时你须选定一致的半球,否则旋转可能突然绕了远路。
q = cos(theta/2) + sin(theta/2)(x i + y j + z k), rotate v by v -> q v q^-1
单位四元数以其半角编码一个旋转;把向量夹在 q 与 q^-1 之间便完成旋转。
量子力学的“自旋 1/2”就是这同一个二重覆盖:电子的态在整整 360 度旋转下会获得一个负号,须 720 度才真正复原。四元数与电子自旋是同一个 SU(2) -> SO(3) 事实的两套行头。
又称
另见