四元数(Quaternion)、叉积(Cross Product)与点积(Dot Product)之间的关系

四元数(Quaternion)、叉积(Cross Product)与点积(Dot Product)之间的关系

flyfish

四元数

四元数(Quaternions)是一种数学结构,由爱尔兰数学家威廉 罗文 哈密顿(William Rowan Hamilton)于1843年发明。它是复数(complex numbers)的扩展,从二维扩展到四维空间。。

一个四元数 qqq 可以表示为:
q=s+xi+yj+zk q = s + x\mathbf{i} + y\mathbf{j} + z\mathbf{k} q=s+xi+yj+zk

其中:
s,x,y,zs, x, y, zs,x,y,z 是实数(称为标量部分和向量部分)。
i,j,k\mathbf{i}, \mathbf{j}, \mathbf{k}i,j,k 是三个虚单位,满足以下乘法规则(哈密顿的基本关系):
i2=j2=k2=ijk=−1 \mathbf{i}^2 = \mathbf{j}^2 = \mathbf{k}^2 = \mathbf{i}\mathbf{j}\mathbf{k} = -1 i2=j2=k2=ijk=−1

以及非交换的交叉乘法:
ij=k,ji=−k \mathbf{i}\mathbf{j} = \mathbf{k}, \quad \mathbf{j}\mathbf{i} = -\mathbf{k} ij=k,ji=−k
jk=i,kj=−i \mathbf{j}\mathbf{k} = \mathbf{i}, \quad \mathbf{k}\mathbf{j} = -\mathbf{i} jk=i,kj=−i
ki=j,ik=−j \mathbf{k}\mathbf{i} = \mathbf{j}, \quad \mathbf{i}\mathbf{k} = -\mathbf{j} ki=j,ik=−j

加法 :类似于向量加法,按分量相加。
乘法 :使用分配律扩展上述规则,结果仍是一个四元数(封闭性)。乘法是非交换的(即 q1q2≠q2q1q_1 q_2 \neq q_2 q_1q1q2=q2q1 一般情况下)。
模长 :∣q∣=s2+x2+y2+z2|q| = \sqrt{s^2 + x^2 + y^2 + z^2}∣q∣=s2+x2+y2+z2 。
共轭 :qˉ=s−xi−yj−zk\bar{q} = s - x\mathbf{i} - y\mathbf{j} - z\mathbf{k}qˉ=s−xi−yj−zk。
逆元 :对于非零四元数,逆是 q−1=qˉ∣q∣2q^{-1} = \frac{\bar{q}}{|q|^2}q−1=∣q∣2qˉ,这使得四元数支持"除法"。
单位四元数:模长为1的四元数,用于表示三维空间的旋转(比旋转矩阵更高效,避免万向节锁问题)。

吉布斯(Gibbs)和亥维赛(Heaviside)从四元数中"拆分"出点积与叉积,形成独立的向量分析体系。

向量四元数的乘积分解

考虑两个纯向量四元数 (标量部分为0):
u=u1i+u2j+u3k(对应向量 u=(u1,u2,u3)) \mathbf{u} = u_1i + u_2j + u_3k \quad (\text{对应向量 } \mathbf{u} = (u_1, u_2, u_3)) u=u1i+u2j+u3k(对应向量 u=(u1,u2,u3))
v=v1i+v2j+v3k(对应向量 v=(v1,v2,v3)) \mathbf{v} = v_1i + v_2j + v_3k \quad (\text{对应向量 } \mathbf{v} = (v_1, v_2, v_3)) v=v1i+v2j+v3k(对应向量 v=(v1,v2,v3))

根据四元数乘法规则展开 uv\mathbf{u} \mathbf{v}uv,代入 i2=j2=k2=−1i^2 = j^2 = k^2 = -1i2=j2=k2=−1 和 ij=k,ji=−kij = k, ji = -kij=k,ji=−k 等关系,最终化简为:
uv=−(u1v1+u2v2+u3v3)⏟点积的负数+(u2v3−u3v2)i+(u3v1−u1v3)j+(u1v2−u2v1)k⏟叉积的向量形式 \mathbf{u} \mathbf{v} = -\underbrace{(u_1v_1 + u_2v_2 + u_3v_3)}{\text{点积的负数}} + \underbrace{(u_2v_3 - u_3v_2)i + (u_3v_1 - u_1v_3)j + (u_1v_2 - u_2v_1)k}{\text{叉积的向量形式}} uv=−点积的负数 (u1v1+u2v2+u3v3)+叉积的向量形式 (u2v3−u3v2)i+(u3v1−u1v3)j+(u1v2−u2v1)k

四元数的乘积是"点积(标量部分)"与"叉积(向量部分)"的统一载体------标量部分是点积的相反数,向量部分则是叉积本身。

从四元数乘法到点积、叉积

以向量 u=(2,1,4)\mathbf{u} = (2, 1, 4)u=(2,1,4) 和 v=(3,6,5)\mathbf{v} = (3, 6, 5)v=(3,6,5) 为例,将其表示为向量四元数:
u=2i+j+4k,v=3i+6j+5k \mathbf{u} = 2i + j + 4k, \quad \mathbf{v} = 3i + 6j + 5k u=2i+j+4k,v=3i+6j+5k

计算四元数乘积:
uv=(2i+j+4k)(3i+6j+5k)=−32−19i+2j+9k \begin{align*} \mathbf{u} \mathbf{v} &= (2i + j + 4k)(3i + 6j + 5k) \\ &= -32 - 19i + 2j + 9k \end{align*} uv=(2i+j+4k)(3i+6j+5k)=−32−19i+2j+9k

标量部分 :−32=−(2⋅3+1⋅6+4⋅5)=−u⋅v-32 = -(2 \cdot 3 + 1 \cdot 6 + 4 \cdot 5) = -\mathbf{u} \cdot \mathbf{v}−32=−(2⋅3+1⋅6+4⋅5)=−u⋅v(点积的负数);
向量部分 :−19i+2j+9k-19i + 2j + 9k−19i+2j+9k(对应叉积 u×v=(−19,2,9)\mathbf{u} \times \mathbf{v} = (-19, 2, 9)u×v=(−19,2,9))。

"四元数乘积 = (-点积) + 叉积"的代数关联。

四元数能拆分出点积和叉积,源于二者分别刻画了三维空间中向量的"共线"与"垂直"关系。

点积:标量,刻投影度,量度共线程度,跳投影舞。

点积 u⋅v=∣u∣∣v∣cos⁡θ\mathbf{u} \cdot \mathbf{v} = |\mathbf{u}||\mathbf{v}|\cos\thetau⋅v=∣u∣∣v∣cosθ(θ\thetaθ 为两向量夹角)是标量,核心意义是**"投影"**------描述一个向量在另一个向量方向上的"重叠程度"。

判断夹角(cos⁡θ>0\cos\theta > 0cosθ>0 为锐角,cos⁡θ<0\cos\theta < 0cosθ<0 为钝角)、计算投影长度(projvu=u⋅v∣v∣2v\text{proj}_\mathbf{v}\mathbf{u} = \frac{\mathbf{u} \cdot \mathbf{v}}{|\mathbf{v}|^2}\mathbf{v}projvu=∣v∣2u⋅vv)。

叉积:向量,垂原平面,模为面积,宣垂直性

叉积 u×v\mathbf{u} \times \mathbf{v}u×v 是向量 ,模长 ∣u×v∣=∣u∣∣v∣sin⁡θ|\mathbf{u} \times \mathbf{v}| = |\mathbf{u}||\mathbf{v}|\sin\theta∣u×v∣=∣u∣∣v∣sinθ 对应两向量张成的平行四边形面积 ,方向由右手定则确定(垂直于两向量所在平面)。

判断平行(若 u×v=0\mathbf{u} \times \mathbf{v} = \mathbf{0}u×v=0,则两向量共线)、计算平面法向量(叉积方向即为平面法向)。

四元数的乘法运算极具整合性,它能在一次运算中同时涵盖点积所刻画的向量投影关系,以及叉积所描述的垂直方向与平行四边形面积属性,相当于把这两种不同维度的几何信息 "打包" 在了同一次乘法操作里。

相关推荐
YaraMemo4 小时前
对称/Hermitian矩阵相关记号
线性代数·5g·矩阵·信息与通信
2401_841495644 小时前
MoE算法深度解析:从理论架构到行业实践
人工智能·深度学习·机器学习·自然语言处理·大语言模型·moe·混合专家模型
SJLoveIT5 小时前
机器学习之ravel()的作用
机器学习·numpy
No.Ada5 小时前
《基于机器学习的脑电认知负荷识别研究与应用》论文笔记
人工智能·机器学习
LO嘉嘉VE7 小时前
学习笔记十:多分类学习
机器学习
月下倩影时7 小时前
视觉学习篇——理清机器学习:分类、流程与技术家族的关系
学习·机器学习·分类
算法与编程之美7 小时前
探索不同的优化器、损失函数、batch_size对分类精度影响
人工智能·机器学习·计算机视觉·分类·batch
Blossom.11813 小时前
移动端部署噩梦终结者:动态稀疏视觉Transformer的量化实战
java·人工智能·python·深度学习·算法·机器学习·transformer