起因

最近在算一个导数:两个旋转矩阵相乘,对其中一个求导的式子。在方法上来说可以直接求导,也可以用扰动模型来求导。为了规避复杂的雅可比矩阵,我这里选用了扰动模型求导。

式子

现有两个旋转矩阵$R_1$和$R_2$,他们都属于正交欧式群$SO(3)$,他们对应的李代数分别为$\phi_1$和$\phi_2$。

现在需要求

$$ \frac{\partial{R_1 \cdot R_2}}{\partial{R_1}} $$

$$ \frac{\partial{R_1 \cdot R_2}}{\partial{R_2}} $$

这两个式子的值。

李群函数的求导公式

求解这个式子需要借助一个数学公式。

假设一个李群$G$,和一个函数$f:G \rightarrow G$,也就是从李群到李群的映射函数。我们在函数$f(g)$的自变量上左乘一个微小扰动:

$$ f(\exp(\delta)\cdot g) $$

其中$\delta$是微小扰动的李代数,这个扰动也会在函数值上产生影响:

$$ \exp(\epsilon)\cdot f(g) $$

其中$\epsilon$是微小扰动$\delta$在函数值上产生影响的李代数。如果这个扰动足够小,那么其实这两个式子是相等的。

$$ \exp(\epsilon)\cdot f(g)=f(\exp(\delta)\cdot g) $$

$$ \frac{\partial{f}}{\partial{g}} \equiv \left.\frac{\partial{\epsilon}}{\partial{\delta}}\right|_{\delta=0} $$

将$\epsilon$解出来,即为

$$ \epsilon=f(\exp(\delta)\cdot g)\cdot f(g) $$

再带入到下面的式子里,得到左扰动模型求导公式:

$$ \frac{\partial{f}}{\partial{g}} \equiv \left.\frac{\partial{f(\exp(\delta)\cdot g)\cdot f^{-1}(g)}}{\partial{\delta}}\right|_{\delta=0}\tag{1} $$

同理可得,右扰动模型求导公式:

$$ \frac{\partial{f}}{\partial{g}} \equiv \left.\frac{\partial{f^{-1}(g)\cdot f(g\cdot \exp(\delta))}}{\partial{\delta}}\right|_{\delta=0}\tag{2} $$

一个性质

这个性质不推导了,直接给出:

$$ R\cdot\exp(\omega)\cdot R^{-1}=\exp(R\cdot\omega)\tag{3} $$

其中,$\omega$是微小扰动的李代数。

求导

左扰动求导

$R_1\cdot R_2$对$R_1$求导

有函数:

$$ \begin{align}f({R_1}) = &{R_1}\cdot {R_2} \\ \frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_1}}} = &\frac{\partial f({R_1})}{\partial {R_1}} \end{align} $$

按照左扰动模型求导公式$(1)$,带入

$$ \begin{align}\frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_1}}} = & \frac{\partial f({R_1})}{\partial {R_1}} \\ = & \left.\frac{\partial\log\left(\exp(\delta){R_1}{R_2}({R_1}{R_2})^{-1}\right)}{\partial\delta}\right|_{\delta=0} \\ = & \left.\frac{\partial\log\left(exp(\delta)\right)}{\partial\delta}\right|_{\delta=0} \\ = & {I}_{3\times3}\tag{4}\end{align} $$

${{R_1}}\cdot {R_2}$对${{R_2}}$求导

有函数:

$$ \begin{align}f({R_2}) = &{R_1}\cdot {R_2} \\ \frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_2}}} = &\frac{\partial f({R_2})}{\partial {R_2}} \end{align} $$

按照左扰动模型求导公式$(2)$,带入

$$ \begin{align}\frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_2}}} = & \frac{\partial f({R_2})}{\partial {R_2}} \\ = & \left.\frac{\partial\log\left({R_1}\exp(\delta){R_2}({R_1}{R_2})^{-1}\right)}{\partial\delta}\right|_{\delta=0} \\ = & \left.\frac{\partial\log\left({R_1}\exp(\delta){R_2}{R_2^{-1}}{R_1^{-1}}\right)}{\partial\delta}\right|_{\delta=0} \\ = & \left.\frac{\partial\log\left({R_1}\exp(\delta){R_1^{-1}}\right)}{\partial\delta}\right|_{\delta=0} \end{align} $$

在这里,再将上面的微小扰动的等式$(3)$带入:

$$ \begin{align}\frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_2}}} = & \left.\frac{\partial\log({R_1}\exp(\delta){R_1^{-1}})}{\partial\delta}\right|_{\delta=0} \\ = & \left.\frac{\partial\log\left(\exp({R_1}\delta)\right)}{\partial\delta}\right|_{\delta=0} \\ = & {R_1}\tag{5} \end{align} $$

右扰动求导

${{R_1}}\cdot {R_2}$对${{R_1}}$求导

有函数:

$$ \begin{align}f({R_1}) = &{R_1}\cdot {R_2} \\ \frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_1}}} = &\frac{\partial f({R_1})}{\partial {R_1}} \end{align} $$

按照右扰动模型求导公式$(1)$,这里直接给出结果,就不推导了:

$$ \frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_1}}} = {R_2^{-1}}={R_2^{T}}\tag{6} $$

${{R_1}}\cdot {R_2}$对${{R_2}}$求导

有函数:

$$ \begin{align}f({R_2}) = &{R_1}\cdot {R_2} \\ \frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_2}}} = &\frac{\partial f({R_2})}{\partial {R_2}} \end{align} $$

按照右扰动模型求导公式$(2)$,得出结果:

$$ \frac{\partial{{R_1} \cdot {R_2}}}{\partial{{R_1}}} = {I_{3\times3}}\tag{7} $$

参考

Last modification:October 15, 2021
If you think my article is useful to you, please feel free to appreciate