对偶数

数学是一个逻辑的学科,只要自恰,数学就可以作出很多的超越常识的一些定义。譬如我们今天要讲的对偶数。

我们最常使用的实数的单位是“1”,我们放弃这个最基础的设定,我们可以引入新的数的基本单位,作为例子,虚数单位i就是我们新的基础单位,其中定义为 $$j^2 =-1 $$,i和实数组合成为复数。基于此,我们还可以定义新的“数的单位”,$$j^2=+1, j^2=0$$。这两种新的单位和实数组合在一起分别构成双数和对偶数。

譬如,我们令对偶数$$d_1 = a_1+ib_1,\\ d_2 = a_2+ib_2$$,我们可以分别计算两个对偶数的和、积和幅值,以及当\(a_1\neq1\)时,可以求其逆。

$$d_1+d_2=(a_1+a_2)+i(b_1+b_2),\\d_1d_2=a_1a_2+i(a_1b_2+b_1a_2)$$

$$| d_1|=a_1$$

$$d_1^{-1} = \frac{a_1-ib_1}{a^2}$$

为了以示区分,以后的对偶数,我们不再使用i作为其单位符号,而改用\(\epsilon\)。

对偶数最大的价值在于它在数值导数上的巨大优势。对于对偶函数,我们可以将其在实部点按照泰勒展开。二阶以上的项为零,即

$$f(a+\epsilon)=f(a)+{\epsilon}f'(a)+{\epsilon}^2\frac{b^2}{2!}f^{\prime\prime}(a)+…\\ =f(a)+{\epsilon} bf'(a)$$

基于此,我们很容易得出以下一些常用的推论:

$$e^{a+\epsilon b} = e^a \bullet e^{\epsilon b}=e^a+ \epsilon be^a$$

$$ln(a+\epsilon b)=ln(a)+\epsilon\frac{b}{a}$$

$$sin(a+\epsilon b)=sin(a) +\epsilon b cos(a)$$

$$cos(a+\epsilon b)=cos(a) – \epsilon bsin(a)$$

基于以上的事实,对于函数f,我们要求其在a点的导数值,我们不妨令b=1,将\(a+ \epsilon \)带入函数f中,然后展开计算,最终得到的一个对偶数,其对偶部分就是我们要求的数值导数的值。

举一个例子。我们要求\(f(x)=xe^{-x^2}\)在x=3处的导数值,于是我们令\(x = 3+ \epsilon\),带入函数

$$f(3+ \epsilon) = (3+ \epsilon) e^{-(3+ \epsilon)^2} \\= (3+ \epsilon)e^{-9-\epsilon 6} \\=3e^{-9}- \epsilon 17*e^{-9}$$

取出对偶部分,\(f'(3)=-17e^(-9)=-2.098 \times 10^{-3} \),我们很容易验证这个结果的正确性。当然,我们还可以尝试其他的一些函数。

进一步地,如果f是x的函数,x对时间t的导数是\(\dot{x}\)。如果我求f对时间在x点的数值导数,那么我们可以用\( x=x+ \epsilon \dot{x} \)带入原函数,然后展开,并分离出对偶部分,就是f对时间t的数值函数。事实上,x对x自身的导数就是1,所以f对x的导数时,对偶部分自然就是1。

从直观的角度来说的话,\(\epsilon\)的二次方是零,因此我们可以将其看成一个无穷小量。回忆导数的几何意义,就是当x有无穷小的微增量时y对应的增量,这也刚好印证了上式的结构形式:\(f(x+dx) = f(x) + f'(x)dx\)。

我们将对偶数有序的排列就能构成对偶向量,对偶向量有序排列我们就得到了对偶矩阵。$$ \hat{a}=\left [ \begin{matrix} a_1+\epsilon b_1 \\ a_2+\epsilon b_2 \\a_3+\epsilon b_3 \end{matrix} \right] = \left[ \begin{matrix}a_1 \\ a_2\\a_3\end{matrix}\right]+\epsilon\left[\begin{matrix} b_1\\ b_2\\b_3 \end{matrix}\right]=a + \epsilon b$$

同样的,我们的矩阵也可以写成$$\hat{A}=A+\epsilon B$$

讲了这么多,对偶数在机器人领域还有一个最大的好处,我们可以用一个对偶数来表示一个旋量,使得机器人的动力学矩阵变得简单。

发表评论

电子邮件地址不会被公开。 必填项已用*标注