I have been looking into Lie algebra in order to compute an optimization to figure out the rigid transformation of a set of points.
For now, I have calculated the transformation given an axis-angle representation of a rotation $w$ and a translation $t$:
$T = \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} e^{[w]_+} & t \\ 0 & 1 \end{bmatrix} $
where $e^{[w]_+} = I + \frac{sin\theta}{\theta}[w]_+ + \frac{1 - cos\theta}{\theta^2}[w]_+^2$
and $[w]_+ = \begin{bmatrix} 0 & w_z & -w_y \\ -w_z & 0 & w_x \\ w_y & -w_x & 0 \end{bmatrix} = $
$= w_x \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & -1 & 0 \end{bmatrix} + w_y \begin{bmatrix} 0 & 0 & -1 \\ 0 & 0 & 0 \\ 1 & 0 & 0 \end{bmatrix} + w_z \begin{bmatrix} 0 & 1 & 0 \\ -1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}$
This seems to be the correct transformation, since I get the same transformation as with traditional methods.
However, now I am trying to calculate the derivative of this transformation with respect to each $w_i$. In my calculations, I get that the derivative of the transformation with respect to $w_x$ is:
$\frac{\partial T}{\partial w_x} = \begin{bmatrix} \frac{\partial R}{\partial w_x} & 0 \\ 0 & 0 \end{bmatrix}$
$\frac{\partial R}{\partial w_x} = \frac{\partial e^{[w]_+}}{\partial w_x} = e^{[w]_+} \frac{\partial [w]_+}{\partial w_x} = R \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & -1 & 0 \end{bmatrix}$
However this doesn't seem to be correct, since I'm doing a numerical check and it comes out different. Any clue on what I am doing wrong?
Note: my numercial check is
$\frac{\partial R}{\partial w_x} = \frac{R(w+[\epsilon, 0, 0]) - R(w)}{\epsilon}$