4
$\begingroup$

Consider $\phi:SO(3) \to \mathbb{R}^3$, $R \mapsto (R^\top e_3)\times e_3$ where $R$ is a real $3\times 3$ orthogonal matrix and $e_3 = [0\ 0\ 1]^\top$.

Can Mathematica compute the differential of $\phi$ on the manifold?

One way to do that by hand is to consider a curve $t\mapsto R(t)$ over $SO(3)$. Derivating $R(t)^\top R(t) = I_3$ yields $\dot R^\top R = - R^\top \dot R$ so, there exists a skew-symmetric matrix $\hat\omega$ such that $\dot R = R\hat\omega$ ($\ \hat{}$ is the hat operator) and it can be shown that $$\dfrac{d}{dt}(R^\top(t)e_3\times e_3)=\begin{bmatrix} R_{33} & 0 & -R_{31} \\ 0 & R_{33} & -R_{32} \\ 0 & 0 & 0 \end{bmatrix}\omega$$ so the differential, that I would like Mathematica to find, is the matrix above. Is there any way to do that?

Edit One strategy is do use the "hand" approach, but with MMA:

e3={0,0,1};
phi[R_]:=Cross[Transpose[R].e3,e3]
R[t_]=Map[#[t]&,Array[r,{3,3}],{2}];
D[phi1[R[t]],t]
(* {r[3,2]'[t],-r[3,1]'[t],0} *)

and then eliminate the r[i,j]'[t] using the equality $\dot R = R \hat \omega$:

hat[vec_]:={{0,-vec[[3]],vec[[2]]},{vec[[3]],0,-vec[[1]]},{-vec[[2]],vec[[1]],0}}
omega={w1,w2,w3};
l=D[phi[R[t]],t]/.Thread[Flatten[R'[t]]->Flatten[R[t].hat[omega]]]
Normal@CoefficientArrays[l, omega][[2]]//MatrixForm
(* gives the right matrix: {{r[3,3][t], 0, -r[3,1][t]},...} *)

Is there a more robust approach?

$\endgroup$
1
  • $\begingroup$ I give up on this for the moment. In priciple, you should be able to compute what you want by: (i) translating the differential at point $R$ to $1 \in \operatorname{SO}(3)$ by using the linearized group action; (ii) antisymmetrization (orthogonal projecting onto $T_1 \operatorname{SO}(3)$), (iii) translating the differential back to point $R$ by using the linearized group action. $\endgroup$ Commented Jul 16, 2019 at 15:44

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.