文章目录
- 对偶数
- 一、对偶数是什么?
- 二、对偶矢量
- 三、对偶四元数
对偶数
一、对偶数是什么?
https://zhuanlan.zhihu.com/p/358146509
对偶数是一种特殊的自洽的运算,类似于常用的复数基本单位 i i i ( i 2 = − 1 i^2=-1 i2=−1),这里数学家们对对偶数基本单位的定义是 ϵ \epsilon ϵ ( ϵ 2 = 0 \epsilon^2=0 ϵ2=0 且 ϵ ≠ 0 \epsilon\neq0 ϵ=0)。
类似于复数的定义 a + i b a+ib a+ib,对偶数的定义为 a + ϵ b a+\epsilon b a+ϵb。
基于上述定义,定义两个对偶数 d 1 = a 1 + ϵ b 1 d_1=a_1+\epsilon b_1 d1=a1+ϵb1 和 d 2 = a 2 + ϵ b 2 d_2=a_2+\epsilon b_2 d2=a2+ϵb2 ,按照一般的运算法则可以得到对偶数的运算:
k d 1 = ( k a 1 ) + ϵ ( k b 1 ) d 1 + d 2 = ( a 1 + a 2 ) + ϵ ( b 1 + b 2 ) d 1 d 2 = a 1 a 2 + ϵ ( a 1 b 2 + a 2 b 1 ) + ϵ 2 b 1 b 2 = a 1 a 2 + ϵ ( a 1 b 2 + a 2 b 1 ) d 1 ∗ = a 1 − ϵ b 1 ∣ d 1 ∣ = d 1 d 1 ∗ = ∣ a 1 ∣ d 1 − 1 = 1 a 1 + ϵ b 1 = a 1 − ϵ b 1 a 1 2 = 1 a 1 − ϵ b 1 a 1 2 if a 1 ≠ 0 d 2 d 1 = a 2 + ϵ b 2 a 1 + ϵ b 1 = ( a 2 + ϵ b 2 ) ( a 1 − ϵ b 1 ) ( a 1 + ϵ b 1 ) ( a 1 − ϵ b 1 ) = a 1 a 2 + ϵ ( a 1 b 2 − a 2 b 1 ) a 1 2 = a 2 a 1 + ϵ ( b 2 a 1 − a 2 b 1 a 1 2 ) if a 1 ≠ 0 \begin{aligned} k d_1&= (k a_1) + \epsilon (k b_1) \\ d_1+d_2 &= (a_1+a_2) + \epsilon (b_1+b_2) \\ d_1d_2 &=a_1a_2+ \epsilon (a_1b_2+a_2b_1)+\epsilon^2b_1b_2=a_1a_2+ \epsilon (a_1b_2+a_2b_1) \\ d_1^* &=a_1-\epsilon b_1 \\ |d_1| & = \sqrt{d_1d_1^*}=|a_1| \\ d_1^{-1}&=\frac{1}{a_1+\epsilon b_1}=\frac{a_1-\epsilon b_1}{a_1^2}=\frac{1}{a_1}-\epsilon\frac{b_1}{a_1^2} \quad \text{if}~ a_1\neq 0 \\ \frac{d_2}{d_1}&=\frac{a_2+\epsilon b_2}{a_1+\epsilon b_1}=\frac{(a_2+\epsilon b_2)(a_1-\epsilon b_1)}{(a_1+\epsilon b_1)(a_1-\epsilon b_1)}=\frac{a_1a_2+\epsilon(a_1b_2-a_2b_1)}{a_1^2}=\frac{a_2}{a_1}+\epsilon(\frac{b_2}{a_1}-\frac{a_2b_1}{a_1^2}) \quad \text{if}~ a_1\neq 0 \end{aligned} kd1d1+d2d1d2d1∗∣d1∣d1−1d1d2=(ka1)+ϵ(kb1)=(a1+a2)+ϵ(b1+b2)=a1a2+ϵ(a1b2+a2b1)+ϵ2b1b2=a1a2+ϵ(a1b2+a2b1)=a1−ϵb1=d1d1∗=∣a1∣=a1+ϵb11=a12a1−ϵb1=a11−ϵa12b1if a1=0=a1+ϵb1a2+ϵb2=(a1+ϵb1)(a1−ϵb1)(a2+ϵb2)(a1−ϵb1)=a12a1a2+ϵ(a1b2−a2b1)=a1a2+ϵ(a1b2−a12a2b1)if a1=0
对偶数最大的好处是泰勒展开,后面多余的项直接消失,即
f ( a + ϵ b ) = f ( a ) + ϵ b f ′ ( a ) + ϵ 2 ( … ) = f ( a ) + ϵ b f ′ ( a ) f(a+\epsilon b)=f(a)+\epsilon b f'(a)+\epsilon^2(\dots)=f(a)+\epsilon b f'(a) f(a+ϵb)=f(a)+ϵbf′(a)+ϵ2(…)=f(a)+ϵbf′(a)因此,进一步可以得到 e a + ϵ b = e a + ϵ b e a ln ( a + ϵ b ) = ln ( a ) + ϵ b 1 a if a ≠ 0 sin ( a + ϵ b ) = sin ( a ) + ϵ b cos ( a ) cos ( a + ϵ b ) = cos ( a ) − ϵ b sin ( a ) \begin{aligned} e^{a+\epsilon b}&=e^{a}+\epsilon b e^a \\ \ln(a+\epsilon b)&=\ln(a)+\epsilon b\frac{1}{a}\quad \text{if}~ a\neq 0 \\ \sin(a+\epsilon b)&=\sin(a)+\epsilon b \cos(a) \\ \cos(a+\epsilon b)&=\cos(a)-\epsilon b \sin(a) \end{aligned} ea+ϵbln(a+ϵb)sin(a+ϵb)cos(a+ϵb)=ea+ϵbea=ln(a)+ϵba1if a=0=sin(a)+ϵbcos(a)=cos(a)−ϵbsin(a)
进一步,可以发现 f ′ ( a ) = f ( a + ϵ b ) − f ( a ) ϵ b f'(a)=\frac{f(a+\epsilon b)-f(a)}{\epsilon b } f′(a)=ϵbf(a+ϵb)−f(a)注意这里是直接线性化,而不是近似线性化,这个可以用来计算导数。
二、对偶矢量
翟洪民. 基于对偶四元数的航天器近距离接近位姿同步规划与控制. 哈尔滨工业大学, 2021
对偶矢量 d = a + ϵ b \boldsymbol{d}=\boldsymbol{a}+\epsilon \boldsymbol{b} d=a+ϵb , a , b ∈ R n \boldsymbol{a},\boldsymbol{b}\in\mathbb{R}^n a,b∈Rn,又有
d = [ a 1 a 2 ⋮ a n ] + ϵ [ b 1 b 2 ⋮ b n ] = [ a 1 + ϵ b 1 a 2 + ϵ b n ⋮ a n + ϵ b n ] \boldsymbol{d}=\left[\begin{array}{c} a_{1} \\ a_{2} \\ \vdots \\ a_{n} \end{array}\right]+\epsilon \left[\begin{array}{c} b_{1} \\ b_{2} \\ \vdots \\ b_{n} \end{array}\right]=\left[\begin{array}{c} a_1+\epsilon b_1 \\ a_2+\epsilon b_n \\ \vdots \\ a_n+\epsilon b_n \end{array}\right] d= a1a2⋮an +ϵ b1b2⋮bn = a1+ϵb1a2+ϵbn⋮an+ϵbn 也就是说,它可以既被看作实数部分、对偶部分均都矢量构成的对偶数,同时又被看作以对偶数作为元素的矢量。
空间中任意一条直线可用单位对偶矢量来描述。如下图所示,直线 R \boldsymbol{R} R 可以表示为 l + ϵ m \boldsymbol{l}+\epsilon \boldsymbol{m} l+ϵm, l \boldsymbol{l} l 显示直线的平行方向, m \boldsymbol{m} m 显示直线与原点的垂直距离。这里的单位对偶向量通常被称为普吕克(Plücker)直线。

三、对偶四元数
对偶四元数可以看作是元素为对偶数的四元数,也可以看作是元素为四元数的对偶数,即
q ^ = [ η ^ , ξ ^ ] = q + ϵ q ′ = η + ξ 1 i + ξ 2 j + ξ 3 k + ϵ ( η ′ + ξ 1 ′ i + ξ 2 ′ j + ξ 3 ′ k ) \begin{aligned}\hat{\boldsymbol q}&=[\hat{\eta},\hat{\boldsymbol{\xi}}]=\boldsymbol q+\epsilon \boldsymbol q' \\ &=\eta+\xi_1\boldsymbol{i}+\xi_2\boldsymbol{j}+\xi_3\boldsymbol{k}+\epsilon\left( \eta'+\xi_1'\boldsymbol{i}+\xi_2'\boldsymbol{j}+\xi_3'\boldsymbol{k} \right) \end{aligned} q^=[η^,ξ^]=q+ϵq′=η+ξ1i+ξ2j+ξ3k+ϵ(η′+ξ1′i+ξ2′j+ξ3′k)
这里的共轭和上面的有些区别,是因为我们将其视为元素为对偶数的四元数。为什么不把它当作元素为四元数的对偶数进行求共轭,具体原因见https://blog.csdn.net/weixin_44382195/article/details/125400408?spm=1001.2014.3001.5501。
q ^ ∗ = q ∗ + ϵ q ′ ∗ \hat{\boldsymbol q}^*=\boldsymbol q^*+\epsilon \boldsymbol q'^* q^∗=q∗+ϵq′∗






![Unity3D - 详解Quaternion类[转载]](https://img-blog.csdnimg.cn/c483c41d74754e688620c250ec1ef653.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3N1bmhhbzUyMTExMQ==,size_16,color_FFFFFF,t_70#pic_center)







