回転行列の指数対数(exp, log)写像
$ \begin{aligned} {\boldsymbol R} \left( {\boldsymbol n}, \theta + d \theta \right) & = {\boldsymbol R} \left( {\boldsymbol n}, \theta \right) + \frac{\partial \boldsymbol R}{\partial \theta} d \theta + o ( d\theta^2) \\ & = \left( {\boldsymbol I} + \frac{\partial \boldsymbol R}{\partial \theta} {\boldsymbol R}^\top d \theta \right) {\boldsymbol R} + o ( d \theta^2 ) \end{aligned}
となる.
一方で$ \thetaによる偏導関数は
$ \frac{\partial \boldsymbol R}{\partial \theta} = - \sin \theta {\boldsymbol I} + \sin \theta ~ {\boldsymbol n}{\boldsymbol n}^\top + \cos \theta ~ {\rm skew} \left( {\boldsymbol n} \right)
であり,$ {\boldsymbol R}^\top = \cos \theta {\boldsymbol I} + ( 1 - \cos \theta) {\boldsymbol n} {\boldsymbol n}^\top - \sin \theta ~ {\rm skew}({\boldsymbol n})を左から掛けて
$ \frac{\partial \boldsymbol R}{\partial \theta} {\boldsymbol R}^\top = {\rm skew} ( {\boldsymbol n})
が得られる.導出は略したが,$ {\rm skew}({\boldsymbol n})^2 = {\boldsymbol n}{\boldsymbol n}^\top - {\boldsymbol I}, $ {\rm skew}({\boldsymbol n}) {\boldsymbol n}{\boldsymbol n}^\top = 0を用いる
( $ {\rm skew} 演算子,あるいは $ \hat {\boldsymbol n} については see: Skew 外積行列). あるいは,天下り的に
$ {\rm skew} \left( {\boldsymbol n} \right){\boldsymbol R} = \cos \theta ~ {\rm skew} \left( {\boldsymbol n} \right) + \left( 1 - \cos \theta \right) \underbrace{ {\rm skew} \left( {\boldsymbol n} \right) ~ {\boldsymbol n}{\boldsymbol n}^\top }_{0} + \sin \theta ~ \underbrace{ {\rm skew} \left( {\boldsymbol n} \right)^2 }_{ {\boldsymbol n} {\boldsymbol n}^\top - {\boldsymbol I} } = \frac{\partial \boldsymbol R}{\partial \theta}.
以上より,$ {\boldsymbol R}の高階微分は,
$ \begin{aligned} \frac{\partial {\boldsymbol R}}{\partial \theta} & = {\rm skew} ( {\boldsymbol n} ) {\boldsymbol R} \\ \frac{\partial^2 {\boldsymbol R}}{\partial \theta^2} & = {\rm skew} ( {\boldsymbol n} )^2 {\boldsymbol R} = \left( {\boldsymbol n}{\boldsymbol n}^\top - {\boldsymbol I} \right) {\boldsymbol R} \\ \frac{\partial^3 {\boldsymbol R}}{\partial \theta^3} & = {\rm skew} ( {\boldsymbol n} )^3 {\boldsymbol R} = - {\rm skew} ( {\boldsymbol n} ) {\boldsymbol R} \\ & \vdots \end{aligned}
となる.
よって,$ {\boldsymbol R}の$ \theta周りでのテイラー展開は(面倒なので$ {\boldsymbol R} \left( {\boldsymbol n}, \theta \right) = {\boldsymbol R}と書く),
$ \begin{aligned} {\boldsymbol R} \left( {\boldsymbol n} , \theta + \theta' \right) & = {\boldsymbol R} + {\rm skew} ( {\boldsymbol n} ) {\boldsymbol R} \theta' + \frac{ {\rm skew} ( {\boldsymbol n} )^2 }{2!} {\boldsymbol R} \theta'^2 + \frac{ {\rm skew} ( {\boldsymbol n} )^3 }{3!} {\boldsymbol R} \theta'^3 + \cdots \\ & = \left( \sum^{\infty}_{k=0} \frac{ \left( \theta' ~ {\rm skew} ( {\boldsymbol n} ) \right)^k }{k!} \right) {\boldsymbol R} \\ & = e^{ \theta' {\rm skew} ( {\boldsymbol n}) } {\boldsymbol R} \end{aligned}
となる.ここで,行列の指数関数は級数$ e^{\boldsymbol A} = \sum^{\infty}_{k=0} \frac{ {\boldsymbol A}^k }{k!}で定義される.
$ \theta = 0周りでのマクローリン展開は
$ \begin{aligned} {\boldsymbol R} \left( {\boldsymbol n} , \theta \right) & = {\boldsymbol I} + {\rm skew} ( {\boldsymbol n} ) \theta + \frac{ {\rm skew} ( {\boldsymbol n} )^2 }{2!} \theta^2 + \frac{ {\rm skew} ( {\boldsymbol n} )^3 }{3!} \theta^3 + \cdots \\ & = \sum^{\infty}_{k=0} \frac{ \left( \theta ~ {\rm skew} ( {\boldsymbol n} ) \right)^k }{k!} \\ & = e^{ \theta {\rm skew} ( {\boldsymbol n}) } \end{aligned}
となる.
ちなみに,$ \sin \thetaと$ \cos \thetaのテイラー展開をロドリゲスの公式に代入しても$ {\boldsymbol R}の指数関数による表現が得られる.
回転ベクトル$ \omega = \theta {\boldsymbol n}と$ \hat{\omega} = {\rm skew} (\omega)を用いると,
$ \begin{aligned} {\boldsymbol R} \left( \omega \right) & = \sum^{\infty}_{k=0} \frac{ \left( \hat{\omega} \right)^k }{k!} \\ & = e^{\hat{\omega}} . \end{aligned}
回転ベクトルの skew 行列を exp に与えると回転行列を得ることができた.
これに対する逆演算として,回転行列から回転ベクトルを取り出す演算を log として定義できる.
実数の指数対数と違う点として次に注意:
$ e^{{\boldsymbol \omega}_1 + {\boldsymbol \omega}_2} \neq e^{{\boldsymbol \omega}_1} e^{ {\boldsymbol \omega}_2}
これは行列の積が可換でないから,直感的な説明として,回転ベクトルの足し算と回転の合成は異なるから.
任意の回転行列$ {\boldsymbol Q}に対して,
$ {\rm Skew }(\omega) = {\boldsymbol Q}^\top {\rm Skew} ( {\boldsymbol Q} \omega ) {\boldsymbol Q}
$ {\boldsymbol R}(\omega) = \sum^{\infty}_{k=0} \frac{ \left( {\rm Skew}(\omega) \right)^k }{k!} = \sum^{\infty}_{k=0} \frac{ \left( {\boldsymbol Q}^\top {\rm Skew}( {\boldsymbol Q} \omega ) {\boldsymbol Q} \right)^k }{k!}= {\boldsymbol Q}^\top \sum^{\infty}_{k=0} \frac{ \left( {\rm Skew}( {\boldsymbol Q} \omega ) \right)^k }{k!} {\boldsymbol Q} = {\boldsymbol Q}^\top {\boldsymbol R}({\boldsymbol Q}\omega) {\boldsymbol Q}
が成り立つ(回転ベクトルを座標変換して,回転行列を作り,もとの座標に戻す作業とみなせる).