# Showing $\frac{\partial}{\partial \Phi}\left(\Phi\circ\exp(\varphi)\circ\Phi^{-1}\right) = I - C(\Phi)C(\varphi)C(\Phi)^T$ for 3D rotations

I am trying to reproduce a result from "A Primer on the Differential Calculus of 3D Orientations" - Bloesch, 2016

Consider equations (72) and (73):

(72): $$\frac{\partial}{\partial \Phi}\left[\exp(\Phi(\varphi)) = \Phi\circ\exp(\varphi)\circ\Phi^{-1}\right]$$

(73): $$-\Gamma(\Phi(\varphi))\Phi(\varphi)^\times = I - C(\Phi)C(\varphi)C(\Phi)^T$$

From that, I am having trouble figuring out, why this holds:

$$\frac{\partial}{\partial \Phi}\left(\Phi\circ\exp(\varphi)\circ\Phi^{-1}\right) = I - C(\Phi)C(\varphi)C(\Phi)^T$$

The article mentions using the chain rule, the product rule, and identities 29, 30, 28:

(28): $$\frac{\partial}{\partial \Phi}(\Phi^{-1}) = -C(\Phi)^T$$

(29): $$\frac{\partial}{\partial \Phi_1} (\Phi_1 \circ \Phi_2) = I$$

(30): $$\frac{\partial}{\partial \Phi_2} (\Phi_1 \circ \Phi_2) = C(\Phi_1)$$

Therefore, I have tried the following:

Set:

$$f(\Phi) = \Phi \circ exp(\varphi)$$

and

$$g(\Phi) = \Phi^{-1}$$

Then

$$\frac{\partial}{\partial \Phi}\left(\Phi\circ\exp(\varphi)\circ\Phi^{-1}\right) = \frac{\partial}{\partial \Phi}\left(f(\Phi) \circ g(\Phi)\right)$$

And from the identities:

$$f'(\Phi) = I$$

$$g'(\Phi) = -C(\Phi)^T$$

Then I apply the product rule (equation 38 in The Matrix Cookbook):

$$\frac{\partial}{\partial \Phi}\left(f(\Phi) \circ g(\Phi)\right) = f'(\Phi) \circ g(\Phi) + f(\Phi) \circ g'(\Phi)$$

$$= I \circ \Phi^{-1} + \Phi \circ exp(\varphi) \circ (-C(\Phi)^T)$$

I then simplify this. For that, I use, that I am working with 3D orientations, and for rotation matrices $$C^{-1} = C^T$$:

$$= C(\Phi)^{T} - C(\Phi) \circ C(\varphi) \circ C(\Phi)^T$$

This brings me to my problem, because I am left with $$C(\Phi)^{T}$$ as the first term in this equation, whereas I should end up with the identity matrix. Where did I go wrong here?

I have tried verifying this numerically, and from that it seems that I should in fact end up with the identity matrix term instead of the one I end up with. I also find it suspicious, that the author mentions the use of identity 30, which I do not seem to use.

• I suspect you cannot use the "usual" product rule here. You should somehow derive the product rule associated with concatenation operation $\circ$. Jun 29, 2022 at 11:34
• @S4JJ4D That is a good point. Unfortunately, I haven't been able to find any mention of a "special" prodcut rule for this situation, and the author does not indicate any such thing. In a related article, Solà explicitly mentions, that the chain rule holds here, but makes no mention of the product rule. I will have to try deriving it on my own, as you said, though I fear that this will be a little over my head.
– Andy
Jun 29, 2022 at 11:59
• As an example, you cannot derive Eq.(70) by expanding $\frac{\partial}{\partial \Phi_{2}} ( \Phi_{1} \circ \Phi_{2} )$ using the usual product rule. Chain rule, however, clearly holds, but I don't see how $\Phi \circ \exp (\varphi) \circ \Phi^{-1}$ could be reformulated as a chain of operations. Jun 29, 2022 at 12:21
• I could find some identities for the special cases of product rule: $$\\$$ - Second term does not depend on $\Phi$: $$\Phi \mapsto g(\Phi) \circ \Phi_2 \\ \frac{\partial}{\partial \Phi} (g(\Phi) \circ \Phi_2) = \frac{\partial}{\partial \Phi} g (\Phi)$$ - First term does not depend on $\Phi$: $$\Phi \mapsto \Phi_1 \circ g(\Phi) \\ \frac{\partial}{\partial \Phi} (\Phi_1 \circ g(\Phi) ) = - C(\Phi_1) C(g(\Phi)) \frac{\partial}{\partial \Phi} (g(\Phi))^{-1}$$ But for the general case, I don't know. $$\Phi \mapsto h(\Phi) \circ g(\Phi)$$ Jun 29, 2022 at 13:06

$$\Phi \mathop{\longmapsto}\limits^{f_1\strut} (g(\Phi), h(\Phi)) \mathop{\longmapsto}\limits^{f_2\strut} g(\Phi) \circ h(\Phi)$$
Where $$\circ$$ is the concatenation operation defined in the paper. Define $$i = f_2 \bullet f_1$$ where $$\bullet$$ denotes the function composition. The product rule is the expanded form of the expression $$\frac{\partial}{\partial \Phi} i(\Phi)$$: $$\frac{\partial}{\partial \Phi} i(\Phi) = \frac{\partial}{\partial \Phi} (f_2 \bullet f_1)(\Phi) = \Big( \frac{\partial f_2}{\partial f_1(\Phi)} \Big) \Big( \frac{\partial f_1}{\partial \Phi} \Big) = \begin{bmatrix}\frac{\partial}{\partial g}(g \circ h)&\frac{\partial}{\partial h}(g \circ h)\end{bmatrix} \begin{bmatrix}\frac{\partial}{\partial \Phi} g(\Phi)\\ \\ \frac{\partial}{\partial \Phi} h(\Phi)\end{bmatrix}$$ According to the identities (29) and (30), this could be further simplified as $$\begin{bmatrix}\boldsymbol{I}&\boldsymbol{C}(g(\Phi))\end{bmatrix} \begin{bmatrix}\frac{\partial}{\partial \Phi} g(\Phi)\\ \\ \frac{\partial}{\partial \Phi} h(\Phi)\end{bmatrix}$$ Performing the multiplication, the product rule is obtained: $$\frac{\partial}{\partial \Phi} (g(\Phi) \circ h(\Phi)) = \frac{\partial}{\partial \Phi} g(\Phi) + \boldsymbol{C}(g(\Phi)) \frac{\partial}{\partial \Phi} h(\Phi)$$ Returning back to the problem of computing $$\frac{\partial}{\partial \Phi}\left(\Phi \circ \exp (\varphi) \circ \Phi^{-1}\right)$$, take $$g=\Phi$$ and $$h= \exp (\varphi) \circ \Phi^{-1}$$: \begin{align*} \frac{\partial}{\partial \Phi}\left(\Phi \circ \exp (\varphi) \circ \Phi^{-1}\right) &= \frac{\partial}{\partial \Phi} \Phi + \boldsymbol{C}(\Phi) \frac{\partial}{\partial \Phi} ( \exp (\varphi) \circ \Phi^{-1} ) \\ &= \boldsymbol{I} + \boldsymbol{C}(\Phi) ( \boldsymbol{C}(\varphi) \frac{\partial}{\partial \Phi} \Phi^{-1}) \\ \\ &= \boldsymbol{I} - \boldsymbol{C}(\Phi) \boldsymbol{C}(\varphi) \boldsymbol{C}(\Phi)^{T} \tag*{(identity (28)) } \end{align*} Which is the result presented in the paper.
• Fantastic, thank you very much for such a clear answer. I have suggested a minor edit, in order to make the order of the composition consistent (using $g \circ h$ all throughout).